Gerência de Configuração - Ansible - Chef - Puppet

Suporte e Consultoria Gerenciamento de Configurações

  • Consultoria para escolha de qual ferramenta é mais adequada a necessidade do cliente.
  • Implementação de gerência de configurações e infraestrutura como um código.
  • Customização de recipes, playbooks e manifests.
  • Consultoria para migração de infraestrutura convencional para IaC.
  • Desenvolvimento de configurações automatizadas.

Benefícios de se implementar a gerência de configuração

  • Diminuição no tempo de configurações em grande escala.
  • Padronização das configurações aplicadas.
  • Documentação das mudanças no ambiente.
  • Facilidade nas mudanças e testes de código antes de aplicar em produção.
  • Diminuição da incidência de erros.
  • Aumento da produtividade.

O que é infraestrutura como um código?

A infraestrutura convencional passou por mudanças, para atender novas necessidades de mercado que exige cada vez mais velocidade e elasticidade. Tendo em mente essa nova demanda por agilidade, a infraestrutura “artesanal” passou a ser tratada como um código. Graças ao versionamento das configurações e reutilização de códigos, ganha-se agilidade, segurança e integridade no momento de construir ou alterar os ambientes.

Anteriormente, com o gerenciamento de uma infraestrutura física, relativamente pequena, era comum a conexão direta nos servidores para efetuar configurações, criação de usuários ou instalações de serviços. Vamos imaginar que um analista fosse implantar um sistema de monitoramento utilizando o Zabbix. Vamos considerar o tempo de 10 minutos por máquina para realizar o download do zabbix-agent no repositório, somado o tempo de instalação e configuração. Em um cenário onde houvessem 500 servidores, esta tarefa levaria mais de 83 horas para ser finalizada, ou seja, trabalhando 8 horas por dia, nesta configuração, levaria mais de 10 dias para ser concluída.

Empregando o conceito de infraestrutura como um código e usando aplicativos para gerência de configurações, o mesmo analista, poderia escrever uma “receita” para a configuração desejada. Ao aplicar esta “receita” em grande escala, com técnicas de paralelismo que garantem e documentam os passos executados, aproveitaria melhor o tempo economizado durante a configuração automatizada desta tarefa.

Voltando ao cenário de infraestrutura comum. Poderíamos automatizar a tarefa usando script, porém, seria muito difícil criar uma abstração para que este script instalasse o zabbix-agent independente da distribuição ou sistema operacional das máquinas alvos. Outra questão difícil de resolver utilizando scripts e que não importa quantas vezes o procedimento seja feito, seu resultado final deverá ser o mesmo.

Para solucionar todos os problemas citados, surgiu o termo Infraestrutura como  Código (IaC) que , em resumo seria tratar seu ambiente como um código, versionando documentando e garantindo a mesma qualidade encontrada em técnicas de desenvolvimento ágil de software, porém agora, associando tal qualidade a sua infraestrutura.

Principais ferramentas de Gerência de Configuração do mercado.

  • Ansible: ferramenta desenvolvida em Python cuja finalidade é gerenciar configurações em múltiplas máquinas. Utiliza o modelo Agentless (Sem agente). Seus arquivos de código são do formato YML de fácil entendimento. Possui muitos módulos que aumentam o poder de gerenciamento de serviços e configurações.
  • Puppet: ferramenta de gerenciamento de configurações muito utilizada para manter o ambiente fiel as configurações desejadas. Inicialmente construído em python, atualmente desenvolvido em Ruby. Seus módulos nativos trabalham com o conceito RAL Resource Abstration Layer, que garantem a universalidade do código escrito.
  • SaltStack: Similar ao Puppet, trabalha no formato master/agent (seus agentes são os minions). Assim como o Puppet, é usando para gerenciar e controlar o estado das mudanças aplicadas na estrutura.
  • Chef: Desenvolvido em Ruby, utiliza a própria syntax da linguagem, (principalmente arquivos rb e erb), para escrever suas receitas (recipes). Sua syntax está muito mais próxima da programação tradicional, com a possibilidade de utilização de laços, condições, funções e interação com ferramentas de testes.
  • Foreman: trabalha em conjunto com o Puppetserver, oferece maior visibilidade de seus ambientes. Coleta fatos das máquinas gerenciadas, gera métricas sobre suas configurações, permitindo também integração com virtualizadores para prover e gerenciar a infraestrutura.

Cases de Sucesso

Infraestrutura como Código

Renomada empresa de telecom do Brasil está passando por um processo de transformação digital para ganhar agilidade no provisionamento de infraestrutura e nos processos, por ser uma empresa de grande porte torna-se lento e difícil capacitar todas as pessoas de dentro da organização e implementar um novo método de trabalho.

Infraestrutura ágil para replicação de ambiente de forma padronizada.

A Secretaria Municipal da Educação da prefeitura municipal de São Paulo, precisava fazer o deploy de aplicações escritas em .Net de forma ágil em ambientes padronizados. Estava em curso uma grande reestruturação e como em todo legado de T.I., a falta de documentação de software e da infraestrutura de produção acabavam dificultando a replicação automática desses ambientes em caso de disaster recovery.

Caixa Econômica Federal – Gerência de Configurações com Puppet.

O Puppet permite a padronização do serviços providos pelas máquinas virtuais, a diminuição do tempo de indisponibilidade dos serviços e a rastreabilidade em alterações do ambiente.

Puppet para automatizar e padronizar laboratórios em escola de TI

O tempo de configuração de uma sala de aula foi reduzido e hoje é possível que todas as estações estejam prontas para receber novos alunos em menos de 15 minutos, tudo feito sem intervenção manual da equipe responsável pela preparação das máquinas.

Compartilhe esta página

Solicite Contato

Forma de contato preferencial
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
2 + 9 =
Resolva este problema matemático simples e digite o resultado. Por exemplo para 1+3, digite 4.