O que é orquestração de contêiner?
Explore a solução de orquestração de contêineres da IBM Inscreva-se para receber atualizações sobre a nuvem
Ilustração com colagem de pictogramas de monitor de computador, servidor, nuvens, pontos
O que é orquestração de contêiner?

A orquestração de contêineres automatiza e simplifica o provisionamento, implementação e gerenciamento de aplicações em contêineres.

Atualmente, o Kubernetes é a plataforma de orquestração de contêineres mais popular, e a maioria dos principais provedores de nuvem pública - incluindo Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud e Microsoft Azure - oferece serviços gerenciados de Kubernetes. Outras ferramentas de orquestração de contêineres incluem Docker Swarm e Apache Mesos.

Obtenha o valor total da sua nuvem híbrida

Conecte e integre seus sistemas para preparar sua infraestrutura para IA.

Conteúdo relacionado

Cadastre-se para receber o guia sobre DaaS

Mais sobre contêineres e por que eles precisam de orquestração

Contêineres são componentes de aplicações executáveis e leves que combinam códigos fonte de aplicativos com todas as bibliotecas do sistema operacional (OS) e dependências necessárias para executar o código em qualquer ambiente.

A capacidade de criar contêineres existe há décadas, mas tornou-se amplamente disponível em 2008, quando o Linux incluiu a funcionalidade de contêiner em seu kernel. E então foi amplamente utilizada com a chegada da plataforma de conteinerização de código aberto Docker em 2013. (Docker é tão popular que "contêineres Docker" e "contêineres" muitas vezes são usados de forma intercambiável).

Como são menores, mais eficientes em termos de recursos e mais portáteis do que as máquinas virtuais (VMs), os contêineres e, mais especificamente, os microservices ou as funções serverless em contêineres — se tornaram as de fato em modernas unidades de processamento padrão de aplicativos nativo de cloud. (Para saber mais sobre os benefícios dos contêineres, consulte a visualização interativa de dados abaixo)

Em pequenos números, os contêineres são fáceis o suficiente para implementar e gerenciar manualmente. Mas, na maioria das organizações, o número de aplicações conteinerizadas está crescendo rapidamente, e gerenciá-los em escala, especialmente como parte de um pipeline de integração contínua/entrega contínua (CI/CD) ou DevOps, é impossível sem automação.

Introduza a orquestração de contêineres, que automatiza as tarefas operacionais relacionadas à implementação e execução de aplicações e serviços em contêineres. De acordo com uma pesquisa recente da IBM, 70% dos desenvolvedores que utilizam contêineres relatam usar soluções de orquestração de contêineres, e 70% desses relatam o uso de um serviço de orquestração de contêineres totalmente gerenciado (gerenciado pela nuvem) em sua organização.

Baixe o relatório completo: contêineres na empresa
Como funciona a orquestração de contêineres

Embora haja diferenças nas metodologias e nos recursos entre as ferramentas, a orquestração de contêiner é essencialmente um processo de três etapas (ou ciclo, quando parte de um pipeline iterativo agile ou DevOps).

A maioria das ferramentas de orquestração de contêineres suporta um modelo de configuração declarativa: um desenvolvedor escreve um arquivo de configuração (em YAML ou JSON, dependendo da ferramenta) que define um estado de configuração desejado. A ferramenta de orquestração que executa o arquivo usa sua própria inteligência para alcançar esse estado. O arquivo de configuração normalmente:

  • Define quais imagens de contêiner compõem a aplicação e onde estão localizadas (em qual registro).

  • Fornece os contêineres com armazenamento e outros recursos.

  • Define e protege as conexões de rede entre os contêineres.

  • Especifica o controle de versão (para lançamentos em fases ou canary rollouts).

A ferramenta de orquestração agenda a implementação dos contêineres (e réplicas dos contêineres, para resiliência) em um host. Ela escolhe o melhor host com base na capacidade disponível de CPU, memória ou outros requisitos ou restrições especificados no arquivo de configuração.

Assim que os contêineres são implementados, a ferramenta de orquestração gerencia o ciclo de vida da aplicação conteinerizada com base no arquivo de definição do contêiner (muitas vezes um Dockerfile). Isso inclui:

  • Gerenciar a escalabilidade (para cima e para baixo), balanceamento de carga e alocação de recursos entre os contêineres.
  • Garantir a disponibilidade e o desempenho, realocando os contêineres para outro host no caso de uma falha ou escassez de recursos do sistema.

  • Coletar e armazenar dados de log e outras telemetrias que são usadas para monitorar a saúde e o desempenho da aplicação.

Benefícios da orquestração de contêineres


Provavelmente já é claro que o principal benefício da orquestração de contêineres é a automação - e não apenas porque reduz significativamente o esforço e a complexidade de gerenciar um grande conjunto de aplicações conteinerizadas. Ao automatizar operações, a orquestração suporta uma abordagem ágil ou DevOps que permite às equipes desenvolver e implementar em ciclos rápidos e iterativos e lançar novos recursos e recursos mais rapidamente.

