5 ferramentas DevOps que você precisa conhecer
Publicados: 2016-09-27Introdução

DevOps (Desenvolvimentos e Operações) é um grupo de conceitos ou práticas que enfatiza a colaboração e comunicação de desenvolvedores de software e profissionais de TI . DevOps vem de duas tendências principais relacionadas “administração ágil de sistemas” e “operações ágeis”.
DevOps promove um conjunto de processos para pensar sobre colaboração e comunicação entre desenvolvimentos e operações de TI. DevOps pode ser usado para reconhecer a interdependência de desenvolvimento de software e operações de TI e ajuda uma organização a produzir software e serviços de TI mais rapidamente . O principal objetivo do DevOps é mudar e melhorar o relacionamento, defendendo uma melhor colaboração e comunicação entre as duas unidades de negócios. O DevOps facilita a implantação de recursos na produção com muita rapidez e a detecção e correção de problemas quando eles ocorrem, sem interromper outros serviços.
Alguns dos benefícios do DevOps estão listados abaixo:
- Tempo de lançamento no mercado significativamente mais curto.
- Maior produtividade e eficiência.
- Taxa de falha mais baixa.
- Ambientes operacionais mais estáveis e recursos de entrega mais rápidos.
- Entrega contínua de software e resolução de problemas mais rápida
No mundo DevOps, existem muitas ferramentas disponíveis no mercado. Vou explicar algumas das ferramentas mais úteis neste tutorial.
Jenkins

Se você precisa acelerar o ciclo de desenvolvimento de software , então o Jetkins é certo para você. Jenkins é um utilitário de código aberto de integração contínua extensível escrito em Java que é amplamente usado para testar o código para garantir que nenhum bug seja introduzido. É um prêmio multiplataforma e um aplicativo CI / CD que aumenta sua produtividade. Jenkins é a ferramenta mais importante para os engenheiros de DevOps monitorarem execuções de trabalhos repetidos. O Jetkins se tornou o padrão de código aberto para gerenciar o lado do desenvolvedor. Ele está rapidamente se tornando o motor para devops. Jenkins tem um grande ecossistema de mais de 1.100 plug-ins e complementos . Isso permitirá que os clientes adicionem todos os tipos de funcionalidade e integrem o Jenkins com o Active Directory ao GitHub. Você pode configurar facilmente o Jenkins para construir código, criar contêineres Docker, executar testes e enviar para o ambiente de produção. Você pode facilmente instalar e configurar o Jenkins usando sua interface da web e distribuir o trabalho em várias máquinas. O uso do Jenkins pode ajudá-lo a observar quaisquer mudanças no código, como SVN e Git, iniciar testes e, em seguida, reverter ou avançar na produção.
Muitas empresas, projetos de código aberto e outras organizações usam Jenkins como Dell, Ebay, NASA, Facebook, Linkedin, Netflix, Nokia, Sony, Yahoo! etc.
Características principais:
- Construções de aceleração
- Fácil instalação e atualizações
- Construções de aceleração
- Relatório de teste JUnit / TestNG
- Integração RSS / IM / Email
- Integre-se facilmente com GitHub, Bugzilla, ZIRA
- Links permanentes
Chefe de cozinha

Chef é uma ferramenta de gerenciamento e automação de configuração de código aberto escrita em Ruby e Erlang. Chef é usado para configuração do sistema em servidores físicos, máquinas virtuais e na nuvem para controlar e gerenciar a infraestrutura de TI . Se você deseja gerenciar um ou mil servidores, o chef automatiza todo o seu processo transformando-o em código. Você pode integrar facilmente o chef com plataformas baseadas em nuvem, como Google Cloud, Openstack, Rackspace e Amazon EC2 para configurar automaticamente novas máquinas virtuais. Chef fornece soluções para infraestrutura de TI de pequena e grande escala com excelentes recursos. Ao usar as ferramentas do Chef, você pode configurar e gerenciar facilmente sua infraestrutura a partir de um local central, sem realizar tarefas individuais em cada máquina. Chef é composto de cinco componentes, como Chef Server, Chef Client, Workstation, Chef Analytics e Chef Supermarket.

