Multi-Cloud é uma solução para alta disponibilidade?

Com o custo médio do tempo de inatividade estimado em US$ 8.850 por minuto, as empresas não podem correr o risco de falhar no sistema. O acesso total a serviços e dados a qualquer hora e em qualquer lugar é um dos principais benefícios da computação em nuvem.

Por design, muitos dos principais serviços com a nuvem pública e sua infraestrutura subjacente são replicados em diferentes zonas geográficas. Isso ajuda a garantir a durabilidade e a disponibilidade de seus dados e serviços, além de proteger contra o tempo de inatividade. No entanto, as interrupções acontecem. Para proteger contra o tempo de inatividade oneroso, muitas empresas distribuem seus serviços por vários provedores para reduzir as chances de falha.

Mas uma estratégia com várias nuvens é a única solução para garantir alta disponibilidade?
De acordo com a CSA, em fevereiro de 2017, o erro de digitação de um engenheiro causou uma interrupção importante no serviço do Amazon S3 em sua região leste dos EUA. A paralisação afetou muitas empresas que dependiam do S3 e, especificamente, aquelas que dependiam do S3 exclusivamente na região.

Cargas de trabalho impactadas pela interrupção do S3 caíram em duas categorias: aquelas consideradas não críticas, e aquelas que não tinham arquitetura suficiente e testes de caos. As empresas que não possuíam uma arquitetura robusta e suficiente para os testes sentiram o impacto mais certamente. Nesse caso, a replicação de arquivos em outro provedor de nuvem poderia ter atenuado os efeitos da interrupção. No entanto, a replicação entre nuvens também adicionaria mais complexidade, talvez desnecessariamente. Usar um único provedor de nuvem com replicação entre regiões é outra solução.

Vou tentar explicar a viabilidade técnica de usar vários provedores de nuvem para obter alta disponibilidade em três cenários:

Distribuição de aplicativos
As equipes terão que trabalhar para abstrair a funcionalidade específica do fornecedor, se quiserem obter alta disponibilidade para a mesma funcionalidade em diferentes provedores de nuvem. Isso significa que você estará limitado aos recursos comuns às plataformas selecionadas. No nível de serviço individual, as diferenças entre as implementações de vários provedores de nuvem podem criar muito trabalho extra na forma de camadas de abstração.

Containers
No nível do aplicativo, devido às diferenças de implementação de IaaS entre provedores, os contêineres poderiam servir como uma abstração viável. Essa abordagem exigiria a execução do mesmo orquestrador de contêineres em várias plataformas e a limitação do uso da funcionalidade subjacente (ou o acesso à funcionalidade subjacente por meio de uma interface comum). Embora o uso de contêineres para executar o mesmo aplicativo entre provedores possa ser tecnicamente possível, a implementação está longe de ser prática, tornando-o mais propenso a erros humanos e possíveis interrupções no futuro. O potencial aumento de erros pode ser causado por diferenças em como os dados são replicados e diferenças nas próprias ofertas de IaaS.

Segurança e Conformidade
Gerenciar a segurança para qualquer implantação única em várias nuvens públicas não será fácil.

A exibição de redes virtuais, regras de firewall, monitoramento, registro e gerenciamento de identidade e acesso pode ser difícil e demorada. Garantir a conformidade em vários provedores adiciona um novo nível de complexidade, especialmente na proporção em que os provedores de nuvem lançam atualizações. Ferramentas, processos e treinamento adicionais serão necessários para garantir a consistência entre as plataformas.

A Multi-Cloud é uma solução para alta disponibilidade?
Não necessariamente.

Novas ferramentas ou processos devem ser adicionados para resolver problemas, e não efeitos colaterais de outros problemas. A adição do ferramental necessário para implementar uma implantação com várias nuvens está resolvendo um efeito colateral de usar várias plataformas para realizar o que poderia ser feito com uma única plataforma.

O resultado é o seguinte: a nuvem múltipla poderia, teoricamente, resolver certos problemas de alta disponibilidade, mas é mais provável que ela adicione complexidade indevida. Em vez disso, um melhor entendimento da tecnologia e a implementação das melhores práticas devem ser seu ponto de partida antes de procurar uma solução com várias nuven