A digitalização das empresas abre uma série de oportunidades, mas também impõe alguns desafios. Para ultrapassá-los, as organizações estão a recorrer cada vez mais a estratégias multi-cloud. Esta abordagem envolve a utilização de vários serviços de armazenamento e cloud computing numa única arquitetura heterogénea.
Este artigo explora os benefícios de implementações multi-cloud, demonstrando ainda a implementação de uma aplicação multi-cloud de dois servidores web Apache: um no Amazon Web Services (AWS) e outro no Microsoft Azure. Neste caso, o balanceador de carga é o Google Cloud Platform (GCP), através de um serviço HAProxy.
Antes de avançarmos, eis alguns conceitos relevantes que devemos compreender:
A implementação de uma estratégia multi-cloud pode trazer uma série de vantagens, nomeadamente:
Uma estratégia multi-cloud não pode ser implementada com sucesso sem estes pontos-chave:
Esta secção descreve os passos para configurar uma implementação multi-cloud através do Terraform, uma ferramenta de software de Infraestrutura como Código (IaC – Infrastructure as Code). Ao automatizar a implementação de vários servidores em diferentes fornecedores de cloud, conseguimos demonstrar a robustez de uma estratégia multi-cloud.
Fornecedores de cloud: Amazon Web Services, Google Cloud Platform e Microsoft Azure.
Recursos:
Passo 1: Configuração do ambiente
Passo 2: Codificação da Infraestrutura como Código
Passo 3: Implementação
Passo 4: Monitorização e gestão

Abaixo está o código do AWS Terraform para a configuração do EC2 para hospedar um serviço Apache.



Agora, aqui está o código do Azure Terraform para a configuração da VM para hospedar um Serviço Apache.



Na imagem abaixo, podemos ver os detalhes da VM do Portal do Azure, em perfeito funcionamento:

O serviço Apache no Azure está ativo e a funcionar do lado do browser:

Os detalhes do AWS EC2 também estão a funcionar:

O serviço Apache no AWS também está a funcionar do lado do browser:

Abaixo, podemos ver os detalhes da VM do GCP:


A VM do GCP com o serviço HAproxy também está instalada e a funcionar:


Abaixo está o serviço Apache do Azure em execução:

Também o serviço AWS Apache está a funcionar:

Agora, vemos um pedido do browser para o balanceador de carga HAProxy, com o AWS Apache a devolver o código de estado “200 OK”:

E agora um pedido do browser para o balanceador de carga HAProxy, com o Azure Apache a devolver o código de estado “200 OK”:

Eis as estatísticas do serviço HAProxy. Os pedidos são equilibrados com base no algoritmo Round-Robin:

Estamos agora a parar o serviço Apache da VM do Azure:

Aqui está um pedido ao balanceador de carga, devolvendo apenas o serviço AWS Apache sem tempo de inatividade:


Paramos agora o serviço Apache do AWS EC2:

Eis agora um pedido para o balanceador de carga, retornando “503 Service Unavailable”, porque ambos os serviços web estão em baixo:


