No último dia de fevereiro, dia 28, o AWS, plataforma de cloud computing da Amazon, teve uma falha crítica que impactou centenas de websites em todo mundo e expôs um dos pontos negativos do uso desse tipo de tecnologia.
A empresa informou em seu “Service Health Dashboard”, às 14h35 (horário da costa leste dos EUA), que seus engenheiros estavam trabalhando no “problema que afeta websites e aplicativos, que usam os servidores da AWS, incluindo Pinterest, Airbnb, Netflix, Spotify, Reddit e Adobe. A agência de notícias Associated Press relatou que suas fotos, webfeeds e outros serviços online também foram afetados.
Quase duas horas depois, às 16h12, o painel de controle da AWS informava que “nós continuamos a experimentar taxas de erro elevadas com o S3 da costa leste, que está impactando vários serviços”. E observou: “Estamos trabalhando para descobrir a causa raiz e reparar o sistema S3 para recuperar as operações normais”.
A falha afetou principalmente o sistema S3 (Simple Storage Service) da AWS, que fica na Virgínia do Norte, na costa leste. De acordo com a plataforma de monitoramento de internet Catchpoint, o sistema S3 teve uma interrupção de 3h39 minutos. “O S3 é como ar para a nuvem”, disse o analista da Forrester, Dave Bartoletti. “Quando ele cai muitos sites não conseguem respirar. Mas as interrupções, erros e falhas são um fato da vida na nuvem.” Bartoletti disse, porém, que não há nenhum motivo para pânico. “Isto não é uma tendência. O S3 tem sido muito confiável e seguro, e tem sido uma espécie de joia da coroa da nuvem da Amazon.”
Como se Proteger
Após ouvir vários especialistas, o Network World-EUA listou cinco dicas para que as empresas estejam preparadas para uma queda do serviço de nuvem:
Não manter todos os seus ovos em uma única cesta
Este conselho pode significar coisas diferentes para diferentes usuários, mas a ideia básica é que se a empresa colocar um aplicativo ou de parte de seus dados na nuvem não poderá ser muito tolerante a falhas. Dependendo de quanto a empresa deseja que o aplicativo esteja disponível, determinará o número de cestas pelas quais as cargas de trabalho serão espalhadas.
Verificações de integridade
A questão chave para responder a uma falha de nuvem é saber quando ela pode acontecer. AWS tem uma série de maneiras de fazer isso. Uma das mais básicas é usar o que chama de verificações de integridade, que fornecem uma lista personalizada do status dos recursos usados por cada conta. O Amazon CloudWatch pode ser configurado para, automaticamente, controlar a disponibilidade do serviço, monitorar arquivos de log, criar alarmes e reagir a falhas. Um método importante para este trabalho é fazer uma análise exaustiva do comportamento “normal” para que as ferramentas de nuvem AWS possam detectar comportamento “anormal”.
Construir sistemas redundantes, desde o início
Não será muito útil tentar responder a uma interrupção de energia em tempo real, mas a preparação antes que ocorra a paralisação vai gerar alguma economia quando se trata do inevitável. Existem duas maneiras básicas para construir redundância em sistemas de nuvem:
- StandBy
- Redundância Ativa
Backup de dados
Uma coisa é ter sistemas redundantes, outra é fazer backup de seus dados. Isto foi especialmente importante na interrupção da semana porque foi o primeiro que atingiu o sistema S3. A AWS tem várias maneiras de, nativamente, fazer o backup de dados:
- Replicação síncrona
- Replicação assíncrona
- Quorum baseado em replicação
Teste seu sistema
Por que esperar que uma paralisação ocorra para ver se seu sistema é resistente? Por isso é preciso testá-lo de antemão. Pode parecer loucura, mas os melhores arquitetos de nuvem estão dispostos a matar todos os nós, serviços, Zonas de Disponibilidade e regiões para ver se seu aplicativo pode suportá-la.