As principais razões pelas quais o escolhemos em detrimento de outras alternativas são:
- É orientado para SaaS, o que significa que para começar a armazenar dados basta criar um bucket. Não precisamos nos preocupar com espaço de armazenamento, escalabilidade da infraestrutura, disponibilidade de dados, persistência de dados, entre muitas outras preocupações relacionadas à infraestrutura.
- Cumpre diversas certificações da ISO e CSA. Muitas dessas certificações têm como objetivo garantir que a entidade siga as melhores práticas em relação a ambientes seguros baseados em nuvem e segurança da informação.
- Os recursos podem ser escritos como código usando Terraform.
- Suporta hospedagem estática de sites, permitindo-nos hospedar facilmente sites como nosso site e nossa documentação.
- Sua hospedagem estática de sites fornece endpoints diretos, o que significa que não é necessário lidar com balanceadores de carga e endereços IP estáticos para expor um site à Internet.
- Pode ser facilmente integrado ao Cloudflare, permitindo-nos implementar DNS, edge cache, redirecionamentos, cabeçalhos de segurança, entre muitos outros recursos do Cloudflare.
- Suporta URLs pré-assinados que podem ser usados ​​para criar links de download assinados que só podem ser acessados ​​pelo usuário com a chave gerada. Esses links podem ter uma data de validade. Esse recurso reduz bastante a chance de vazamento de dados.
- Suporta versionamento, permitindo manter um histórico completo de todos os objetos armazenados.
- Suporta ciclo de vida de armazenamento, permitindo declarar políticas para arquivos expirados e movê-los para diferentes classes de armazenamento.
- Ele pode ser acessado programaticamente usando a AWS CLI e outras bibliotecas específicas de linguagem, como o Boto3 do Python, permitindo-nos conectar nossos aplicativos a ele.
- Pode ser usado pelo Terraform como backend para armazenar seu estado.
- Suporta criptografia AES256 no lado do servidor.
- Suporta listas de controle de acesso com granularidade a nível de objeto, permitindo ter controle total sobre privilégios de acesso a objetos.
- Suporta políticas de bucket, que são especialmente úteis ao tornar um bucket acessível apenas a partir de um CDN, a fim de evitar o desvio do CDN.
- Suporta Storage Lens, um módulo analítico para visualizar insights e tendências e otimizar o uso.
- Google Cloud Storage: Não existia na época em que migramos para a nuvem. Ele não fornece endpoints diretos, o que significa que balanceadores de carga e endereços IP estáticos são necessários para expor um site à Internet.
- Azure Blob Storage: Não existia no momento em que migramos para a nuvem. Pendente para revisão.
Usamos AWS S3 para:
- Servindo ambientes Docs.
- Atendendo ambientes Airs.
- Atendendo ambientes frontais ARM.
- Criação de URLs assinados ARM
- Armazenar recursos ARM, evidências, relatórios e análises.
- Armazenando treinamentos de classificação.
- Armazenamento de dados do Skims.
- Armazenando cache de CI do GitLab.
- Armazenando estados do Terraform.
Não usamos AWS S3 para:
- Armazenamento de multimídia para nossos sites, como imagens e vídeos. Em vez disso, usamos Cloudinary.