Conteúdo


Tecnologias de orquestração de nuvem: explore suas opções

Aprenda o básico e compare as diversas ferramentas disponíveis

Comments

Ultimamente tem havido bastante discussão no setor de TI sobre orquestração de nuvem, e muitos querem saber do que isso realmente se trata. Este artigo explora o que é orquestração de nuvem e como ela se encaixa no amplo processo de evolução da computação em nuvem. Vamos analisar várias ferramentas de orquestração de nuvem e examinar as diferenças entre elas, para que você possa entender melhor o que está disponível no mercado.

Primeiro, é importante saber algumas informações básicas. Antes do surgimento da virtualização e da computação em nuvem, todos os processos eram executados manualmente.

Como você sabe, os três modelos mais comuns de serviços de nuvem são Software como serviço (SaaS), Plataforma como serviço (PaaS) e Infraestrutura como serviço (IaaS). A Figura 1 ilustra como a IaaS e a virtualização estão intimamente relacionadas (na verdade, a virtualização é uma parte da IaaS). Como você pode ver, a IaaS fornece infraestrutura para os serviços de nuvem provisionarem servidores, armazenamento, redes, OSs (sistemas operacionais) e muito mais. É semelhante à virtualização, que fornece máquinas virtuais em um datacenter.

Figura 1. Virtualização e computação em nuvem
Virtualization and cloud computing
Virtualization and cloud computing

A abordagem manual para configurar um ambiente inclui etapas como estas:

  • Esperar aprovação
  • Comprar o hardware
  • Instalar o OS
  • Conectar e configurar a rede
  • Obter um IP
  • Alocar o armazenamento
  • Configurar a segurança
  • Implementar o banco de dados
  • Conectar a um sistema backend
  • Implementar o aplicativo no servidor

Os desafios dessa abordagem incluíram agentes de gerenciamento, como backup, monitoramento, rede e configuração.

Há cerca de uma década, surgiu a virtualização acabando com muitas das etapas manuais. Hypervisores e VMs (máquinas virtuais) eram usados para implementar aplicativos, ajudando a reduzir os custos de hardware. No entanto, o gerenciamento de hypervisores era complicado, portanto, foram introduzidos programas de gerenciamento de hypervisor para ajudar a eliminar muitas das etapas manuais, como comprar o hardware, instalar o OS e alocar o armazenamento.

Logo depois, surgiu a computação em nuvem ajudando a resolver muitos dos problemas da abordagem anterior. Quase todas as etapas da abordagem manual foram automatizadas, facilitando bastante o trabalho dos profissionais de infraestrutura. A computação em nuvem permitiu que as organizações acessassem softwares em qualquer lugar como serviços. Isso ajudou a reduzir as despesas de mão de obra que, geralmente, são maiores do que os custos de hardware. A nuvem está sempre disponível, com tempo de inatividade zero, e tudo pode ser feito com rapidez. Não há necessidade de esperar aprovações, essa é realmente uma abordagem "faça você mesmo".

Orquestração de nuvem

Orquestração de nuvem é a automação de ponta a ponta da implementação de serviços em um ambiente de nuvem. Mais especificamente, é a automatização da organização, da coordenação e do gerenciamento de complexos sistemas de computação, middleware e serviços. E tudo isso ajuda a acelerar a entrega de serviços de TI e ainda reduz custos. Ela é usada para gerenciar a infraestrutura em nuvem, que fornece e designa ao cliente os recursos de nuvem necessários, como criação de VMs, alocação de capacidade de armazenamento, gerenciamento de recursos de rede e concessão de acesso ao software em nuvem. Usando os mecanismos de orquestração apropriados, os usuários podem implementar e começar a usar serviços em servidores ou em qualquer plataforma de nuvem.

Há três aspectos da orquestração de nuvem:

  • Orquestração de recurso, em que os recursos são alocados
  • Orquestração de carga de trabalho, em que as cargas de trabalho são compartilhadas entre os recursos
  • Orquestração de serviço, em que os serviços são implementados em servidores ou em ambientes de nuvem

A Figura 2 ilustra como a orquestração de nuvem automatiza os serviços em todos os tipos de nuvens: públicas, privadas e híbridas.

Figura 2. Orquestração de nuvem
Cloud orchestration
Cloud orchestration

