O que mudou no Amazon Cognito
O Amazon Cognito acaba de receber um conjunto significativo de melhorias — e o que torna essa história interessante é que elas só foram possíveis graças a uma reformulação profunda da infraestrutura interna do serviço. A AWS migrou centenas de milhões de perfis de usuário para uma nova camada de armazenamento, e a grande maioria dos clientes simplesmente não percebeu que isso aconteceu.
Neste artigo, a CloudTroop explica o que foi anunciado, como a nova arquitetura funciona por baixo dos panos e quais lições a própria AWS compartilhou sobre esse processo de modernização em larga escala.
Novas capacidades disponíveis no Cognito
A migração para a nova infraestrutura não foi apenas uma questão de manutenção técnica — ela criou a base para entregar funcionalidades que resolvem problemas reais dos clientes. Três capacidades se destacam:
Alto desempenho para cargas de trabalho exigentes
A nova arquitetura suporta volumes de requisições muito maiores, mantendo a baixa latência que as aplicações modernas exigem. O serviço agora é capaz de suportar dezenas de milhões de usuários por user pool e milhares de transações por segundo (TPS). Isso atende diretamente às demandas de aplicações em escala que antes encontravam limitações no Cognito.
Chaves gerenciadas pelo cliente
Com as chaves gerenciadas pelo cliente, agora é possível usar chaves de criptografia próprias, armazenadas no Serviço de Gerenciamento de Chaves da AWS (AWS KMS), para criptografar dados em repouso. Isso oferece controle aprimorado de segurança e dá ao cliente a propriedade total sobre o ciclo de vida das suas chaves de criptografia — um requisito frequente em ambientes regulados e com políticas de conformidade mais rígidas.
Replicação multi-região
A replicação multi-região permite que os clientes sincronizem todos os dados do seu user pool — incluindo senhas, atributos e configurações — com outro user pool em uma região de sua escolha. Com isso, é possível implementar estratégias de continuidade de negócios e manter a disponibilidade da autenticação mesmo em caso de falha regional, garantindo que as aplicações continuem acessíveis aos usuários durante interrupções inesperadas.
A arquitetura por trás da inovação
A nova infraestrutura do Cognito usa uma camada de armazenamento desenvolvida especificamente para operações de identidade, com foco em extensibilidade e escala. A AWS ancorou as decisões arquiteturais em três princípios orientadores:
- Design centrado em identidade: a camada de armazenamento entende identidades de usuário. Não há lógica de negócio específica de cliente nem generalizações além do gerenciamento de identidade, mantendo o sistema focado, portátil e otimizado.
- Evitar decisões irreversíveis: entregar valor de forma incremental, mantendo as escolhas arquiteturais reversíveis para que o serviço possa evoluir conforme novas necessidades surjam.
- Compatibilidade retroativa: mudanças na infraestrutura subjacente jamais devem quebrar as aplicações dos clientes.
Esses princípios moldaram cada decisão arquitetural do projeto. A nova arquitetura separa o sistema em domínios implantáveis de forma independente. Anteriormente, enquanto o serviço usava o Amazon Cloud Directory, a arquitetura dependia de um único armazenamento de dados para persistir todas as informações dos clientes. Essa abordagem oferecia mecanismos diretos de travessia de dados, mas exigia coordenação entre múltiplos serviços para ajustar o esquema do banco de dados sempre que novos recursos eram necessários.
A nova arquitetura utiliza conjuntos de dados distintos, permitindo que cada um evolua de forma independente e acelerando as iterações de novas funcionalidades.
Migração com zero tempo de inatividade
Migrar usuários em escala exige cuidados extremos. A estratégia adotada pela AWS priorizou tanto a estabilidade imediata quanto a flexibilidade de longo prazo, por meio de quatro camadas de proteção:
Validação em modo sombra
As requisições de API dos clientes foram executadas simultaneamente nas infraestruturas antiga e nova, com comparação de estruturas de resposta, códigos de status e características comportamentais. A validação foi projetada para que informações sensíveis nunca ficassem expostas em texto simples durante as comparações. Variações conhecidas — como pequenas diferenças em timestamps — foram contabilizadas para que apenas discrepâncias significativas gerassem alertas acionáveis.
Preenchimento retroativo de dados
Antes de migrar um user pool para a nova infraestrutura, a AWS realizou um preenchimento em massa de todos os registros de usuários existentes do sistema legado para o novo armazenamento. Esse processo ocorreu em paralelo com o tráfego em produção, com uma arquitetura de escrita dupla capturando qualquer alteração feita durante a janela de migração — garantindo que nenhum dado fosse perdido ou ficasse desatualizado.
Arquitetura de escrita dupla
Todas as operações de identidade foram escritas simultaneamente nos sistemas legado e novo, com validação abrangente para garantir consistência. Mesmo quando uma escrita dupla para a nova infraestrutura falhava, a operação ainda era concluída com sucesso no sistema legado, preservando todas as requisições iniciadas pelos clientes. Isso significa que qualquer falha na escrita dupla era contida como um problema interno de consistência, sem impacto para o cliente.
Validação anti-entropia
Foi implementado um sistema de validação e correção de dados que comparava continuamente os registros entre as infraestruturas antiga e nova, detectando e resolvendo qualquer divergência. As varreduras comparavam atributos de usuário, hashes de credenciais, associações a grupos e configurações, entre outros registros. Quando discrepâncias reais eram encontradas, o sistema as reconciliava automaticamente usando o sistema legado como fonte de verdade. Essa camada conseguiu capturar casos extremos que o modo sombra e as escritas duplas, por si só, não cobriam.
Implantação incremental com capacidade de reversão
Foram estabelecidas fases de implantação controladas com capacidade de reversão imediata. Após migrar um user pool para a nova infraestrutura, a AWS continuou replicando todas as escritas de volta para o sistema legado, garantindo a possibilidade de reverter qualquer user pool à infraestrutura anterior a qualquer momento, sem perda de dados. Se uma reversão fosse necessária durante a migração, um orquestrador reproduzia as entradas em ordem cronológica, sincronizando os perfis de usuário de volta ao sistema legado.
Lições aprendidas para modernização de infraestrutura
A AWS optou por compartilhar os aprendizados desse processo de modernização, reconhecendo que os princípios se aplicam a qualquer projeto de infraestrutura em larga escala. Três lições se destacam:
Padrões de acesso dos clientes guiam as decisões de arquitetura
A análise dos padrões reais de acesso dos clientes revelou que cargas de trabalho de identidade seguem padrões previsíveis. Isso permitiu adotar uma abordagem de escrita dupla síncrona que equilibrou completude com simplicidade operacional. O princípio se aplica a qualquer migração específica de domínio: entenda os padrões de acesso reais da sua carga de trabalho antes de escolher soluções de uso geral.
Preservar o comportamento exige técnicas além dos testes tradicionais
Garantir funcionalidade equivalente entre sistemas antigos e novos foi relativamente simples. Preservar o comportamento idêntico da API foi muito mais desafiador. Testes funcionais validam comportamentos intencionais, mas a AWS identificou cenários em que clientes haviam construído aplicações em torno de comportamentos específicos da API — de modo que uma mudança poderia ter quebrado silenciosamente essas aplicações.
Por exemplo, escritas concorrentes para o mesmo usuário poderiam resultar em estados finais diferentes entre os sistemas, mesmo com todas as escritas sendo bem-sucedidas. Da mesma forma, clientes que escrevem um atributo e imediatamente o leem são afetados pela janela de consistência — diferenças sutis de tempo em quando as atualizações se tornam visíveis podem causar leituras de dados desatualizados. Esses não são falhas funcionais, mas o comportamento sob padrões de tráfego real pode variar. A verificação em modo sombra revelou casos extremos que testes automatizados sozinhos não teriam detectado.
Validação gradual constrói confiança que testes sozinhos não conseguem
A recomendação da AWS é usar múltiplas técnicas de validação independentes em camadas — como modo sombra, escritas duplas e varreduras anti-entropia — cada uma cobrindo um padrão de acesso diferente. Nenhuma abordagem isolada captura tudo, e é justamente nas lacunas entre elas que os problemas em produção se escondem. A implantação incremental com capacidade de reversão imediata permite validar cada etapa enquanto mantém a habilidade de reverter rapidamente.
O que isso significa na prática
A nova infraestrutura do Cognito já está em produção. As capacidades como chaves gerenciadas pelo cliente e replicação multi-região estão disponíveis agora. À medida que a migração avança, todos os clientes do Cognito terão acesso a essas funcionalidades no mesmo serviço que já utilizam hoje, sem necessidade de nenhuma ação da parte deles.
Para equipes que gerenciam autenticação em aplicações de grande escala, reguladas ou com requisitos de alta disponibilidade, essas mudanças representam um salto relevante nas possibilidades do serviço. Vale revisar as configurações de criptografia e avaliar se a replicação multi-região faz sentido para a estratégia de continuidade de negócios da sua organização.
Para saber mais, acesse a página oficial do Amazon Cognito.
Fonte
Amazon Cognito unlocks advanced capabilities with next-generation infrastructure (https://aws.amazon.com/blogs/security/amazon-cognito-unlocks-advanced-capabilities-with-next-generation-infrastructure/)
Leave a Reply