Outras considerações

Last reviewed 2023-12-14 UTC

Este documento destaca as principais considerações de design que desempenham um papel fundamental na elaboração da arquitetura híbrida e multicloud. Analise e avalie de forma holística essas considerações em toda sua solução do BigQuery, englobando todas as cargas de trabalho, não apenas algumas específicas.

Refatorar

Em uma migração de refatoração, você modifica as cargas de trabalho para aproveitar as capacidades da nuvem, não apenas para fazê-las funcionar no novo ambiente. É possível aprimorar o desempenho, os recursos, o custo e a experiência do usuário para cada carga de trabalho. Como destacado em Refatorar: mover e melhorar, alguns cenários de refatoração permitem modificar as cargas de trabalho antes da migração para a nuvem. Essa abordagem de refatoração oferece os benefícios a seguir, especialmente se a meta for criar uma arquitetura híbrida de longo prazo direcionada:

  • Melhoria do processo de implantação
  • Você pode acelerar a cadência de lançamento e encurtar os ciclos de feedback adotando uma integração/implantação contínua (CI/CD) e as ferramentas.
  • É possível usar a refatoração como base para criar e gerenciar modelos de arquitetura híbrida com portabilidade de aplicativos.

Para funcionar bem, essa abordagem geralmente requer certos investimentos em infraestrutura e ferramentas no local. Por exemplo, configurar um Container Registry local e provisionar os clusters do Kubernetes para conteinerizar os aplicativos. A edição do Google Kubernetes Engine (GKE) Enterprise pode ser útil nesta abordagem para ambientes híbridos. Confira na seção a seguir mais informações sobre o GKE Enterprise. Você também pode consultar a arquitetura de referência de ambiente híbrido do GKE Enterprise para mais informações.

Portabilidade de cargas de trabalho

Com arquiteturas híbridas e multicloud, talvez você queira transferir cargas de trabalho entre os ambientes computacionais que hospedam os dados. Para ativar a movimentação perfeita de cargas de trabalho entre ambientes, considere os seguintes fatores:

  • Mova um aplicativo de um ambiente computacional para outro sem modificar significativamente o aplicativo e o modelo operacional:
    • A implantação e o gerenciamento de aplicativos são consistentes em ambientes computacionais.
    • Visibilidade, configuração e segurança são consistentes em ambientes computacionais.
  • A capacidade de tornar uma carga de trabalho portátil não deve entrar em conflito com a carga de trabalho com priorização da nuvem.

Automação da infraestrutura

A automação da infraestrutura é essencial para a portabilidade em arquiteturas híbridas e multicloud. Uma abordagem comum para automatizar a criação de infraestrutura é usar a infraestrutura como código (IaC, na sigla em inglês). A IaC envolve gerenciar a infraestrutura em arquivos em vez de configurar manualmente os recursos, como uma VM, um grupo de segurança ou um balanceador de carga, em uma interface do usuário. O Terraform é uma ferramenta de IaC conhecida para definir recursos de infraestrutura em um arquivo. O Terraform também permite automatizar a criação desses recursos em ambientes heterogêneos.

Para mais informações sobre as funcionalidades principais do Terraform que podem ajudar você a automatizar o provisionamento e o gerenciamento de recursos do Google Cloud, consulte Modelos e módulos do Terraform para o Google Cloud.

Além disso, use ferramentas de gerenciamento de configuração, como Ansible, Puppet ou Chef para estabelecer um processo comum de implantação e configuração. Se preferir, use uma ferramenta de preparação de imagens, como o Packer, para criar imagens de VM para plataformas diferentes. Ao usar um único arquivo de configuração do Terraform, use o Packer e o Cloud Build para criar uma imagem de VM para uso no Compute Engine. Por fim, use soluções como o Prometheus e o Grafana para garantir o monitoramento consistente nos vários ambientes.

Com base nessas ferramentas, é possível montar uma cadeia de ferramentas comum semelhante à ilustrada no diagrama abaixo. Essa cadeia de ferramentas comum abstrai as diferenças entre os ambientes computacionais. Ele também permite unificar o provisionamento, a implantação o gerenciamento e o monitoramento.

Uma cadeia de ferramentas permite a portabilidade de aplicativos.

Embora uma cadeia de ferramentas comum possa ajudar a alcançar a portabilidade, ela está sujeita a várias das seguintes limitações:

  • O uso de VMs como base comum pode dificultar a implementação de aplicativos com a priorização da nuvem verdadeira. Além disso, o uso de VMs só impede que você use os serviços gerenciados na nuvem. Você pode perder oportunidades de reduzir o overhead administrativo.
  • Criar e manter uma cadeia de ferramentas comum incorre gera overhead e custos operacionais.
  • À medida que a cadeia de ferramentas se expande, ela pode desenvolver complexidades únicas para as necessidades específicas da sua empresa. Esse aumento da complexidade pode contribuir para o aumento dos custos de treinamento.