Muitos pensam que orquestração e automação são a mesma coisa, mas, na verdade, a orquestração é mais complexa. Geralmente, a automação é focada em uma única tarefa, enquanto a orquestração lida com o processo de ponta a ponta, incluindo o gerenciamento de todos os serviços relacionados, cuidando da alta disponibilidade (HA), da pós-implementação, da recuperação de falhas, do ajuste de escala e muito mais. Geralmente, a automação é discutida no contexto de tarefas específicas, enquanto a orquestração está relacionada à automação de processos e fluxos de trabalho. Basicamente, a orquestração automatiza a automação, especificamente, a ordem em que as tarefas ocorrem em máquinas específicas, principalmente quando há diversas dependências.

Por que você deveria escolher a orquestração?

Como foi mostrado na seção anterior, o processo manual de configurar um ambiente envolve várias etapas. Usando uma ferramenta orquestradora, fica fácil e rápido configurar, provisionar, implementar e desenvolver ambientes, integrar serviços de gerenciamento, monitoramento, backup e segurança de serviço, e todas essas etapas podem ser repetidas.

Outra vantagem da orquestração é que ela permite disponibilizar produtos em uma variedade mais ampla de ambientes de nuvem, permitindo que os usuários os implementem com mais facilidade. Como resultado, é possível aumentar a exposição dos produtos para um público maior e, possivelmente, expandir as oportunidades de renda da empresa.

Ferramentas de orquestração

Existem diversas ferramentas e técnicas disponíveis para orquestração, cada uma apropriada para casos específicos, como será mostrado nas próximas seções.

Chef e Puppet

Chef é uma eficiente plataforma de automação que transforma infraestruturas complexas em código, dando vida a servidores e serviços. O Chef automatiza a configuração, a implementação e o gerenciamento de aplicativos na rede.

Ele usa cookbooks para determinar como cada nó deve ser configurado. Os cookbooks consistem em várias receitas; uma receita é um script de automação para um serviço específico que é gravado usando a linguagem Ruby. O Cliente Chef é um agente que é executado em um nó e executa as reais tarefas de configuração. O Chef pode gerenciar qualquer coisa que possa executar o cliente Chef, como máquinas físicas, máquinas virtuais, contêineres ou instâncias baseadas em nuvem. O Servidor Chef é o armazenador central de todos os dados de configuração. O cliente Chef e o servidor Chef comunicam-se de modo seguro usando uma combinação de chaves públicas e privadas, para assegurar que o servidor Chef responda somente às solicitações feitas pelo chef-client. Também existe a opção de instalar um cliente independente chamado chef-solo.

O Puppet é semelhante ao Chef. Ele requer a instalação de um servidor principal e de um agente do cliente nos nós de destino e inclui uma opção para um cliente independente (equivalente ao chef-solo). É possível fazer o download e instalar módulos de implementação usando comandos do Puppet. Como o Chef, o Puppet é fornecido com uma edição Enterprise paga que fornece recursos adicionais como implementação de relatório e orquestração/push.

No entanto, embora o Chef e o Puppet executem as mesmas funções básicas, eles se diferem na abordagem. O Chef é significativamente mais integrado e monolítico, enquanto o Puppet consiste em vários serviços. Portanto, o Chef é mais fácil para iniciar o funcionamento e para gerenciar. Ambos têm prós e contras, portanto, é necessário avaliar qual é o mais adequado para suas equipes de operações e para o fluxo de trabalho de desenvolvimento da infraestrutura.

Aqui está uma comparação entre os dois:

  • O Puppet é indicado a administradores do sistema, que precisam especificar configurações como dependências, enquanto o Chef é para desenvolvedores, que realmente gravam o código da implementação.
  • O Puppet depende muito mais de seu próprio Domain Specific Language (DSL) para definir as regras de configuração, enquanto o DSL do Chef é apenas um suplemento do Ruby, portanto, a maioria das receitas do Chef são gravadas em código Ruby padrão.
  • O Chef tem um instalador omnibus (de terceiro), que deixa sua instalação muito mais fácil do que a do Puppet.
  • O Chef é mais usado para automação em nível de OS (sistema operacional), como implementação de servidores, correções e soluções de problemas. O Puppet é mais para automação de nível intermediário, como instalar bancos de dados e iniciar o Apache.
  • O Chef é mais voltado para equipes de operações centradas em desenvolvedores, enquanto o Puppet é indicado para equipes de operações mais tradicionais, com menos experiência em programação Ruby.
  • Embora apresente uma curva de aprendizado inicial mais difícil, o Chef oferece muito mais eficiência e flexibilidade do que o Puppet.

OpenStack

OpenStack é uma plataforma de software para computação em nuvem de software livre usada principalmente como uma solução de Infraestrutura como serviço (IaaS). Ele consiste em uma série de projetos inter-relacionados que controlam conjuntos de recursos de processamento, armazenamento e rede em todo o datacenter. Os usuários gerenciam todos esses recursos por meio de um painel baseado na web, ferramentas de linha de comando ou uma API RESTful. A OpenStack.org liberou a plataforma sob os termos de licença do Apache.

Figura 3. Componentes do OpenStack
OpenStack components
OpenStack components

A OpenStack começou em 2010 como um projeto em parceria entre a Rackspace Hosting e a NASA. Atualmente, ele é gerenciado pela OpenStack Foundation, uma organização sem fins lucrativos que promove o software OpenStack e sua comunidade. Mais de 200 empresas já entraram no projeto, como a IBM, a Canonical, a Cisco, a Dell, a EMC, a Ericsson, a Hewlett-Packard, a Huawei, a Intel, a Mellanox, a Mirantis, a Oracle, a Red Hat, a SUSE Linux, a VMware e a Yahoo.

Os principais componentes do OpenStack incluem Nova (cálculo), Cinder (armazenamento de bloco), Glance (biblioteca de imagens), Swift (armazenamento de objeto), Neutron (rede), Keystone (identidade) e Heat (ferramenta de orquestração). Embora este artigo não descreva todos esses componentes em detalhes, vamos focar em um componente específico que vale a pena ressaltar: Heat.

Heat

Heat é um mecanismo de orquestração do OpenStack, baseado em padrão, conhecido como projeto Orchestration for OpenStack on OpenStack (OOO). O Heat fornece uma orquestração baseada em modelo para descrever um aplicativo em nuvem, executando chamadas de API do OpenStack apropriadas que geram aplicativos em nuvem em execução. O software integra outros componentes essenciais do OpenStack em um sistema de modelo de um único arquivo. Os modelos permitem a criação da maioria dos tipos de recursos do OpenStack (como instâncias, IPs flutuantes, volumes, grupos de segurança e usuários) além de funcionalidades mais avançadas, como alta disponibilidade da instância, ajuste de escala automático da instância e aninhamento de pilhas.

Como o Heat funciona

É possível usar o Heat em vez de gravar um script que gerencie todos os softwares no OpenStack (como configurar servidores, incluir volumes, gerenciar redes, etc.). Para fazer isso, crie um modelo do Heat que especifique qual infraestrutura será necessária. Se, mais tarde, for necessário fazer outras mudanças no serviço existente, basta modificar o modelo do Heat, e o mecanismo do Heat, e o mecanismo do Heat fará as mudanças necessárias quando o modelo for executado novamente. Quando ele terminar, será possível limpar e liberar os recursos, que poderão ser usados por qualquer outro usuário que precisar deles.

Figura 4. Como o Heat funciona
How Heat works
How Heat works

Como você pode ver na Figura 4, quando um modelo do Heat passa pelo mecanismo do Heat, é criada uma pilha dos recursos que estão especificados no modelo do Heat.

O Heat está acima de todos os outros serviços do OpenStack na camada de orquestração e comunica-se com os IPs de todos os outros componentes. Um modelo do Heat gera uma pilha que é a unidade fundamental no Heat. Os modelos do Heat são gravados com vários recursos e cada recurso é um objeto no OpenStack com um ID de objeto. O Heat cria esses objetos e mantém um controle de seus IDs.

Também é possível usar uma pilha aninhada, que é um recurso em uma pilha do Heat que aponta para outra pilha do Heat. É como uma árvore de pilhas, na qual os objetos são relacionados e seus relacionamentos podem ser obtidos do modelo do Heat. Esse recurso aninhado permite que equipes independentes trabalhem em pilhas do Heat que, posteriormente, serão mescladas.

O principal componente do Heat é o mecanismo do Heat, que fornece a funcionalidade de orquestração.

Especificação HOT

Heat Orchestration Templates (HOT) são nativos do Heat e são expressos em YAML. Esses modelos consistem em:

  • Recursos (campos obrigatórios) são os objetos do OpenStack que precisam ser criados, como servidor, volume, armazenamento de objeto e recursos de rede. Esses campos são obrigatórios nos modelos HOT.
  • Parâmetros (opcionais) denotam as propriedades dos recursos. Declarar os parâmetros pode ser mais fácil do que codificar os valores permanentemente.
  • Saída (opcional) denota a saída criada após a execução do modelo do Heat, como o endereço IP do servidor.

Cada recurso, por sua vez, consiste em:

  • Referências — usadas para criar pilhas aninhadas
  • Propriedades — valores de entrada dos recursos
  • Atributos — valores de saída dos recursos

Juju

Juju é uma ferramenta para gerenciamento automático de orquestração de serviço, de software livre, desenvolvida pela Canonical, a empresa desenvolvedora do OS Ubuntu. Ele permite implementar, gerenciar e ajustar a escala de softwares e serviços em uma ampla variedade de serviços e servidores em nuvem. O Juju pode reduzir significativamente a carga de trabalho de implementação e configuração dos serviços de um produto.

Figura 5. Serviços implementados utilizando o Juju
Services deployed using Juju
Services deployed using Juju

Benefícios

O Juju é a maneira mais rápida de modelar e implementar aplicativos ou soluções nas principais nuvens e contêineres públicos. Ele ajuda a reduzir o tempo de implementação de dias para minutos. O Juju trabalha com as ferramentas de gerenciamento de configuração existentes e pode ajustar a escala das cargas de trabalho com muita facilidade. Não é necessário conhecimento prévio da pilha de aplicativos para implementar um charm do Juju para o produto. O Juju inclui provedores para as principais nuvens públicas, como Amazon Web Services, Azure e HP, além dos contêineres OpenStack, MAAS e LXC. O Juju também pode ser implementado no IBM SoftLayer usando o provedor manual disponível no Juju, para que qualquer pessoa possa usar o Juju com o SoftLayer ao provisionar as máquinas manualmente e informar o Juju onde essas máquinas estão. Provedores locais em contêineres LXC permitem recriar o ambiente de produção semelhante ao de implementação em seu próprio laptop. Ele também oferece um ambiente rápido e fácil para testar implementações em uma máquina local. Os usuários podem implementar ambientes de nuvem inteiros em segundos usando pacotes configuráveis, o que pode economizar bastante tempo e esforço.

Charms

O Juju utiliza charms, que são ferramentas de software livre que simplificam tarefas específicas de implementação e gerenciamento. Um charm é um conjunto de scripts que pode ser gravado em qualquer linguagem, que dispara hooks com base em determinadas coisas. Depois que um serviço é implementado, o Juju pode definir relacionamentos entre os serviços e expor alguns serviços externamente. Os charms oferecem a eficiência do Juju. Eles contêm configurações de aplicativo, definem como os serviços são implementados, como eles se conectam a outros serviços e como suas escalas são ajustadas. Os charms definem como os serviços se integram e como suas unidades de serviço reagem a eventos no ambiente distribuído, de acordo com a orquestração do Juju.

Um charm do Juju geralmente inclui toda a inteligência necessária para ajustar a escala de um serviço horizontalmente ao incluir máquinas no cluster, preservando os relacionamentos com todos os serviços que dependem desse serviço. Isso permite desenvolver o serviço desejado e aumentar ou diminuir sua capacidade, principalmente na nuvem. O Juju fornece uma interface da linha de comando e um aplicativo da web intuitivo para projetar, construir, configurar, implementar e gerenciar a infraestrutura. O Juju automatiza as tarefas comuns, permitindo que você se concentre na criação de aplicativos incríveis.

Os charms são fáceis de compartilhar e existem milhares de charms já classificados e revisados na loja de charm do Juju.

Relacionamentos e outros recursos

O Juju permite que os serviços sejam integrados instantaneamente por meio de relacionamentos. Os relacionamentos permitem que a complexidade de integrar serviços seja retirada do usuário. Os relacionamentos do Juju são definições fracamente tipadas de como os serviços devem interagir entre si. Essas definições são manipuladas por meio de uma interface. O Juju decide quais servidores podem ser relacionados baseando-se unicamente nos nomes da interface.

Alguns dos recursos avançados no Juju incluem:

  • Juju Compose cria novos charms a partir dos existentes, usando uma abordagem de camadas, de modo que as tarefas comuns exigem muito menos retrabalho. Os recursos nas camadas inferiores são herdados pelos novos charms.
  • Charms subordinados são charms relacionados que podem ser agrupados como charms subordinados ou principais. O charm principal é o charm mais importante, e os charms subordinados não podem ficar sozinhos, portanto, eles são implementados juntamente como charm principal.
  • Hooks de liderança são mecanismos automatizados fornecidos pelo Juju que selecionam um líder/mestre em um ambiente em cluster.

Loja de charm

