Serviço de object storage da AWS, padrão de facto para armazenamento em nuvem com durabilidade de 99.999999999%.
Amazon Simple Storage Service (S3) é um serviço de object storage oferecido pela Amazon Web Services (AWS). Projetado para oferecer 99.999999999% (11 9's) de durabilidade, S3 é usado para armazenar e recuperar qualquer quantidade de dados de qualquer lugar na web.
Lançado em março de 2006, Amazon S3 foi um dos primeiros serviços da AWS e revolucionou o conceito de cloud storage. Tornou-se o padrão de facto para object storage na nuvem, influenciando o desenvolvimento de APIs compatíveis em outras plataformas.
S3 usa uma arquitetura de object storage onde dados são organizados em buckets (containers) e objects (arquivos). Cada object é identificado por uma chave única dentro do bucket. A infraestrutura é distribuída globalmente em múltiplas regiões AWS.
Standard, IA, Glacier, Deep Archive para diferentes padrões de acesso.
Transição automática entre classes de storage baseada em regras.
Manutenção de múltiplas versões do mesmo object.
Replicação automática entre regiões AWS.
Tamanho Máximo de Object: | 5 TB |
Número de Objects por Bucket: | Ilimitado |
Durabilidade: | 99.999999999% (11 9's) |
Disponibilidade: | 99.99% (Standard) |
Regiões Disponíveis: | 25+ regiões globalmente |
Armazenamento central para analytics e machine learning com dados estruturados e não estruturados.
Exemplo: Netflix armazena petabytes de dados de visualização para recomendações.Armazenamento seguro e durável para backups críticos e disaster recovery.
Exemplo: Empresas usam Glacier para arquivamento de longo prazo.Hospedagem de websites estáticos e distribuição de conteúdo global.
Exemplo: Airbnb hospeda milhões de imagens de propriedades.# Instalar AWS CLI
pip install awscli
# Configurar credenciais
aws configure
# Criar bucket
aws s3 mb s3://meu-bucket-exemplo
# Upload de arquivo
aws s3 cp arquivo.txt s3://meu-bucket-exemplo/
# Listar objetos
aws s3 ls s3://meu-bucket-exemplo/
import boto3
# Criar cliente S3
s3 = boto3.client('s3')
# Upload de arquivo
s3.upload_file('local-file.txt', 'meu-bucket', 'remote-file.txt')
# Download de arquivo
s3.download_file('meu-bucket', 'remote-file.txt', 'downloaded-file.txt')
# Listar objetos
response = s3.list_objects_v2(Bucket='meu-bucket')
for obj in response.get('Contents', []):
print(obj['Key'])
# Configurar lifecycle policy
lifecycle_config = {
'Rules': [{
'ID': 'MoveToIA',
'Status': 'Enabled',
'Transitions': [{
'Days': 30,
'StorageClass': 'STANDARD_IA'
}]
}]
}
s3.put_bucket_lifecycle_configuration(
Bucket='meu-bucket',
LifecycleConfiguration=lifecycle_config
)
# Criar bucket S3
resource "aws_s3_bucket" "data_lake" {
bucket = "minha-empresa-data-lake"
}
# Configurar versioning
resource "aws_s3_bucket_versioning" "data_lake_versioning" {
bucket = aws_s3_bucket.data_lake.id
versioning_configuration {
status = "Enabled"
}
}
# Configurar lifecycle
resource "aws_s3_bucket_lifecycle_configuration" "data_lake_lifecycle" {
bucket = aws_s3_bucket.data_lake.id
rule {
id = "transition_to_ia"
status = "Enabled"
transition {
days = 30
storage_class = "STANDARD_IA"
}
transition {
days = 90
storage_class = "GLACIER"
}
}
}
Tecnologia | Performance | Facilidade de Uso | Comunidade | Licença |
---|---|---|---|---|
Amazon S3 | ★★★★★ | ★★★★★ | ★★★★★ | Commercial |
Google Cloud Storage | ★★★★☆ | ★★★★☆ | ★★★★☆ | Commercial |
Azure Blob Storage | ★★★★☆ | ★★★★☆ | ★★★★☆ | Commercial |
MinIO | ★★★★☆ | ★★★★☆ | ★★★☆☆ | Apache 2.0 |
Escolha Amazon S3 se você já usa AWS ou planeja usar outros serviços AWS. É a opção mais madura e confiável para object storage na nuvem, com ecossistema robusto e suporte empresarial.