0Pricing
AWS Solutions Architect · Aula

Pilares de confiabilidade e eficiência de desempenho

Projete para recuperação automática, escalonamento horizontal e gerenciamento de capacidade; escolha os tipos de recursos adequados e monitore-os para manter o desempenho ao longo do tempo.

Pilares de confiabilidade e eficiência de desempenho é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

Visão geral do pilar de Confiabilidade

O pilar de Confiabilidade do Well-Architected Framework garante que uma carga de trabalho execute sua função prevista de forma correta e consistente quando necessário. A confiabilidade abrange três áreas: fundamentos (cotas de serviço e topologia de rede), arquitetura da carga de trabalho (sistemas distribuídos e prevenção de pontos únicos de falha) e gerenciamento de alterações e falhas (monitoramento, escalabilidade e recuperação de falhas). O objetivo é criar sistemas que se recuperem automaticamente de interrupções na infraestrutura ou nos serviços.

# Reliability design principles:
# 1. Automatically recover from failure
# 2. Test recovery procedures
# 3. Scale horizontally to increase availability
# 4. Stop guessing capacity (use auto scaling)
# 5. Manage change in automation (IaC + CI/CD)

# Key AWS services for reliability:
# - Auto Scaling Groups
# - Elastic Load Balancing
# - Route 53 health checks
# - AWS Backup

Limites e cotas de serviço

A AWS aplica cotas de serviço (antes chamadas de limites) aos recursos para proteger todos os clientes. Por exemplo, há limites padrão para instâncias do EC2 por região, limites de VPC e execuções simultâneas do Lambda. Se sua carga de trabalho atingir uma cota inesperadamente, as solicitações serão limitadas ou rejeitadas, causando falhas de confiabilidade. Use o console do Service Quotas ou a CLI para consultar os limites atuais e solicitar aumentos antes que sejam necessários. Monitore as métricas de uso para detectar quando você estiver se aproximando dos limites, antes que eles afetem a disponibilidade.

# List service quotas for EC2
aws service-quotas list-service-quotas \
  --service-code ec2 \
  --query 'Quotas[?QuotaName==`Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances`]'

# Request quota increase
aws service-quotas request-service-quota-increase \
  --service-code ec2 \
  --quota-code L-1216C47A \
  --desired-value 500

Recuperação automática de falhas

O pilar de Confiabilidade enfatiza a recuperação automática sem intervenção humana. A AWS oferece vários mecanismos de autocorreção: o EC2 Auto Recovery restaura automaticamente uma instância no mesmo hardware ou a move para um hardware íntegro quando ela falha nas verificações subjacentes. As verificações de integridade do ASG encerram instâncias não íntegras e iniciam substitutas. O RDS Multi-AZ executa automaticamente o failover para a instância em espera. Projete sua arquitetura para que a maioria dos cenários de falha acione ações de recuperação automática registradas nos alarmes do CloudWatch.

# CloudWatch alarm to auto-recover a specific EC2 instance
aws cloudwatch put-metric-alarm \
  --alarm-name EC2-auto-recover \
  --metrics '[{"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/EC2","MetricName":"StatusCheckFailed_System","Dimensions":[{"Name":"InstanceId","Value":"i-12345"}]},"Period":60,"Stat":"Maximum"}}]' \
  --comparison-operator GreaterThanThreshold \
  --threshold 0 \
  --evaluation-periods 2 \
  --alarm-actions 'arn:aws:automate:us-east-1:ec2:recover'

Escalabilidade horizontal para confiabilidade

O pilar de Confiabilidade recomenda escalar horizontalmente (adicionar mais instâncias menores) em vez de verticalmente (aumentar para instâncias maiores) para obter mais confiabilidade. Uma única instância grande é um ponto único de falha. Muitas instâncias menores atrás de um balanceador de carga fazem com que qualquer falha individual tenha impacto mínimo. O AWS Auto Scaling ajusta automaticamente o tamanho da frota para atender à demanda, garantindo que você tenha capacidade suficiente e não pague por recursos ociosos durante períodos de baixa atividade.

# Horizontal scaling: 10 t3.medium vs 1 r5.4xlarge
# 10 t3.medium:
#   - Failure of 1 = loss of 10% capacity
#   - ASG launches replacement automatically
#   - 9 instances absorb load during replacement

# 1 r5.4xlarge:
#   - Failure = 100% downtime until instance recovered
#   - Much higher RTO (new instance launch: 1-3 min)

# Prefer horizontal scaling for stateless tiers

Testes para garantir a confiabilidade