O Juju inclui uma coleção de charms que permite implementar quaisquer serviços do Juju que desejar. Um pacote configurável é uma coleção de charms projetados para trabalhar em conjunto. Como os charms e os pacotes configuráveis são abertos e trabalhados pela comunidade, eles representam um conjunto de melhores práticas para implementar esses serviços. Os charms e pacotes configuráveis estão incluídos naquilo que chamamos coletivamente de loja de charm.

Para que seu charm seja listado como um charm recomendado pela equipe de charm, é necessário passar por um processo rigoroso de revisão no qual a equipe avalia e testa o charm, além de implementar e executar testes com relação ao serviço fornecido usando diferentes padrões de configuração.

Docker

Docker é uma plataforma aberta para desenvolver, enviar, executar e entregar aplicativos rapidamente. Com o Docker, o usuário pode separar os aplicativos da infraestrutura e tratar a infraestrutura como um aplicativo gerenciado. O Docker ajuda a enviar o código com mais rapidez, testar com mais rapidez e reduzir o tempo entre a gravação e a execução do código.

O Docker faz isso combinando uma plataforma leve para visualização de contêiner com fluxos de trabalho e um conjunto de ferramentas que ajudam a gerenciar e implementar aplicativos. Basicamente, o Docker oferece uma maneira de executar quase todos os tipos de aplicativos com segurança, isolados em um contêiner. Assim, é possível executar vários contêineres simultaneamente no host. A natureza leve dos contêineres, que são executados sem o carregamento extra de um hypervisor, significa que é possível usufruir mais do hardware.

Os contêineres do Docker envolvem o software em um sistema de arquivos completo que contém tudo o que ele precisa para execução: código, tempo de execução, ferramentas do sistema, bibliotecas do sistema, ou seja, qualquer coisa que possa ser instalada em um servidor. Isso garante que a execução sempre será igual, independentemente do ambiente em que ela ocorra.

O Docker é:

  • Leve — todos os contêineres em execução em uma única máquina compartilham o mesmo kernel do sistema operacional, portanto, eles são iniciados instantaneamente e usam a RAM com mais eficiência. As imagens são construídas a partir de sistemas de arquivos em camadas, portanto, elas podem compartilhar arquivos comuns, permitindo que o uso do disco e os downloads de imagens sejam muito mais eficientes.
  • Aberto — Os contêineres do Docker são baseados em padrões abertos. Isso permite que eles sejam executados nas principais distribuições do Linux e nos principais sistemas operacionais da Microsoft com suporte para todas as infraestruturas.
  • Os contêineres seguros — isolam aplicativos uns dos outros e da infraestrutura subjacente, fornecendo uma camada adicional de proteção para o aplicativo.

Contêineres versus máquinas virtuais

Cada máquina virtual inclui o aplicativo, os binários e as bibliotecas necessários e um sistema operacional guest inteiro, podendo ter dezenas de gigabytes de tamanho. Os contêineres incluem o aplicativo e todas as suas dependências, mas compartilham o kernel com outros contêineres. Eles são executados como processos isolados no espaço do usuário, no sistema operacional host. Eles também não são vinculados a nenhuma infraestrutura específica: os contêineres do Docker são executados em qualquer computador, em qualquer infraestrutura e em qualquer nuvem. A principal diferença entre os contêineres e as VMs (máquinas virtuais) é que, enquanto o hypervisor abstrai um dispositivo inteiro, os contêineres apenas abstraem o kernel do sistema operacional. Isso significa que algo que os hypervisores podem fazer, mas que os contêineres não podem, é usar sistemas operacionais ou kerneis diferentes.

Figura 6. Contêineres versus máquinas virtuais
Containers vs. virtual machines
Containers vs. virtual machines

Benefícios

