Executar contentores num ambiente híbrido

Azure Container Registry
Azure Arc
Azure Container Instances
Azure Cosmos DB
Azure Kubernetes Service (AKS)
Azure Monitor

Esta arquitetura de referência ilustra como os programadores podem criar, gerir e monitorizar contentores implementados na cloud pública, em várias clouds e no local.

Arquitetura

O diagrama ilustra uma equipa de programadores que implementa as respetivas imagens de contentor num microsoft Azure Container Registry. Posteriormente, as imagens de contentor são extraídas e implementadas num cluster do Kubernetes no local ou na cloud. Os contentores são monitorizados com o Azure Monitor e as imagens de contentor são analisadas e monitorizadas com Azure Container Registry.

Transfira um ficheiro do Visio desta arquitetura.

Componentes

  • Azure Container Registry é um serviço que cria um registo gerido. Cria, armazena e gere imagens de contentor e pode armazenar modelos de machine learning em contentores.
  • Azure Kubernetes Service (AKS) é um serviço gerido que oferece um cluster do Kubernetes gerido com funcionalidade de escalamento horizontal elástico. Nesta arquitetura, é utilizado um cluster do Kubernetes local para executar vários contentores no local.
  • Azure Container Instances executa contentores a pedido num ambiente do Azure sem servidor. Azure Container Instances é um método de baixa fricção para executar contentores que não requerem uma instalação completa do Docker ou do Kubernetes.
  • O Azure Cosmos DB é uma base de dados de vários modelos que pode servir dados de forma elástica a uma escala massiva. Foi concebido para aplicações que são distribuídas globalmente num modelo de várias escritas.
  • O Azure Key Vault é um serviço de gestão de credenciais com suporte de hardware que tem uma integração apertada com os serviços de identidade da Microsoft e os recursos de computação.
  • Azure Policy impõe normas e avalia a conformidade dos recursos direcionados implementados no Azure.
  • Azure Private Link cria um ponto final privado na sua rede virtual que pode utilizar para comunicar com a plataforma como um serviço (PaaS) do Azure sem expor o seu serviço à Internet pública.
  • O Azure Monitor é um conjunto abrangente de serviços de monitorização para aplicações implementadas no Azure ou no local.
  • Microsoft Defender para a Cloud é um sistema unificado de proteção contra ameaças e gestão de segurança para cargas de trabalho no local, em várias clouds e no Azure.

Detalhes do cenário

Potenciais casos de utilização

Utilizações típicas desta arquitetura:

  • Aplicações Web com componentes internos e externos que implementam na cloud pública e no local com imagens de contentor partilhadas.
  • Ciclos de testes de implementação modernos com análise de qualidade, testes, desenvolvimento ou teste alojados no local e na cloud pública.

Recomendações

Registo de Contentores do Azure

Azure Container Registry é um registo de contentores empresariais que pode implementar melhores práticas comuns ao proteger imagens de acesso não autorizado, replicar imagens em várias geografias, impedir entradas/saídas desnecessárias e otimizar os custos. Suporta a georreplicação chave na mão em várias regiões do Azure, o que o ajuda a minimizar a latência entre Azure Container Registry, os anfitriões de contentor e a equipa de desenvolvimento.

Azure Container Registry inclui um conjunto de tarefas, denominadas Tarefas do ACR, que podem gerir a criação e manutenção de imagens de contentores baseadas na cloud em vários sistemas operativos. As Tarefas do ACR podem ser acionadas manualmente, através de uma alteração ao controlo de origem, de uma alteração à imagem de contentor base ou de uma agenda fixa. Seguem-se cenários em que pode utilizar tarefas do ACR:

  • Um programador da Internet das Coisas (IoT) está a criar imagens de contentor para serem executadas em dispositivos IoT baseados em ARM. O programador pode estar a utilizar um sistema operativo Linux ou macOS para desenvolver o software, mas precisa de executar a compilação numa plataforma arm.
  • Uma equipa de desenvolvimento de software como serviço (SaaS) cria software em computadores Windows que executam imagens de contentor em anfitriões Linux. A equipa quer que as suas compilações sejam feitas num anfitrião Linux.
  • Um open source responsável pela manutenção de projetos está a criar uma imagem de contentor que aumenta uma imagem de base do sistema operativo bem conhecida. O responsável pela manutenção quer que a imagem do contentor seja atualizada sempre que a imagem de base for atualizada.

Nota

As Tarefas do ACR podem uniformizar o ambiente de compilação e realizar a integração contínua das imagens de contentor.

Azure Container Instances

Azure Container Instances é um ambiente de computação sem servidor e de baixa fricção para aplicações em contentores. É uma excelente opção para a implementação de contentores devido à sua baixa sobrecarga de gestão e tempos de arranque rápidos. As imagens de contentor armazenadas no Azure Container Registry podem ser implementadas diretamente em grupos de contentores Azure Container Instances.

Nesta arquitetura, Azure Container Instances grupos de contentores são utilizados como nós virtuais para um cluster Azure Kubernetes Service. O AKS utiliza nós virtuais para registar um pod virtual com capacidade ilimitada e a capacidade de despachar pods com Azure Container Instances grupos de contentores. Isto é ideal quando quer um aprovisionamento rápido de pods individuais e apenas quer pagar o tempo de execução por segundo.

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser utilizados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, veja Microsoft Azure Well-Architected Framework.

Fiabilidade

A fiabilidade garante que a sua aplicação pode cumprir os compromissos que assumiu com os seus clientes. Para obter mais informações, veja Descrição geral do pilar de fiabilidade.

  • Normalmente, as aplicações modernas incluem um site, uma ou mais APIs HTTP e uma ligação a um arquivo de dados. As aplicações dentro de uma imagem de contentor devem estar sem estado para dimensionamento e disponibilidade horizontais máximos. Os dados devem ser armazenados num serviço separado que tenha uma disponibilidade semelhante. Para obter orientações sobre a conceção de uma aplicação que pode ser dimensionada para milhares de nós, veja a secção eficiência de desempenho do Azure Well-Architected Framework.
  • O AKS tem uma linha de base de arquitetura de referência que define cada uma das categorias do Well-Architected Framework e recomenda uma implementação que esteja em conformidade com a categoria.
  • Para reduzir o impacto de grandes solicitações de imagens de contentor, implemente Azure Container Registry numa região mais próxima da equipa de desenvolvimento e dos serviços de computação de produção. Considere uma implementação de Azure Container Registry georreplicada para equipas distribuídas e contentores de produção distribuídos.
  • O Azure Cosmos DB é um serviço de base de dados que suporta a distribuição global chave na mão e suporta a ativação pós-falha automática em várias regiões. O Azure Cosmos DB também tem a capacidade de ativar várias escritas de regiões e adicionar ou remover dinamicamente regiões.

Segurança

A segurança fornece garantias contra ataques deliberados e abuso dos seus valiosos dados e sistemas. Para obter mais informações, veja Descrição geral do pilar de segurança.

Utilize Azure Private Link para comunicar com e entre serviços na sua rede virtual. Ao fazê-lo, encaminha o tráfego através de sub-redes específicas para aceder diretamente aos serviços individuais do Azure e proteger os seus dados contra exposição inadvertida à Internet pública.

Otimização de custos

A otimização de custos consiste em analisar formas de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, veja Descrição geral do pilar de otimização de custos.

  • Utilize a calculadora de preços do Azure para prever os custos.
  • Se a equipa de desenvolvimento e as instâncias de produção estiverem numa única região, considere colocar o recurso do Container Registry na mesma região. Ao fazê-lo, minimiza a latência push e pull do contentor e evita os custos mais elevados do escalão de serviço premium Azure Container Registry.
  • Configurar Azure Container Registry para utilizar um Rede Virtual do Azure através de um ponto final de serviço Azure Private Link requer que a instância Azure Container Registry seja implementada no escalão Premium.
  • O AKS oferece gestão de clusters gratuita. Só é faturado pelos recursos de computação, armazenamento e rede que o AKS utiliza para alojar nós. Veja Preços da Máquina Virtual do Azure ou Azure Container Instances para rever os preços de cada serviço de computação.
  • Se precisar de um contrato de nível de serviço (SLA) de tempo de atividade específico, pode ativar a funcionalidade opcional do SLA de tempo de atividade do AKS.
  • Azure Container Instances recursos são faturados pela segunda, com base numa alocação de recursos de CPU e memória virtuais ao grupo de contentores. A alocação de recursos de computação desnecessários pode aumentar significativamente os custos de execução desta solução de arquitetura. A monitorização e otimização de custos é um processo contínuo que deve ser realizado em intervalos regulares ao longo da duração da sua implementação. Para obter mais informações sobre como minimizar Azure Container Instances custos operacionais, veja a secção otimização de custos do Azure Well-Architected Framework.

Excelência Operacional

A excelência operacional abrange os processos de operações que implementam uma aplicação e a mantêm em execução em produção. Para obter mais informações, veja Descrição geral do pilar de excelência operacional.

Capacidade de gestão

DevOps

Eficiência de desempenho

Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, veja Descrição geral do pilar Eficiência do desempenho.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Para ver perfis do LinkedIn não públicos, inicie sessão no LinkedIn.

Passos seguintes

Documentação de orientação híbrida relacionada:

Arquiteturas relacionadas: