A modernizacao da arquitetura e o coracao do Dominio D4 do SAP-C02. Ele avalia sua capacidade de transformar aplicacoes monoliticas em arquiteturas serverless, baseadas em conteineres e orientadas a eventos, e de selecionar bancos de dados de proposito especifico para cada carga de trabalho.
O ponto de partida da modernizacao nao e "O que precisa mudar?" mas sim "Quais restricoes da arquitetura atual estao bloqueando os objetivos de negocio?" Voce deve primeiro identificar se escalabilidade, carga operacional, custo ou velocidade de desenvolvimento precisam ser abordados.
Serverless — Lambda e API Gateway
O Lambda executa codigo sem gerenciamento de servidores. Nao ha custos quando nenhuma solicitacao esta sendo processada e ele escala horizontalmente de forma automatica. Porem, o limite maximo de tempo de execucao de 15 minutos significa que tarefas de longa duracao requerem ECS Fargate ou EC2.
Reserved Concurrency define um limite maximo de concorrencia por funcao para evitar que uma unica funcao monopolize o pool de concorrencia regional (proposito de isolamento). Provisioned Concurrency pre-inicializa instancias para eliminar cold starts (proposito de desempenho).
O padrao de arquitetura web completamente serverless e CloudFront + S3 (hospedagem estatica) + API Gateway + Lambda + DynamoDB. Se EC2 ou Fargate estiver incluido, nao e mais completamente serverless.
O API Gateway suporta APIs REST e WebSocket. A API WebSocket gera automaticamente um connectionId e lida com centenas de milhares de conexoes simultaneas. A API envia mensagens ativamente do servidor para clientes especificos.
Conteineres — ECS vs EKS, Fargate vs tipo de lancamento EC2
O ECS e o orquestrador de conteineres nativo da AWS, mais simples operacionalmente. O EKS fornece Kubernetes como um servico completamente gerenciado para necessidades avancadas.
O tipo de lancamento Fargate executa conteineres sem gerenciar a infraestrutura do cluster. Somente o Lambda e completamente serverless; o Fargate ainda tem uma camada de conteiner.
Lambda para tarefas curtas e intermitentes (max 15 min), Fargate para servicos sempre ativos ou processamento de longa duracao.
!ECS vs EKS
Bancos de dados de proposito especifico — DynamoDB, Aurora Serverless, ElastiCache
O DynamoDB e um banco de dados NoSQL completamente serverless com respostas de um digito em milissegundos e escalonamento automatico. O modo On-demand lida com o trafego automaticamente sem provisionamento previo.
DynamoDB Streams + Lambda + SNS e o padrao para processamento de eventos em tempo real. O Streams captura mudancas a nivel de item por ate 24 horas; o Lambda faz polling automatico e o SNS envia notificacoes.
DAX e especifico do DynamoDB e nao pode ser aplicado ao Aurora (usar ElastiCache para Aurora).
Desacoplamento — SQS, SNS, EventBridge
SQS Standard: maximo rendimento, sem garantia de ordem, entrega pelo menos uma vez. SQS FIFO: ordem garantida, exatamente uma vez, maximo 300 TPS.
Para resolver problemas de limite de taxa de API, use SQS (o SNS piora os limites ao entregar em paralelo imediatamente).
O EventBridge define regras baseadas em eventos para acionar Lambda, SQS, Step Functions, desacoplando completamente produtores e consumidores de eventos.
Step Functions — Orquestracao de fluxo de trabalho serverless
Standard Workflow: fluxos de trabalho de longa duracao (ate 1 ano), exatamente uma vez, historico de 90 dias. Express Workflow: alta frequencia abaixo de 5 minutos, preco baseado em eventos.
Quando o limite de 15 minutos do Lambda e um problema, use Step Functions + ECS Fargate Tasks com estado Map para processamento paralelo.
O padrao Strangler Fig implementa novas funcionalidades como microsservicos enquanto substitui gradualmente o monolito. O padrao de desacoplamento padrao: S3 + API Gateway + SQS + Lambda.
Pontos-chave do exame
"Arquitetura web completamente serverless" -- CloudFront + S3 + API Gateway + Lambda + DynamoDB
"Isolar funcoes Lambda, evitar monopolizacao do pool regional" -- Reserved Concurrency
"Eliminar cold starts do Lambda" -- Provisioned Concurrency
"Tarefas de longa duracao que excedem 15 minutos do Lambda" -- ECS Fargate
"Push ativo em tempo real do servidor para o cliente" -- API Gateway WebSocket API + API @connections
"Dados nao estruturados, trafego em rajada, armazenamento de sessao" -- DynamoDB On-demand
"Eventos em tempo real sobre mudancas de itens DynamoDB" -- DynamoDB Streams + Lambda
"DAX e especifico do DynamoDB" -- nao pode ser aplicado ao Aurora/RDS (usar ElastiCache para Aurora)
"Ordem garantida de mensagens, processamento exatamente uma vez" -- SQS FIFO
"Resolver limites de taxa de API, buffer de escrita" -- SQS (SNS piora os limites)
"Fluxo de trabalho de varios etapas, longa duracao, trilha de auditoria" -- Step Functions Standard Workflow
"Fluxo de trabalho de alto rendimento em menos de 5 minutos" -- Step Functions Express Workflow
"Decomposicao gradual do monolito" -- padrao Strangler Fig