Usar Cloudflare R2 como armazenamento para microsserviços
Quando na execução de um microsserviço é necessário "chamar" um arquivo, seja para copiá-lo, baixá-lo ou escrever nele, é muito importante escolher a localização correta deste. Em ambientes de trabalho presencial, sem usuários trabalhando, em mobilidade ou de casa, a opção mais segura e simples consiste em utilizar um armazenamento acessível por todos os dispositivos da rede corporativa; no entanto, em cenários onde há dispositivos em mobilidade que não podem acessar remotamente ao repositório da rede corporativa pode ser necessário optar por um design de repositório de acesso público e seguro.
Suponhamos que queremos instalar um aplicativo em todos os dispositivos independentemente de estarem em casa, em mobilidade ou na rede do escritório. Para nos ajudar a cumprir esse tipo de requerimento, existem múltiplas opções de serviços em nuvem, onde o Cloudflare atua como um proxy de segurança e desempenho entre os usuários e os servidores. Seus principais serviços (CDN e proteção DDoS) fazem qualquer coisa na internet ser mais rápida, segura e confiável.
R2 é o seu serviço de armazenamento de objetos na nuvem (similar ao Amazon S3) que se distingue por sua política de zero tarifas de saída (egress fees), permitindo também contas gratuitas com condições mais do que suficientes, inclusive, para ambientes produtivos.
Para poder utilizá-lo é necessário:
- Criar uma conta associada a um email seguindo os passos deste link: https://developers.cloudflare.com/fundamentals/account/create-account/
- Ao terminar, deve-se verificar o email associado. Se não recebeu o email, lembre-se de verificar sua pasta de spam.
- Uma vez criada e ativada a conta, deve-se ativar o R2 no menu de usuário/billing/subscriptions. Pedirá uma forma de pagamento para os excessos, mas é grátis cumprindo certas condições.
As contas gratuitas do R2 incluem:
Grátis | |
---|---|
Armazenamento | 10 GB por mês |
Operações de classe A | 1 milhão de solicitações por mês |
Operações de classe B | 10 milhões de solicitações por mês |
Saída (transferência de dados para a Internet) | Grátis 1 |
Todos os detalhes disponíveis em: https://developers.cloudflare.com/r2/pricing/#free-tier
Enviar arquivos
Para poder hospedar e utilizar os arquivos enviados será necessário:
- Criar um bucket.
- Dentro do bucket, há um botão chamado
Upload
que permite enviar arquivos.
Estabelecer formas de acesso
Cloudflare permite diversas formas de acesso como:
Para fins demonstrativos, neste artigo utilizaremos Buckets públicos.
Acessar os arquivos a partir de microsserviços
Cada arquivo enviado ao R2 gera um link único em suas propriedades. É possível vê-lo clicando no arquivo:
Esse link permite obter o arquivo a partir do microsserviço usando, por exemplo, o cmdlet Invoke-WebRequest
do PowerShell ou simplesmente pedindo a um microsserviço criado com IA com instruções que incluam a URL de download:
É recomendável sempre, se não estiver utilizando a criação de microsserviços com IA, registrar os marcos na execução para que, em caso de algum erro ou mau funcionamento, seja mais fácil identificar o problema: