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.

Diagrama ilustrando a adição de vários contêineres a uma instância de computador.

Se você aumentar o número de instâncias do contêiner do carrinho de compras e precisar implantar uma nova versão, precisará atualizar cada instância 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.

Diagrama mostrando algumas tarefas de orquestração, incluindo o dimensionamento dinâmico e a atualização automática de instâncias em execução.

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).

Imagem mostrando o logotipo do Kubernetes entre vários contêineres em execução em um computador

Benefícios

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

Diagrama mostrando os benefícios do Kubernetes, inclusive que ele tem autorrecuperação, pode ser dimensionado dinamicamente e tem atualizações contínuas.

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 é o que o restante deste módulo ensina.

Verificar seu conhecimento

1.

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