O que é orquestração de containers?
A orquestração automatiza a implantação, o gerenciamento, a escala e a rede dos containers. Empresas que precisam implantar e gerenciar centenas ou milhares de containers Linux® e hosts podem se beneficiar da orquestração de containers.
É possível usar a orquestração em todos os ambientes em que você usa os containers. Com ela, você implanta a mesma aplicação em ambientes diferentes sem precisar reprojetá-la. Além disso, com os microsserviços em containers, é mais fácil orquestrar serviços, incluindo armazenamento, rede e segurança.
Os containers oferecem às aplicações baseadas em microsserviços uma unidade de implantação e um ambiente de execução autônomo ideais. Eles possibilitam a execução independente de várias partes de uma aplicação em microsserviços no mesmo hardware, com um controle muito maior sobre os componentes individuais e ciclos de vida.
Usar a orquestração no gerenciamento do ciclo de vida dos containers também oferece suporte às equipes de DevOps que integram fluxos de trabalho de CI/CD a ele. Com as interfaces de programação de aplicações (APIs) e as equipes de DevOps, os microsserviços em containers são os pilares das aplicações nativas em nuvem.
Qual é a finalidade da orquestração de containers?
Use a orquestração de containers para automatizar e gerenciar tarefas como:
- Provisionamento e implantação
- Configuração e programação
- Alocação de recursos
- Disponibilidade dos containers
- Escala ou remoção de containers com base no balanceamento de cargas de trabalho na infraestrutura
- Balanceamento de carga e roteamento de tráfego
- Monitoramento da integridade do container
- Configuração da aplicação com base no container em que ela será executada
- Proteção das interações entre os containers
Ferramentas de orquestração de containers
As ferramentas de orquestração de containers fornecem um framework para gerenciar arquiteturas de microsserviços e containers em escala. Muitas delas podem ser usadas no gerenciamento do ciclo de vida dos containers. Algumas opções conhecidas são o Kubernetes, Docker Swarm e Apache Mesos.
O Kubernetes é uma ferramenta open source de orquestração de containers projetada e desenvolvida originalmente por engenheiros do Google. Em 2015, o Google doou o projeto Kubernetes à recém-formada Cloud Native Computing Foundation.
Com a capacidade de orquestração do Kubernetes, é possível criar serviços de aplicações que abrangem múltiplos containers, programar o uso dos containers no cluster, escalá-los e gerenciar a integridade deles ao longo do tempo.
O Kubernetes elimina grande parte dos processos manuais necessários para implantar e escalar aplicações em container. É possível agrupar em clusters os hosts, sejam eles físicos ou máquinas virtuais, executados nos containers Linux. Com o Kubernetes, você tem uma plataforma para gerenciar esses clusters com facilidade e eficiência.
Em termos mais abrangentes, com o Kubernetes, é mais fácil implementar e confiar totalmente em uma infraestrutura baseada em containers para os ambientes de produção.
Esses clusters podem abranger hosts em nuvens públicas, privadas ou híbridas. Por isso, o Kubernetes é a plataforma ideal para hospedar aplicações nativas em nuvem que exigem escalabilidade rápida.
O Kubernetes também ajuda com o balanceamento de carga e a portabilidade de cargas de trabalho, possibilitando a migração de aplicações sem precisar recriá-las.