O que são orquestradores?

Concluído

O design separado dos microsserviços combinado com a atomicidade dos contêineres possibilita escalar horizontalmente aplicativos e responder ao aumento da demanda por meio da implantação de mais instâncias de contêiner e da redução delas, caso a demanda diminua. Em soluções complexas, o processo de implantação, atualização, monitoramento e remoção de contêineres apresenta desafios.

Gerenciamento de contêiner

O gerenciamento de contêineres é o processo de organizar, adicionar, remover ou atualizar um número significativo de contêineres.

O site da empresa de equipamentos Contoso outdoor consiste em vários microsserviços responsáveis por tarefas como cache, processamento de dados e um carrinho de compras. Cada um desses serviços é hospedado em um contêiner e pode ser implantado, atualizado e escalado independentemente um do outro.

Diagram illustrating adding multiple containers to a single machine instance.

Se você aumentar o número de instâncias de contêiner de carrinho de compras e precisar implantar uma nova versão, será preciso atualizar todas as instâncias individuais desse contêiner.

O gerenciamento de contêineres auxilia nessas tarefas.

Orquestração de contêineres

Um orquestrador de contêineres é um sistema que implanta e gerencia aplicativos em contêineres automaticamente. Por exemplo, o orquestrador pode responder dinamicamente às alterações no ambiente para aumentar ou reduzir as instâncias implantadas do aplicativo gerenciado. Ele também poderá garantir que todas as instâncias de contêiner implantadas sejam atualizadas se uma nova versão de um serviço for liberada.

Diagram showing some tasks of orchestration, including dynamic scaling and automatically updating running instances.

Kubernetes

O Kubernetes é uma plataforma de software livre portátil e extensível usada para gerenciar e orquestrar cargas de trabalho em contêineres. O Kubernetes elimina tarefas complexas de gerenciamento de contêineres e fornece a você a configuração declarativa para orquestrar contêineres em diferentes ambientes de computação. Essa plataforma de orquestração fornece a mesma facilidade de uso e flexibilidade que você já conhece das ofertas de Plataforma como Serviço (PaaS) ou Infraestrutura como Serviço (IaaS).

Image showing the Kubernetes logo amongst multiple containers running on a computer

Benefícios

Os benefícios de usar o Kubernetes se baseiam na abstração de tarefas.

Diagram showing the benefits of Kubernetes including that it's self-healing, can scale dynamically, and has rolling updates.

Essas tarefas incluem:

  • Autorrecuperação de contêineres; por exemplo, reiniciar contêineres que falham ou substituir contêineres.
  • Aumento ou redução dinâmica da contagem de contêineres implantados com base na demanda.
  • Automatização de atualizações sem interrupção e de reversões de contêineres.
  • Gerenciamento do armazenamento.
  • Gerenciamento do tráfego de rede.
  • Armazenamento e gerenciamento de informações confidenciais, como nomes de usuário e senhas.

Como o Kubernetes é uma ferramenta para orquestrar cargas de trabalho conteinerizadas e você pode implantar os microsserviços do .NET em contêineres, você pode usar o Kubernetes para orquestrar seus microsserviços .NET. É isso que o restante deste módulo ensinará a você.

Verificar seu conhecimento

1.

Por que um orquestrador de contêineres é útil em uma arquitetura de microsserviço?