Alta disponibilidade e escalabilidade na AWS
A maioria dos provedores de comunicações em tempo real se alinha aos níveis de serviço que fornecem disponibilidade de 99,9% a 99,999%. Dependendo do grau de alta disponibilidade (HA) desejado, você deve tomar medidas cada vez mais sofisticadas ao longo de todo o ciclo de vida da aplicação. Recomendamos seguir estas diretrizes para obter um grau robusto de alta disponibilidade:
-
Crie o sistema para não ter nenhum ponto de falha. Use mecanismos automatizados de monitoramento, detecção de falhas e failover para componentes sem estado e com estado
-
Pontos únicos de falha (SPOF) geralmente são eliminados com uma configuração de redundância N+1 ou 2N, em que N+1 é obtido por meio do balanceamento de carga entre nós ativos-ativos, e 2N é obtido por um par de nós na configuração ativos-em espera.
-
A AWS tem vários métodos para obter HA por meio de ambas as abordagens, como por meio de um cluster escalável com balanceamento de carga ou assumindo um par ativos-em espera.
-
Instrumente e teste corretamente a disponibilidade do sistema.
-
Prepare procedimentos operacionais para mecanismos manuais para responder, mitigar e se recuperar da falha.
Esta seção se concentra em como não ter nenhum ponto de falha usando os recursos disponíveis na AWS. Especificamente, esta seção descreve um subconjunto dos principais recursos e padrões de design da AWS que permitem criar aplicações de comunicação em tempo real altamente disponíveis na plataforma.
Tópicos
- Padrão de IP flutuante para HA entre servidores com estado ativo e em espera
- Balanceamento de carga para escalabilidade e HA com WebRTC e SIP
- Balanceamento de carga e failover baseados em DNS entre regiões
- Durabilidade de dados e HA com armazenamento persistente
- Escalabilidade dinâmica com o AWS Lambda, o Amazon Route 53 e o AWS Auto Scaling
- WebRTC altamente disponível com Kinesis Video Streams
- Entroncamento SIP altamente disponível com o Amazon Chime Voice Connector