Início
topics
Orquestração de contêineres
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.
Conecte e integre seus sistemas para preparar sua infraestrutura para IA.
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.
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:
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:
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.
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:
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.
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.
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.
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).
A nova pesquisa da IBM documenta o impulso crescente do container e da adoção do Kubernetes.
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.
Docker é uma plataforma de código aberto para construir, implementar e gerenciar aplicativos em contêiner.