O pilar de Confiabilidade exige testar os procedimentos de recuperação — não presumir que eles funcionam. Use o AWS Fault Injection Simulator (FIS) para injetar falhas no sistema de forma controlada: encerrar instâncias aleatórias do EC2, limitar chamadas de API e inserir latência de rede. Execute esses experimentos em produção (com proteções) para validar se o monitoramento detecta as falhas, o escalonamento automático responde e a recuperação é concluída dentro do seu RTO. Procedimentos de recuperação não testados frequentemente falham sob o estresse de um incidente real.

# AWS FIS experiment: terminate random instance
aws fis create-experiment-template \
  --description 'Chaos: terminate 1 of 5 instances' \
  --targets '{"instanceTargets":{"resourceType":"aws:ec2:instance","selectionMode":"COUNT(1)","resourceTags":{"Env":"production"}}}' \
  --actions '{"terminateInstance":{"actionId":"aws:ec2:terminate-instances","targets":{"Instances":"instanceTargets"}}}' \
  --stop-conditions '[{"source":"aws:cloudwatch:alarm","value":"arn:aws:cloudwatch::123:alarm:high-error-rate"}]'

Visão geral do pilar de Eficiência de desempenho

O pilar de Eficiência de desempenho concentra-se no uso eficiente dos recursos computacionais para atender aos requisitos do sistema e manter essa eficiência à medida que a demanda muda e as tecnologias evoluem. Princípios fundamentais de design: democratizar tecnologias avançadas — usar serviços gerenciados (RDS, SageMaker) em vez de criá-los do zero. Alcançar escala global em minutos — implantar em várias regiões com o CloudFormation. Usar arquiteturas sem servidor — eliminar o gerenciamento da infraestrutura. Experimentar com mais frequência — testar diferentes tipos e configurações de instância.

# Performance Efficiency areas:
# Selection:   Right compute, storage, database, network
# Review:      Continuously evaluate new services
# Monitoring:  CloudWatch metrics guide decisions
# Trade-offs:  Consistency vs performance, latency vs cost

# Example: choosing between services
# RDS vs DynamoDB vs Aurora vs ElastiCache
# → depends on access patterns, consistency needs, scale

Selecionando a computação adequada

A Eficiência de desempenho começa com a seleção do tipo de computação adequado para sua carga de trabalho. O EC2 tem dezenas de famílias de instâncias otimizadas para diferentes casos de uso: c-series para tarefas com uso intensivo de computação (codificação de vídeo e processamento em lote), r-series para tarefas com uso intensivo de memória (bancos de dados em memória e armazenamento em cache), i-series para tarefas com uso intensivo de armazenamento (NoSQL e armazenamento de dados) e p/g-series para cargas de trabalho de GPU (treinamento de ML). Usar o tipo de instância errado significa pagar por uma capacidade que você não consegue utilizar ou prejudicar o desempenho.

# AWS Compute Optimizer: get right-size recommendations
aws compute-optimizer get-ec2-instance-recommendations \
  --instance-arns arn:aws:ec2:us-east-1:123:instance/i-12345

# Output shows:
# - Current instance utilisation (CPU, memory, network)
# - Recommended instance type
# - Estimated monthly savings
# - Performance risk of changing

# Lambda: match memory to actual usage
# Use Lambda Power Tuning tool for memory optimisation

Armazenamento em cache para eficiência de desempenho

O armazenamento em cache é uma técnica fundamental de eficiência de desempenho que reduz a latência e a carga do banco de dados. O ElastiCache (Redis/Memcached) armazena resultados de consultas ao banco de dados na memória, permitindo acesso em milissegundos. O CloudFront armazena respostas HTTP em locais de borda próximos aos usuários. O armazenamento em cache do API Gateway reduz as invocações do Lambda ao armazenar respostas de API. O DAX (DynamoDB Accelerator) adiciona um cache em memória de microssegundos na frente do DynamoDB. Escolha a camada de cache adequada com base na localização do gargalo — banco de dados, API ou entrega na borda.

# DAX cluster for DynamoDB microsecond latency
aws dax create-cluster \
  --cluster-name my-dax \
  --node-type dax.r6g.large \
  --replication-factor 3 \
  --iam-role-arn arn:aws:iam::123:role/DAXRole \
  --subnet-group my-dax-subnet-group

# Application connects to DAX endpoint
# Cache hits: microseconds
# Cache misses: fetches from DynamoDB and caches result

Armazenamento adequado para o desempenho

A escolha do armazenamento afeta significativamente o desempenho. O io2 Block Express EBS fornece até 256.000 IOPS para bancos de dados de alto desempenho. O gp3 é o padrão para a maioria das cargas de trabalho, com custo menor. O armazenamento de instância fornece os maiores IOPS (NVMe) para dados temporários. O S3 escala para milhares de solicitações por segundo no armazenamento de objetos. O EFS fornece acesso compartilhado a arquivos POSIX. Combine o armazenamento ao padrão de E/S: leituras sequenciais se beneficiam do st1 (HDD otimizado para Throughput), enquanto E/S aleatórias exigem volumes SSD.

# EBS volume performance characteristics:
# gp3: 3,000-16,000 IOPS, 125-1,000 MB/s
# io2: 100-64,000 IOPS (up to 256k with Block Express)
# st1: 40-500 MB/s sequential throughput (HDD)
# sc1: 12-250 MB/s (cheapest, cold workloads)

# Create high-performance io2 volume
aws ec2 create-volume \
  --availability-zone us-east-1a \
  --volume-type io2 \
  --size 500 \
  --iops 50000

Monitoramento de desempenho e melhoria contínua

A Eficiência de desempenho não é uma decisão única — você deve monitorar continuamente as métricas de desempenho e reavaliar suas escolhas à medida que a AWS lança novos serviços. Use painéis do CloudWatch para acompanhar os percentis de latência p50, p90 e p99 (não apenas médias, que ocultam a latência da cauda). Use rastreamentos do X-Ray para identificar as partes mais lentas de uma cadeia de solicitações. Configure a detecção de anomalias do CloudWatch para estabelecer automaticamente uma linha de base e alertar sobre desvios anormais de desempenho. Consulte regularmente os anúncios da AWS — tipos de instância mais novos frequentemente oferecem melhor desempenho a um custo menor.

# CloudWatch: track API response latency percentiles
aws cloudwatch put-metric-alarm \
  --alarm-name 'API-P99-Latency' \
  --metric-name TargetResponseTime \
  --namespace AWS/ApplicationELB \
  --extended-statistic p99 \
  --dimensions Name=LoadBalancer,Value=app/my-alb/xxx \
  --period 60 \
  --evaluation-periods 5 \
  --threshold 2.0 \
  --comparison-operator GreaterThanThreshold

Compensações na eficiência de desempenho

A Eficiência de desempenho às vezes exige compensações com outros pilares. Adicionar um cache (ElastiCache) melhora o desempenho, mas aumenta a complexidade operacional (uma compensação com a Excelência operacional) e o custo (uma compensação com a Otimização de custos). Usar o DynamoDB em vez do RDS melhora o desempenho em escala, mas exige o redesenho do seu modelo de dados (um esforço de Excelência operacional). O Well-Architected Framework reconhece essas compensações e solicita que você as faça conscientemente, documentando a justificativa. Em questões de prova, procure a opção que atinge os objetivos de desempenho com a menor sobrecarga operacional.

# Common performance vs cost trade-offs:
# Cache:         +Performance, +Cost, +Complexity
# Read Replicas: +Read performance, +Cost
# SSD vs HDD:    +IOPS, +Cost
# Multi-region:  -Latency for users, +Cost, +Complexity

# Common performance vs consistency trade-offs:
# DynamoDB eventually consistent reads: +Throughput, -Consistency
# Aurora Reader endpoint: +Read scale, potential replication lag

Verificação rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: Confiabilidade exige recuperação automática, escalabilidade horizontal e testes regulares de falhas; Eficiência de desempenho exige selecionar o tipo adequado de computação, armazenamento e banco de dados para cada carga de trabalho; e o armazenamento em cache em várias camadas reduz a latência e a carga do banco de dados. Ambos os pilares exigem monitoramento contínuo e disposição para reavaliar as decisões de arquitetura. A seguir, exploraremos os pilares de Otimização de custos e Sustentabilidade.

Perguntas Frequentes

A aula “Pilares de confiabilidade e eficiência de desempenho” é grátis?

Sim — o texto completo de “Pilares de confiabilidade e eficiência de desempenho” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Pilares de confiabilidade e eficiência de desempenho”?

Projete para recuperação automática, escalonamento horizontal e gerenciamento de capacidade; escolha os tipos de recursos adequados e monitore-os para manter o desempenho ao longo do tempo. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Pilares de confiabilidade e eficiência de desempenho”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Pilares de excelência operacional e segurança
  2. Pilares de confiabilidade e eficiência de desempenho
  3. Pilares de otimização de custos e sustentabilidade
  4. AWS Well-Architected Tool e processo de revisão
← Voltar para AWS Solutions Architect