Instâncias de contêiner do Azure e orquestradores de contêiner
Devido ao seu pequeno tamanho e orientação para aplicativos, os contêineres são adequados para ambientes de entrega ágeis e arquiteturas baseadas em microsserviços. A tarefa de automatizar e gerenciar um grande número de contêineres e como eles interagem é conhecida como orquestração. Orquestradores de contêineres populares incluem Kubernetes, DC/OS e Docker Swarm.
As Instâncias de Contêiner do Azure fornecem alguns dos recursos básicos de agendamento de plataformas de orquestração. E, embora não abranja os serviços de maior valor que essas plataformas fornecem, as Instâncias de Contêiner do Azure podem ser complementares a elas. Este artigo descreve o escopo do que as Instâncias de Contêiner do Azure lidam e como os orquestradores de contêiner completos podem interagir com ele.
Orquestração tradicional
A definição padrão de orquestração inclui as seguintes tarefas:
- Agendamento: Dada uma imagem de contêiner e uma solicitação de recurso, encontre uma máquina adequada para executar o contêiner.
- Afinidade/Antiafinidade: Especifique que um conjunto de contêineres deve ser executado próximo um do outro (para desempenho) ou suficientemente distante (para disponibilidade).
- Monitoramento de integridade: observe as falhas do contêiner e reprograme-as automaticamente.
- Failover: acompanhe o que está sendo executado em cada máquina e reagende contêineres de máquinas com falha para nós íntegros.
- Dimensionamento: adicione ou remova instâncias de contêiner para corresponder à demanda, manual ou automaticamente.
- Rede: forneça uma rede de sobreposição para coordenar contêineres para se comunicar entre várias máquinas host.
- Descoberta de serviço: permita que os contêineres se localizem automaticamente, mesmo quando se movem entre máquinas host e alteram endereços IP.
- Atualizações coordenadas de aplicativos: gerencie atualizações de contêiner para evitar tempo de inatividade de aplicativos e habilite a reversão se algo der errado.
Orquestração com instâncias de contêiner do Azure: uma abordagem em camadas
As Instâncias de Contêiner do Azure permitem uma abordagem em camadas para orquestração, fornecendo todos os recursos de agendamento e gerenciamento necessários para executar um único contêiner, permitindo que as plataformas do orquestrador gerenciem tarefas de vários contêineres sobre ele.
Como o Azure gerencia a infraestrutura subjacente para instâncias de contêiner, uma plataforma orchestrator não precisa se preocupar em encontrar uma máquina host apropriada na qual executar um único contêiner. A elasticidade da nuvem garante que uma esteja sempre disponível. Em vez disso, o orquestrador pode se concentrar nas tarefas que simplificam o desenvolvimento de arquiteturas de vários contêineres, incluindo dimensionamento e atualizações coordenadas.
Cenários
Embora a integração do orquestrador com as Instâncias de Contêiner do Azure ainda seja incipiente, antecipamos que alguns ambientes diferentes surjam:
Orquestração exclusiva de instâncias de contêiner
Como eles começam rapidamente e faturam por segundo, um ambiente baseado exclusivamente em Instâncias de Contêiner do Azure oferece a maneira mais rápida de começar e lidar com cargas de trabalho altamente variáveis.
Combinação de instâncias de contêiner e contêineres em máquinas virtuais
Para cargas de trabalho estáveis e de longa execução, orquestrar contêineres em um cluster de máquinas virtuais dedicadas normalmente é mais barato do que executar os mesmos contêineres com Instâncias de Contêiner do Azure. No entanto, as instâncias de contêiner oferecem uma ótima solução para expandir e contratar rapidamente sua capacidade geral para lidar com picos de uso inesperados ou de curta duração.
Em vez de dimensionar o número de máquinas virtuais em seu cluster e, em seguida, implantar mais contêineres nessas máquinas, o orquestrador pode agendar os contêineres adicionais nas Instâncias de Contêiner do Azure e excluí-los quando não forem mais necessários.
Exemplo de implementação: nós virtuais em instâncias de contêiner do Azure
Para dimensionar rapidamente cargas de trabalho de aplicativos em um cluster do Serviço Kubernetes do Azure (AKS), você pode usar nós virtuais criados dinamicamente em Instâncias de Contêiner do Azure. Os nós virtuais registam-se como nós com capacidade ilimitada com o seu plano de controlo de cluster AKS. Quando você implanta pods em um nó virtual em seu cluster AKS, eles são executados como grupos de contêineres na ACI.
Atualmente, os nós virtuais suportam instâncias de contêiner do Linux. Consulte Nós virtuais em instâncias de contêiner do Azure para saber mais.
Próximos passos
Crie seu primeiro contêiner com as Instâncias de Contêiner do Azure usando o guia de início rápido.