Antes de desenvolver ferramentas e automação, conheça os serviços gerenciados oferecidos pelo seu provedor de nuvem. Quando o provedor oferece serviços gerenciados que oferecem suporte ao mesmo caso de uso, é possível abstrair parte da complexidade dele. Isso permite que você se concentre na carga de trabalho e na arquitetura do aplicativo, em vez da infraestrutura subjacente.

Por exemplo, é possível usar um Modelo de recursos do Kubernetes para automatizar a criação de clusters do Kubernetes usando um abordagem de configuração. É possível usar a Conversão do Deployment Manager para converter as configurações e os modelos do Deployment Manager para outros formatos de configuração declarativos compatíveis com o Google Cloud (como o Terraform e o Kubernetes Resource Model) para que eles sejam portáteis ao serem publicados.

Também é possível automatizar a criação de projetos e de recursos dentro deles. Essa automação pode ajudar você a adotar uma abordagem de infraestrutura como código para o provisionamento de projetos.

Contêineres e Kubernetes

Usar recursos gerenciados na nuvem ajuda a reduzir a complexidade de criar e manter uma cadeia de ferramentas personalizada para alcançar a automação e a portabilidade da carga de trabalho. No entanto, usar as VMs como base comum dificulta a implementação de aplicativos que verdadeiramente priorizam a nuvem. Uma outra solução é utilizar contêineres e o Kubernetes.

Com os contêineres, seu software continua funcionando de maneira confiável mesmo depois de migrá-lo de um ambiente para outro. Como os contêineres separam os aplicativos da infraestrutura do host subjacente, eles facilitam a implantação em vários ambientes, como híbrido e multicloud.

O Kubernetes lida com a orquestração, a implantação, o escalonamento e o gerenciamento dos aplicativos conteinerizados. Ele tem código aberto e é regido pelo Cloud Native Computing Foundation: O uso do Kubernetes fornece os serviços que formam a base de um aplicativo de priorização da nuvem. Por ser possível instalar e executar o Kubernetes em uma variedade de ambientes computacionais, também é possível usá-lo para estabelecer uma camada de ambiente de execução comum nos diferentes ambientes computacionais:

  • O Kubernetes fornece os mesmos serviços e APIs para o ambiente computacional particular ou em nuvem. Além disso, o nível de abstração é muito maior do que o proporcionado pelas VMs. Na maioria das vezes, isso se traduz em menos trabalho de preparação e maior produtividade do desenvolvedor.
  • Ao contrário de uma cadeia de ferramentas personalizada, o Kubernetes é amplamente adotado para o desenvolvimento e o gerenciamento de aplicativos. Dessa forma, é possível aproveitar o conhecimento especializado, a documentação e o suporte de terceiros que você já tem.
  • O Kubernetes oferece suporte a todas as implementações de contêiner que:

Quando uma carga de trabalho está em execução no Google Cloud, é possível evitar o esforço de instalar e operar o Kubernetes usando uma plataforma gerenciada do Kubernetes, como o Google Kubernetes Engine (GKE). Isso pode ajudar a equipe de operações a mudar o foco da criação e manutenção da infraestrutura para a criação e manutenção de aplicativos.

Você também pode usar o Autopilot, um modo de operação do GKE que gerencia a configuração do cluster, incluindo nós, escalonamento, segurança e outras configurações pré-configuradas. Ao usar o Autopilot do GKE, considere os requisitos de escalonamento e os limites de escalonamento.

Tecnicamente, é possível instalar e executar o Kubernetes em muitos ambientes computacionais para estabelecer uma camada de ambiente de execução comum. Na prática, criar e operar essa arquitetura pode aumentar a complexidade. A arquitetura fica mais complexa quando é preciso ter controle de segurança no nível do contêiner ( malha de serviço).

Para simplificar o gerenciamento de implantações de vários clusters, use o GKE Enterprise para executar aplicativos modernos em qualquer lugar e em escala. O GKE inclui componentes avançados de código aberto gerenciados para proteger cargas de trabalho, aplicar políticas de compliance, além de oferecer a observabilidade e a solução de problemas de rede profunda.

Conforme ilustrado no diagrama a seguir, usar o GKE Enterprise significa que é possível operar aplicativos de vários clusters como frotas.

Diagrama de pilha mostrando as oportunidades de gerenciamento de frota oferecidas pelo GKE Enterprise.