Repositório GitHub: https://github.com/danielitogomez/terraform/tree/master/multicloud-web-servers-poc
Agora que vimos uma demonstração prática de uma implementação multi-cloud, aqui ficam mais algumas coisas para ter em mente.
É crucial abordar várias configurações avançadas e opções de escalabilidade que melhoram significativamente a funcionalidade das implementações multi-cloud:
A PoC descrita neste artigo centra-se principalmente na demonstração das capacidades e benefícios de uma abordagem multi-cloud. No entanto, também destaca a necessidade de várias melhorias para otimizar a arquitetura:
A implementação de uma estratégia multi-cloud tira eficazmente partido dos pontos fortes únicos de vários fornecedores de cloud, melhorando a resiliência operacional, a escalabilidade e a conformidade. As considerações descritas acima destacam a profundidade do planeamento e a sofisticação que podem otimizar estas implementações.
As organizações devem avaliar cuidadosamente as suas necessidades específicas e integrar tecnologias e práticas adequadas para maximizar os benefícios de uma abordagem multi-cloud. Este exemplo prático oferece um modelo abrangente para obter maior disponibilidade e desempenho através de uma abordagem diversificada da cloud. Esta demonstração não é apenas um testemunho do potencial dos ambientes multi-cloud, mas também um guia para evoluir estas configurações para arquiteturas altamente resilientes, eficientes e escaláveis.
A digitalização das empresas abre uma série de oportunidades, mas também impõe alguns desafios. Para ultrapassá-los, as organizações estão a recorrer cada vez mais a estratégias multi-cloud. Esta abordagem envolve a utilização de vários serviços de armazenamento e cloud computing numa única arquitetura heterogénea.
Este artigo explora os benefícios de implementações multi-cloud, demonstrando ainda a implementação de uma aplicação multi-cloud de dois servidores web Apache: um no Amazon Web Services (AWS) e outro no Microsoft Azure. Neste caso, o balanceador de carga é o Google Cloud Platform (GCP), através de um serviço HAProxy.
Antes de avançarmos, eis alguns conceitos relevantes que devemos compreender:
A implementação de uma estratégia multi-cloud pode trazer uma série de vantagens, nomeadamente:
Uma estratégia multi-cloud não pode ser implementada com sucesso sem estes pontos-chave:
Esta secção descreve os passos para configurar uma implementação multi-cloud através do Terraform, uma ferramenta de software de Infraestrutura como Código (IaC – Infrastructure as Code). Ao automatizar a implementação de vários servidores em diferentes fornecedores de cloud, conseguimos demonstrar a robustez de uma estratégia multi-cloud.
Fornecedores de cloud: Amazon Web Services, Google Cloud Platform e Microsoft Azure.
Recursos:
Passo 1: Configuração do ambiente
Passo 2: Codificação da Infraestrutura como Código
Passo 3: Implementação
Passo 4: Monitorização e gestão

Abaixo está o código do AWS Terraform para a configuração do EC2 para hospedar um serviço Apache.



Agora, aqui está o código do Azure Terraform para a configuração da VM para hospedar um Serviço Apache.



Na imagem abaixo, podemos ver os detalhes da VM do Portal do Azure, em perfeito funcionamento:

O serviço Apache no Azure está ativo e a funcionar do lado do browser:

Os detalhes do AWS EC2 também estão a funcionar:

O serviço Apache no AWS também está a funcionar do lado do browser:

Abaixo, podemos ver os detalhes da VM do GCP:


A VM do GCP com o serviço HAproxy também está instalada e a funcionar:


Abaixo está o serviço Apache do Azure em execução:

Também o serviço AWS Apache está a funcionar:

Agora, vemos um pedido do browser para o balanceador de carga HAProxy, com o AWS Apache a devolver o código de estado “200 OK”:

E agora um pedido do browser para o balanceador de carga HAProxy, com o Azure Apache a devolver o código de estado “200 OK”:

Eis as estatísticas do serviço HAProxy. Os pedidos são equilibrados com base no algoritmo Round-Robin:

Estamos agora a parar o serviço Apache da VM do Azure:

Aqui está um pedido ao balanceador de carga, devolvendo apenas o serviço AWS Apache sem tempo de inatividade:


Paramos agora o serviço Apache do AWS EC2:

Eis agora um pedido para o balanceador de carga, retornando “503 Service Unavailable”, porque ambos os serviços web estão em baixo:


Repositório GitHub: https://github.com/danielitogomez/terraform/tree/master/multicloud-web-servers-poc
Agora que vimos uma demonstração prática de uma implementação multi-cloud, aqui ficam mais algumas coisas para ter em mente.
É crucial abordar várias configurações avançadas e opções de escalabilidade que melhoram significativamente a funcionalidade das implementações multi-cloud:
A PoC descrita neste artigo centra-se principalmente na demonstração das capacidades e benefícios de uma abordagem multi-cloud. No entanto, também destaca a necessidade de várias melhorias para otimizar a arquitetura:
A implementação de uma estratégia multi-cloud tira eficazmente partido dos pontos fortes únicos de vários fornecedores de cloud, melhorando a resiliência operacional, a escalabilidade e a conformidade. As considerações descritas acima destacam a profundidade do planeamento e a sofisticação que podem otimizar estas implementações.
As organizações devem avaliar cuidadosamente as suas necessidades específicas e integrar tecnologias e práticas adequadas para maximizar os benefícios de uma abordagem multi-cloud. Este exemplo prático oferece um modelo abrangente para obter maior disponibilidade e desempenho através de uma abordagem diversificada da cloud. Esta demonstração não é apenas um testemunho do potencial dos ambientes multi-cloud, mas também um guia para evoluir estas configurações para arquiteturas altamente resilientes, eficientes e escaláveis.