Práticas de Correção de Sistemas na AWS: Aproveitando Métodos Formais e Semi-Formais

2025-04-01

A Amazon Web Services (AWS) busca fornecer serviços confiáveis ​​nos quais os clientes podem confiar completamente. Isso exige a manutenção dos mais altos padrões de segurança, durabilidade, integridade e disponibilidade — com a correção de sistemas servindo como a pedra angular para alcançar essas prioridades. Inicialmente, a AWS utilizou a linguagem TLA+ para modelar sistemas críticos, identificando e eliminando bugs sutis precocemente. Com o crescimento, a AWS introduziu a linguagem de programação P, mais amigável para desenvolvedores, para modelar e analisar sistemas distribuídos, crucial para migrações como a da Amazon S3 para forte consistência. Métodos leves, como testes baseados em propriedades, simulação determinística e fuzzing, também são amplamente utilizados. A AWS também lançou o FIS (Fault Injection Service) para aumentar a resiliência. Para limites de segurança críticos, a AWS utiliza provas formais, como no desenvolvimento de Cedar e Firecracker. Essa abordagem garante confiabilidade e otimização de desempenho, reduzindo custos.