O GKE Enterprise ajuda com as seguintes opções de design para oferecer suporte a arquiteturas híbridas e multicloud:

  • Projete e crie experiências semelhantes à nuvem, no local ou soluções unificadas para a transição de aplicativos para o ambiente híbrido do GKE Enterprise. Para mais informações, consulte a Arquitetura de referência do ambiente híbrido do GKE Enterprise.

  • Projete e crie uma solução para resolver a complexidade multicloud com governança, operações e postura de segurança consistentes com o GKE Multi-cloud. Para mais informações, consulte a documentação do GKE Multi-cloud.

O GKE Enterprise também oferece agrupamentos lógicos de ambientes semelhantes, com segurança, configuração e gerenciamento de serviços consistentes. Por exemplo, o GKE Enterprise possibilita uma arquitetura distribuída de confiança zero. Em uma arquitetura distribuída de confiança zero, os serviços implantados no local ou em outro ambiente de nuvem podem se comunicar entre ambientes com comunicações seguras de serviços completas do mTLS.

Considerações sobre a portabilidade da carga de trabalho

O Kubernetes e o GKE Enterprise oferecem uma camada de abstração para cargas de trabalho que pode ocultar as muitas complexidades e diferenças entre os ambientes computacionais. A lista a seguir descreve algumas dessas abstrações:

  • Um aplicativo pode ser portável para um ambiente diferente com alterações mínimas, mas isso não significa que ele terá um bom funcionamento nos dois ambientes.
    • Diferenças na computação subjacente, nos recursos de segurança da infraestrutura ou na infraestrutura de rede, assim como a proximidade a serviços dependentes, podem levar a um desempenho substancialmente diferente.
  • A migração da carga de trabalho entre ambientes computacionais também pode exigir a migração dos dados.
    • Diferentes ambientes podem ter diferentes tipos de armazenamento e de gerenciamento de projetos e instalações.
  • O comportamento e o desempenho dos balanceadores de carga provisionados com o Kubernetes ou o GKE Enterprise podem variar entre os ambientes.

Movimentação de dados

Como pode ser complexo mover, compartilhar e acessar dados em escala entre ambientes computacionais, as empresas podem hesitar em criar uma arquitetura híbrida ou multicloud. Essa hesitação pode aumentar se eles já estiverem armazenando a maior parte dos dados no local ou em uma nuvem.

No entanto, as muitas opções de movimentação de dados do Google Cloud oferecem às empresas um conjunto abrangente de soluções para mover, integrar e transformar os dados. Essas opções ajudam as empresas a armazenarem, compartilharem e acessarem dados em diferentes ambientes de uma maneira que atenda aos casos de uso específicos. Por fim, essa capacidade torna mais fácil para os tomadores de decisões empresariais e tecnológicas adotarem arquiteturas híbridas e multicloud.

A movimentação de dados é uma consideração importante para estratégias de planejamento de arquitetura híbridas e multicloud. Sua equipe precisa identificar os diferentes casos de uso de negócios e os dados que os alimentam. Considere também as opções de armazenamento tipo, capacidade, acessibilidade e movimento.

Se uma empresa tem uma classificação de dados para setores regulamentados, a classificação pode ajudar a identificar locais de armazenamento e restrições de movimentação de dados entre regiões para determinadas classes de dados. Para mais informações, consulte a Proteção de Dados Sensíveis A proteção de dados sensíveis é um serviço totalmente gerenciado projetado para ajudar você a descobrir, classificar e proteger os recursos de dados.

Para conhecer o processo, desde o planejamento de uma transferência de dados até o uso das práticas recomendadas na implementação de um plano, consulte Migração para o Google Cloud: como transferir conjuntos de dados grandes.

Segurança

À medida que as organizações adotam arquiteturas híbridas e multicloud, a superfície de ataque pode aumentar, dependendo da forma como os sistemas e dados são distribuídos em ambientes diferentes. Combinado com o cenário de ameaças em constante evolução, o aumento das superfícies de ataque pode levar a um risco maior de acesso não autorizado, perda de dados e outros incidentes de segurança. Considere com cuidado a segurança ao planejar e implementar estratégias híbridas ou multicloud.

Para mais informações, consulte Gerenciamento de superfície de ataque do Google Cloud.

Ao criar uma arquitetura híbrida, nem sempre é tecnicamente viável estender as abordagens de segurança do local para a nuvem. No entanto, a maioria dos recursos de segurança de rede de dispositivos de hardware priorizam a nuvem e operam de maneira distribuída. Para mais informações sobre os recursos de segurança de rede com priorização da nuvem do Google Cloud, consulte Segurança de rede na nuvem.