Além disso, a inteligência de uma ferramenta de orquestração pode aprimorar ou estender muitos dos benefícios inerentes da conteinerização. Por exemplo, a seleção automatizada de hosts e a alocação de recursos, com base na configuração declarativa, maximizam o uso eficiente dos recursos de computação; o monitoramento automatizado da integridade e a realocação de contêineres maximizam a disponibilidade.

Kubernetes

Como mencionado acima, o Kubernetes é a plataforma de orquestração de contêineres mais popular. Juntamente com outras ferramentas no ecossistema de contêineres, o Kubernetes permite que uma empresa ofereça uma plataforma como serviço (PaaS) altamente produtiva.Ele aborda muitas das tarefas e questões relacionadas à infraestrutura e operações em torno do desenvolvimento de aplicações nativas da nuvem, permitindo que as equipes de desenvolvimento se concentrem exclusivamente em codificação e inovação.

As vantagens da Kubernetes em relação a outras soluções de orquestração são, em grande parte, um resultado de sua funcionalidade mais abrangente e sofisticada em várias áreas, incluindo:

  • Implementação de contêiner. O Kubernetes implementa um número específico de contêineres em um host específico e os mantém funcionando em um estado desejado.

  • Lançamentos. Um lançamento é uma alteração em uma implementação. O Kubernetes permite iniciar, pausar, retomar ou reverter lançamentos.

  • Descoberta de serviços. O Kubernetes pode expor automaticamente um contêiner à internet ou a outros contêineres usando um nome DNS ou endereço IP.

  • Provisionamento de armazenamento. Os desenvolvedores podem definir o Kubernetes para montar armazenamento local ou em nuvem persistente para seus contêineres, conforme necessário.

  • Balanceamento de carga e escalabilidade. Quando o tráfego para um contêiner aumenta, o Kubernetes pode utilizar balanceamento de carga e escalonamento para distribuí-lo pela rede para garantir estabilidade e desempenho. (Isso também poupa os desenvolvedores do trabalho de configurar um balanceador de carga).

  • Capacidade de recuperação automática para alta disponibilidade. Quando um contêiner falha, o Kubernetes pode reiniciá-lo ou substituí-lo automaticamente. Ele também pode derrubar contêineres que não atendem aos seus requisitos de verificação de integridade.

     
  • Suporte e portabilidade em múltiplos provedores de nuvem. Como observado anteriormente, o Kubernetes tem amplo suporte em todos os principais provedores de nuvem. Isso é especialmente importante para organizações que implementam aplicativos em um ambiente de nuvem híbrida ou multinuvem híbrida.

  • Ecossistema em crescimento de ferramentas de código aberto.O Kubernetes também possui um conjunto cada vez maior de ferramentas de usabilidade e rede para aprimorar seus recursos por meio da API do Kubernetes. Isso inclui o Knative, que permite que contêineres sejam executados como cargas de trabalho sem servidor; e o Istio, uma malha de serviço de código aberto.

Saiba mais sobre o Kubernetes

Soluções relacionadas
Red Hat OpenShift on IBM Cloud

O Red Hat OpenShift on IBM Cloud aproveita o OpenShift em ambientes públicos e híbridos para velocidade, capacidade de resposta ao mercado, escalabilidade e confiabilidade.

Conheça o Red Hat OpenShift on IBM Cloud
IBM Cloud Satellite

Com o IBM Cloud Satellite, é possível implementar serviços em nuvem consistentes em qualquer lugar, seja em ambientes locais, na borda ou em ambientes de nuvem pública.

Explore o IBM Cloud satélite
IBM Cloud Code Engine

Execute imagens de contêiner, trabalhos em lote ou código fonte como cargas de trabalho sem servidor — sem necessidade de dimensionamento, implementação, rede ou escalonamento.

Explore o IBM Cloud Code Engine
Otimize Kubernetes com IBM Turbonomic

Determine automaticamente as ações corretas de alocação de recursos — e quando fazê-las — para ajudar a garantir que seus ambientes Kubernetes e aplicativos críticos obtenham exatamente o que precisam para atender aos seus SLOs (objetivos de nível de serviço).

Explore o IBM Turbonomic
Recursos Contêineres na empresa

A nova pesquisa da IBM documenta o impulso crescente do container e da adoção do Kubernetes.

Combine os melhores recursos da nuvem e da TI tradicional

A orquestração de contêineres é um componente essencial de uma estratégia de nuvem híbrida aberta que permite criar e gerenciar cargas de trabalho de qualquer lugar.

O que é Docker?

Docker é uma plataforma de código aberto para construir, implementar e gerenciar aplicativos em contêiner.

Dê o próximo passo

O Red Hat OpenShift no IBM Cloud oferece aos desenvolvedores uma maneira rápida e segura de conteinerizar e implementar cargas de trabalho corporativas em clusters Kubernetes. Transfira tarefas tediosas e repetitivas que envolvem gerenciamento de segurança, gerenciamento de conformidade, gerenciamento de implementação e gerenciamento contínuo do ciclo de vida. 

Conheça o Red Hat OpenShift on IBM Cloud Comece a usar sem custos