Os contêineres do Docker fornecem uma variedade de benefícios, incluindo:

  • Entrega mais rápida de aplicativos — O Docker é perfeito para ajudar com o ciclo de vida de desenvolvimento. Ele também permite desenvolver em contêineres locais que contêm os aplicativos e os serviços.
  • Implementar e ajustar a escala com mais facilidade — A plataforma baseada em contêiner do Docker permite cargas de trabalho altamente portáveis. Elas podem ser executadas em um host local do desenvolvedor, em máquinas físicas ou virtuais em um datacenter ou na nuvem. É possível usar o Docker para ajustar rapidamente a escala de aplicativos e os serviços.
  • Atingir uma densidade superior e executar mais cargas de trabalho — O Docker é leve e rápido. Ele fornece uma alternativa viável e com custo reduzido às VM baseadas em hypervisor. Ele é muito útil principalmente em ambientes de alta densidade, como ao construir sua própria nuvem ou plataforma como serviço. Mas ele também é útil para implementações de pequeno e médio porte, nas quais é interessante aproveitar melhor os recursos já existentes.
  • Eliminar inconsistências ambientais — Quando o aplicativo é empacotado juntamente com suas configurações e dependências e enviado como um contêiner, ele sempre funciona em outra máquina, conforme foi projetado localmente.
  • Potencializar a criatividade do desenvolvedor — Os recursos de isolamento dos contêineres do Docker liberam os desenvolvedores da necessidade de usar pilhas e conjuntos de ferramentas de linguagem aprovada. Os desenvolvedores podem usar as melhores linguagens e ferramentas para seu serviço de aplicativo sem se preocupar em causar conflitos.
  • Acelerar a migração de desenvolvedor — Pare de desperdiçar horas tentando configurar ambientes de desenvolvedor, ativar novas instâncias e fazer cópias do código de produção para executar localmente. Com o Docker, é possível fazer cópias do ambiente de produção com muita facilidade e executá-las em qualquer novo terminal que esteja executando o Docker.

Dockerfiles

Dockerfile é um documento de texto que contém todos os comandos que o usuário pode chamar na linha de comando para montar uma imagem. Usando o docker build, é possível criar uma construção automatizada que execute várias instruções da linha de comando em sucessão. O Docker pode construir imagens automaticamente ao ler as instruções de um Dockerfile.

Hub do Docker

O Hub do Docker é um serviço hospedado em nuvem do Docker que fornece recursos de registro para conteúdo público e privado. Com ele, é fácil colaborar com a ampla comunidade do Docker ou com a sua própria equipe com relação ao conteúdo principal, ou automatizar o aplicativo construindo fluxos de trabalho.

Comparando ferramentas de orquestração de nuvem

A Tabela 1 fornece uma comparação lado a lado das várias ferramentas abordadas neste artigo:

Tablela 1. Comparação das ferramentas de orquestração de nuvem
ChefPuppetHeatJujuDocker
Usado principalmente para a automação de implementações. Primeiramente, era mais usado no nível do OS para processos como implementação de servidores, correções e soluções de problemas. Posteriormente, passou a ser usado para processos como instalação de middleware.Usado originalmente no nível do middleware para processos como instalar bancos de dados e iniciar o Apache. Explorava tudo com APIs. Com o passar do tempo, seu uso foi ampliado para também instalar no nível do OS.Mecanismo de orquestração para OpenStack.Camada de serviço baseada em padrão (somente automação) para Ubuntu.Usado como uma tecnologia de virtualização e uma ferramenta de orquestração.
Mais voltado a atender equipes de operações centradas em desenvolvedores.Atende a equipes de operações mais tradicionais com menos experiência em programação do Ruby.Orquestra tudo no OpenStack. Principalmente para infraestrutura, o Heat usa o Chef/Puppet para instalação.Funciona em todas as plataformas de nuvem populares—Máquinas locais do Ubuntu, bare metal etc.Plataforma aberta que permite que os desenvolvedores e os administradores de sistema desenvolvam, enviem e executem aplicativos distribuídos.
Procedimento em que as receitas são gravadas em código Ruby, muito comum para os desenvolvedores. A curva de aprendizado mais difícil do Chef geralmente é vista como arriscada em grandes organizações, nas quais pode ser complicado desenvolver e manter qualificações em grandes equipes.A curva de aprendizado é mais fácil porque o Puppet é, basicamente, orientado por modelo.
Embora apresente uma curva de aprendizado inicial mais difícil, o Chef oferece muito mais eficiência e flexibilidade do que as outras ferramentas.O Puppet é um produto mais conhecido com uma base de usuários maior que a do Chef.

Conclusão

Este artigo forneceu uma visão geral resumida dos mecanismos de orquestração de nuvem mais comuns para ajudá-lo a comparar as várias opções e a decidir qual é a mais adequada para suas necessidades. Tenho usado minhas próprias experiências para aprender essas tecnologias, portanto, incentivo-os a explorá-las em mais detalhes, conforme a necessidade. Os links de tópicos relacionados abaixo podem ajudá-los em suas explorações.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing
ArticleID=1035981
ArticleTitle=Tecnologias de orquestração de nuvem: explore suas opções
publish-date=08162016