Arquiteturas híbridas e multicloud podem aumentar a comprovação de segurança adicional, como consistência e observabilidade. Todos os provedores de nuvem pública tem sua abordagem de segurança, incluindo diferentes modelos, práticas recomendadas, recursos de segurança de aplicativos e infraestrutura, obrigações de compliance, e até mesmo nomes dos serviços de segurança. Essas inconsistências podem aumentar os riscos de segurança. Além disso, o modelo de responsabilidade compartilhada de cada provedor de nuvem pode ser diferente. É essencial identificar e entender a demarcação exata de responsabilidades em uma arquitetura multicloud.

A observabilidade é fundamental para obter insights e métricas de diferentes ambientes. Em uma arquitetura multicloud, cada nuvem geralmente fornece ferramentas para monitorar a postura de segurança e as configurações incorretas. No entanto, o uso dessas ferramentas resulta em visibilidade isolada, o que impede a criação de uma inteligência sobre ameaças avançada em todo o ambiente. Por isso, a equipe de segurança precisa alternar entre ferramentas e painéis para manter a nuvem segura. Sem uma visibilidade de segurança de ponta a ponta abrangente para os ambientes híbridos e multicloud, fica difícil priorizar e mitigar as vulnerabilidades.

Para obter uma visibilidade e uma postura completas de todos os ambientes, priorize as vulnerabilidades e mitigue as vulnerabilidades identificadas. Recomendamos um modelo de visibilidade centralizado. Um modelo de visibilidade centralizado, evita a correlação manual entre diferentes ferramentas e painéis de diferentes plataformas. Para mais informações, consulte Padrões de geração de registros e monitoramento híbrido e multicloud.

Como parte do planejamento para mitigar riscos de segurança e implantar cargas de trabalho no Google Cloud e para ajudar você a planejar e projetar uma solução de nuvem que atenda aos seus objetivos de segurança e compliance, explore a central de práticas recomendadas de segurança e o modelo de bases empresariais do Google Cloud.

Os objetivos de compliance podem variar, já que são influenciados pelas regulamentações específicas do setor e pelos distintos requisitos regulatórios em diferentes regiões e países. Para mais informações, consulte a Central de recursos de compliance do Google Cloud. Estas são algumas das principais recomendações para criar uma arquitetura segura híbrida e multicloud:

  • Desenvolva a estratégia e a arquitetura de segurança na nuvem unificadas e personalizadas. Estratégias de segurança híbridas e multicloud precisam ser adaptadas às necessidades e objetivos da sua organização.

    É essencial entender a arquitetura e o ambiente alvo antes de implementar controles de segurança, porque cada ambiente pode usar diferentes recursos, configurações e serviços.

  • Considere uma arquitetura de segurança unificada em ambientes de nuvem híbrida e multicloud.

  • Padronize o design e as implantações na nuvem, especialmente o design e os recursos de segurança. Isso melhora a eficiência e permite uma governança e ferramentas unificadas.

  • Use vários controles de segurança.

    Normalmente, nenhum controle de segurança pode atender adequadamente a todos os requisitos de proteção. Portanto, as organizações precisam usar uma combinação de controles de segurança para uma defesa com várias camadas, também conhecida como defesa em profundidade.

  • Monitorar e melhorar continuamente as posturas de segurança: a organização deve monitorar os diferentes ambientes em busca de ameaças e vulnerabilidades de segurança. Ele também deve melhorar continuamente a postura de segurança.

  • Considere usar o Cloud Security Posture Management (CSPM) para identificar e corrigir configurações incorretas de segurança e ameaças à segurança cibernética. O CSPM também oferece avaliações de vulnerabilidade em ambientes híbridos e multicloud.

O Security Command Center é uma solução integrada de gerenciamento de segurança e risco do Google Cloud que ajuda a identificar configurações incorretas, vulnerabilidades e muito mais. O Security Health Analytics é uma ferramenta gerenciada de verificação para a avaliação de vulnerabilidades. Um recurso do Security Command Center identifica as vulnerabilidades e os riscos de segurança no ambiente do Google Cloud e oferece recomendações para corrigi-los.

O Mandiant Attack Surface Management para o Google Cloud permite que sua organização enxergue melhor os ativos de ambientes de nuvem híbrida e multicloud. Ele descobre automaticamente os ativos de vários provedores de nuvem, DNS e a superfície de ataque externa estendida para oferecer à sua empresa uma compreensão mais profunda do ecossistema. Use estas informações para priorizar a correção das vulnerabilidades e das exposições que apresentam um risco maior.

  • Solução de gerenciamento de eventos e informações de segurança na nuvem (SIEM, na em inglês): ajuda a coletar e analisar registros de segurança de ambientes híbridos e multicloud para detectar e responder a ameaças. O Google Security Operations SIEM do Google Cloud ajuda a oferecer o gerenciamento de eventos e informações de segurança ao coletar, analisar, detectar e investigar todos os dados de segurança em um só lugar.