Enquanto arquiteto de nuvem ou responsável pela tomada de decisões, quando planeia implementar uma aplicação no Google Cloud, tem de escolher um arquétipo de implementação1 adequado para a sua aplicação. Este guia descreve seis arquétipos de implementação: zonal, regional, multirregional, global, híbrido e multinuvem, e apresenta exemplos de utilização e considerações de design para cada arquétipo de implementação. O guia também fornece uma análise comparativa para ajudar a escolher os arquétipos de implementação que cumprem os seus requisitos de disponibilidade, custo, desempenho e eficiência operacional.
O que é um arquétipo de implementação?
Um arquétipo de implementação é um modelo abstrato e independente do fornecedor que usa como base para criar arquiteturas de implementação específicas da aplicação que cumprem os seus requisitos empresariais e técnicos. Cada arquétipo de implementação especifica uma combinação de domínios de falha onde uma aplicação pode ser executada. Estes domínios de falha podem ser uma ou mais Google Cloud zonas ou regiões e podem estender-se para incluir os seus centros de dados no local ou domínios de falha noutros fornecedores de nuvem.
O diagrama seguinte mostra seis aplicações implementadas no Google Cloud. Cada aplicação usa um arquétipo de implementação que cumpre os seus requisitos específicos.
Conforme mostra o diagrama anterior, numa arquitetura que usa o arquétipo de implementação híbrida ou multicloud, a topologia da nuvem baseia-se num dos arquétipos básicos: zonal, regional, multirregional ou global. Neste sentido, os arquétipos de implementação híbrida e multicloud podem ser considerados arquétipos de implementação compostos que incluem um dos arquétipos básicos.
A escolha de um arquétipo de implementação ajuda a simplificar as decisões subsequentes relativas aos Google Cloud produtos e funcionalidades que deve usar. Por exemplo, para uma aplicação contentorizada de elevada disponibilidade, se escolher o arquétipo de implementação regional, os clusters regionais do Google Kubernetes Engine (GKE) são mais adequados do que os clusters zonais do GKE.
Quando escolhe um arquétipo de implementação para uma aplicação, tem de considerar compromissos entre fatores como a disponibilidade, o custo e a complexidade operacional. Por exemplo, se uma aplicação servir utilizadores em vários países e precisar de alta disponibilidade, pode escolher o arquétipo de implementação multirregional. No entanto, para uma aplicação interna usada por funcionários numa única região geográfica, pode dar prioridade ao custo em vez da disponibilidade e, por isso, escolher o arquétipo de implementação regional.
Vista geral dos arquétipos de implementação
Os separadores seguintes fornecem definições para os arquétipos de implementação e um resumo dos exemplos de utilização e das considerações de design para cada um.
Zonal
A sua aplicação é executada numa única Google Cloud zona, conforme mostrado no diagrama seguinte:
Exemplos de utilização |
|
---|---|
Considerações de design |
|
Mais informações | Consulte as secções seguintes: |
Regional
A sua aplicação é executada de forma independente em duas ou mais zonas numa única Google Cloud região, conforme mostrado no diagrama seguinte:
Exemplos de utilização |
|
---|---|
Considerações de design |
|
Mais informações | Consulte as secções seguintes: |
Multirregional
A sua aplicação é executada de forma independente em várias zonas em duas ou mais Google Cloud regiões. Pode usar políticas de encaminhamento de DNS para encaminhar o tráfego recebido para os balanceadores de carga regionais. Os balanceadores de carga regionais distribuem o tráfego pelas réplicas zonais da aplicação, conforme mostrado no diagrama seguinte:
Exemplos de utilização |
|
---|---|
Considerações de design |
|
Mais informações | Consulte as secções seguintes: |
Global
A sua aplicação é executada em Google Cloudregiões em todo o mundo, como uma pilha distribuída globalmente (sem reconhecimento da localização) ou como pilhas isoladas regionalmente. Um balanceador de carga anycast global distribui o tráfego para a região mais próxima do utilizador. Outros componentes da pilha de aplicações também podem ser globais, como a base de dados, a cache e o local de armazenamento de objetos.
O diagrama seguinte mostra a variante distribuída globalmente do arquétipo de implementação global. Um equilibrador de carga de anycast global encaminha pedidos para uma pilha de aplicações distribuída por várias regiões e que usa uma base de dados replicada globalmente.
O diagrama seguinte mostra uma variante do arquétipo de implementação global com pilhas de aplicações isoladas regionalmente. Um balanceador de carga anycast global encaminha pedidos para uma pilha de aplicações numa das regiões. Todas as pilhas de aplicações usam uma única base de dados replicada globalmente.
Exemplos de utilização |
|
---|---|
Considerações de design | Custos de transferência de dados e replicação de dados entre regiões. |
Mais informações | Consulte as secções seguintes: |
Híbrido
Determinadas partes da sua aplicação são implementadas no Google Cloud, enquanto outras partes são executadas no local, conforme mostrado no diagrama seguinte. A topologia em Google Cloud pode usar o arquétipo de implementação zonal, regional, multirregional ou global.
Exemplos de utilização |
|
---|---|
Considerações de design |
|
Mais informações | Consulte as secções seguintes: |
Multicloud
Algumas partes da sua aplicação estão implementadas no Google Cloude outras partes estão implementadas noutras plataformas na nuvem, conforme mostrado no diagrama seguinte. A topologia em cada plataforma de nuvem pode usar o arquétipo de implementação zonal, regional, multirregional ou global.
Exemplos de utilização |
|
---|---|
Considerações de design |
|
Mais informações | Consulte as secções seguintes: |
Colaboradores
Autor: Kumar Dhanagopal | Cross-Product Solution Developer
Outros colaboradores:
- Anna Berenberg | Engineering Fellow
- Anshu Kak | Distinguished Engineer
- Jeff Welsch | Director, Product Management
- Marwan Al Shawi | Partner Customer Engineer
- Sekou Page | Outbound Product Manager
- Steve McGhee | Defensor da fiabilidade
- Victor Moreno | Gestor de produtos, redes na nuvem
-
Anna Berenberg e Brad Calder, Deployment Archetypes for Cloud Applications, ACM Computing Surveys, Volume 55, Issue 3, Article No.: 61, pp 1-48 ↩