Ao migrar de um ambiente de computação não híbrido ou não multicloud para uma arquitetura híbrida ou multicloud, primeiro considere as restrições dos aplicativos atuais e como elas podem levar a falhas no aplicativo. Essa consideração se torna mais importante quando os aplicativos ou componentes operam de maneira distribuída em diferentes ambientes. Depois de considerar suas restrições, desenvolva um plano para evitá-las ou superá-las. Considere os recursos exclusivos de cada ambiente de computação em uma arquitetura distribuída.
Considerações sobre o design
As considerações de design a seguir se aplicam a padrões de implantação distribuídos. Dependendo da solução de destino e dos objetivos de negócios, a prioridade e o efeito de cada consideração podem variar.
Latência
Em qualquer padrão de arquitetura que distribua componentes de aplicativos (frontends, backends ou microsserviços) em diferentes ambientes de computação, a latência de comunicação pode ocorrer. Essa latência é influenciada pela conectividade de rede híbrida (Cloud VPN e Cloud Interconnect) e pela distância geográfica entre o site local e as regiões de nuvem ou entre regiões de nuvem em uma configuração multi-nuvem. Portanto, é crucial avaliar os requisitos de latência dos seus aplicativos e a sensibilidade deles a atrasos de rede. Os aplicativos que toleram a latência são candidatos mais adequados para a implantação distribuída inicial em um ambiente híbrido ou de várias nuvens.
Arquitetura de estado temporário x final
Para especificar as expectativas e as possíveis implicações para custo, escala e desempenho, é importante analisar o tipo de arquitetura necessário e a duração pretendida como parte do estágio de planejamento. Por exemplo, se você planeja usar uma arquitetura híbrida ou multicloud por um longo período ou permanentemente, considere usar o Cloud Interconnect. Para reduzir os custos de transferência de dados de saída e otimizar o desempenho da rede de conectividade híbrida, o Cloud Interconnect oferece descontos nas cobranças de transferência de dados de saída que atendem às condições de taxa de transferência de dados com desconto.
Confiabilidade
A confiabilidade é um fator importante na arquitetura de sistemas de TI. A disponibilidade de tempo de atividade é um aspecto essencial da confiabilidade do sistema. No Google Cloud, é possível aumentar a resiliência de um aplicativo implantando componentes redundantes dele em várias zonas em uma única região ou em várias regiões com recursos de transferência. A redundância é um dos elementos principais para melhorar a disponibilidade geral de um aplicativo. Para aplicativos com uma configuração distribuída em ambientes híbridos e multicloud, é importante manter um nível consistente de disponibilidade.
Para aumentar a disponibilidade de um sistema em um ambiente local ou em outros ambientes de nuvem, considere qual redundância de hardware ou software, com mecanismos de failover, você precisa para seus aplicativos e componentes. O ideal é considerar a disponibilidade de um serviço ou aplicativo em vários componentes e infraestrutura de suporte (incluindo disponibilidade de conectividade híbrida) em todos os ambientes. Esse conceito também é conhecido como a disponibilidade composta de um aplicativo ou serviço.
Com base nas dependências entre os componentes ou serviços, a disponibilidade composta de um aplicativo pode ser maior ou menor do que a de um serviço ou componente individual. Para mais informações, consulte Disponibilidade composta: como calcular a disponibilidade geral da infraestrutura de nuvem.
Para alcançar o nível de confiabilidade do sistema que você quer, defina métricas de confiabilidade claras e projete aplicativos para se autocorrigir e suportar interrupções de maneira eficaz nos diferentes ambientes. Para ajudar a definir maneiras adequadas de medir a experiência do cliente com seus serviços, consulte Definir suas metas de confiabilidade.
Conectividade híbrida e de várias nuvens
Os requisitos da comunicação entre os componentes de aplicativos distribuídos devem influenciar a seleção de uma opção de conectividade de rede híbrida. Cada opção de conectividade tem vantagens e desvantagens, além de fatores específicos a serem considerados, como custo, volume de tráfego, segurança e assim por diante. Para mais informações, consulte a seção considerações sobre o design de conectividade.
Gerenciamento
Ferramentas de gerenciamento e monitoramento consistentes e unificadas são essenciais para configurações híbridas e multicloud bem-sucedidas (com ou sem portabilidade de carga de trabalho). No curto prazo, essas ferramentas podem aumentar os custos de desenvolvimento, teste e operações. Tecnicamente, quanto mais provedores de nuvem você usar, mais complexo será o gerenciamento dos seus ambientes. A maioria dos fornecedores de nuvem pública não tem apenas recursos diferentes, mas também ferramentas, SLAs e APIs variadas para gerenciar serviços em nuvem. Portanto, avalie as vantagens estratégicas da arquitetura selecionada em relação à possível complexidade de curto prazo e aos benefícios de longo prazo.
Custo
Cada provedor de serviços em nuvem em um ambiente multicloud tem as próprias métricas e ferramentas de faturamento. Para ter uma visibilidade melhor e painéis unificados, use ferramentas de otimização e gestão de custos multicloud. Por exemplo, ao criar soluções de prioridade à nuvem em vários ambientes de nuvem, os produtos, os preços, os descontos e as ferramentas de gerenciamento de cada provedor podem criar inconsistências de custo entre esses ambientes.
Recomendamos ter um método único e bem definido para calcular os custos totais dos recursos da nuvem e fornecer visibilidade de custos. A visibilidade de custos é essencial para a otimização de custos. Por exemplo, ao combinar dados de faturamento dos provedores de nuvem que você usa e usar o Looker Cloud Cost Management Block do Google Cloud, é possível criar uma visualização centralizada dos custos de várias nuvens. Essa visualização pode ajudar a fornecer uma visualização consolidada de relatórios dos seus gastos em várias nuvens. Para mais informações, consulte A estratégia para otimizar de forma eficaz o gerenciamento de custos do Cloud Billing.
Também recomendamos usar a prática de FinOps para tornar os custos visíveis. Como parte de uma prática sólida de FinOps, uma equipe central pode delegar a tomada de decisão para a otimização de recursos a qualquer outra equipe envolvida em um projeto para incentivar a responsabilidade individual. Nesse modelo, a equipe central precisa padronizar o processo, os relatórios e as ferramentas para otimização de custos. Para mais informações sobre os diferentes aspectos e recomendações de otimização de custos que você deve considerar, consulte Framework de arquitetura do Google Cloud: otimização de custos.
Movimentação de dados
A movimentação de dados é uma consideração importante para estratégias híbridas e multicloud e para o planejamento de arquitetura, especialmente para sistemas distribuídos. As empresas precisam identificar os diferentes casos de uso de negócios, os dados que os alimentam e como os dados são classificados (para setores regulamentados). Eles também precisam considerar como o armazenamento, o compartilhamento e o acesso de dados para sistemas distribuídos em vários ambientes podem afetar o desempenho do aplicativo e a consistência dos dados. Esses fatores podem influenciar o aplicativo e a arquitetura do pipeline de dados. O conjunto abrangente de opções de movimentação de dados do Google Cloud permite que as empresas atendam às necessidades específicas e adotem arquiteturas híbridas e multinuvem sem comprometer a simplicidade, a eficiência ou o desempenho.
Segurança
Ao migrar aplicativos para a nuvem, é importante considerar os recursos de segurança com foco em nuvem, como consistência, observabilidade e visibilidade de segurança unificada. Cada provedor de nuvem pública tem sua própria abordagem, práticas recomendadas e recursos de segurança. É importante analisar e alinhar esses recursos para criar uma arquitetura de segurança funcional padrão. Controles fortes de IAM, criptografia de dados, verificação de vulnerabilidade e conformidade com regulamentações do setor também são aspectos importantes da segurança na nuvem.
Ao planejar uma estratégia de migração, recomendamos que você analise as considerações mencionadas anteriormente. Elas podem ajudar a minimizar as chances de introduzir complexidades na arquitetura à medida que os volumes de aplicativos ou tráfego aumentam. Além disso, projetar e criar uma zona de destino é quase sempre um pré-requisito para implantar cargas de trabalho empresariais em um ambiente de nuvem. Uma zona de destino ajuda sua empresa a implantar, usar e dimensionar serviços de nuvem com mais segurança em várias áreas e inclui diferentes elementos, como identidades, gerenciamento de recursos, segurança e rede. Para mais informações, consulte Design da zona de destino no Google Cloud.
Os documentos a seguir desta série descrevem outros padrões de arquitetura distribuída:
- Padrão híbrido em camadas
- Padrão de multicloud particionada
- Padrão analítico de nuvem híbrida e multicloud
- Padrão híbrido de borda