Muitas empresas usam Chef para controlar e gerenciar sua infraestrutura, como Facebook, Indiegogo, Mozilla, HP Public Cloud, Disney e Etsy.
Benefícios do Chef:
- Gerencie todos os seus ambientes como servidores Windows, Linux e Solaris na nuvem ou no local.
- Mantenha a alta disponibilidade que fornece balanceamento de carga automatizado e failover em caso de falha de rede ou hardware.
- Gerencie vários ambientes de nuvem a partir de um local central.
- Recursos premium disponíveis.
Ansible

Ansible é uma plataforma de automação de TI poderosa e de código aberto que é usada para implantar seus aplicativos e sistemas facilmente, sem qualquer tempo de inatividade, apenas usando SSH. Usando Ansible, você pode gerenciar nós Linux e Windows por SSH ou por PowerShell . Ansible é uma ferramenta de provisionamento, semelhante ao Chef, Puppet ou Salt e é uma das mais simples e fáceis de usar. O Ansible não usa nenhum agente e infraestrutura de segurança, por isso é fácil de implantar. Além disso, ele usa um YAML que permite descrever seus trabalhos de automação de uma forma que se aproxima do inglês simples. Se você precisa implantar um único software ou vários em milhares de nós, então o Ansible entra em cena, você pode implantar muitos aplicativos em muitos nós usando um único comando. Existem muitas ferramentas populares de gerenciamento de configuração disponíveis para Linux, como Chef e Puppet, mas são mais complexas de usar. O Ansible é uma ótima ferramenta alternativa para essas opções.
Características principais:
- Painel gráfico, agendamento de trabalho, controle de acesso baseado em função e gerenciamento gráfico de inventário.
- O sistema de automação de TI mais simples e fácil de usar do que nunca.
- Execute facilmente como um usuário não root.
- Gerencie vários nós muito rapidamente e em paralelo, sem inicializar nenhum software.
- Execute tarefas simples em qualquer host ou grupo de hosts em seu inventário com a execução de comando remoto do Tower.
Docker

Docker é uma plataforma de código aberto e líder mundial em contentorização de software que automatiza a implantação de aplicativos Linux dentro de contêineres de software. O Docker foi especialmente projetado para facilitar a criação, implantação e execução de aplicativos usando contêineres. O Docker nos permite executar aplicativos para usar o mesmo kernel Linux do sistema em que estão sendo executados. Docker é uma ferramenta para desenvolvedores e administradores de sistema, tornando-se parte de muitos DevOps. Você pode integrar o Docker em várias ferramentas de infraestrutura, como Ansible, Amazon Web Services, Chef, Google Cloud Platform e Puppet.
Características principais:
- Gerenciar todos os contêineres de um aplicativo como um único grupo.
- Monte aplicativos de vários contêineres e execute em qualquer infraestrutura.
- Vários contêineres podem ser executados em uma única instância do Linux.
- Docker é tão leve.
Supervisor

Supervisor é um sistema de controle de processo que permite que seus usuários monitorem e controlem uma série de processos em sistemas operacionais semelhantes ao UNIX. Supervisor se refere a um processo cuja função é monitorar outros processos e processos filho e reiniciá-los se travarem. É muito simples e pode ser configurado através de um arquivo de configuração simples. Você pode controlar facilmente os processos individualmente ou em grupos. O Supervisor fornece uma linha de comando local ou remota e uma interface da web.
O Supervisor fornece muitas opções de pré-processo que são usadas para reiniciar processos com falha e rotação automática de log.
Características principais:
- Escrito em Python e não requer um compilador C para instalação
- Compatível com Solaris Solaris, Linux, Mac OS X e FreeBSD.
- Gerenciar processos a partir do local central.
- Possui um protocolo de notificação de eventos que pode ser usado para monitorá-lo.
