Top Banner
Projeto DevOps Área de Tecnologia
24

Dev Ops at Paguemenos

Apr 10, 2017

Download

Technology

Rodrigo Valerio
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dev Ops at Paguemenos

Projeto DevOpsÁrea de Tecnologia

Page 2: Dev Ops at Paguemenos

Agenda

● Introdução○ O que é DevOps?○ Pilares○ Ferramentas

● Ciclo Operacional○ Antes○ Depois

● Entregas○ Gênesis○ Alguns Números

● Demo○ Criar uma VM nova, com os padrões de configuração pré-definidos pela empresa○ Modificar a VM recém criada, observando o ciclo completo

Page 3: Dev Ops at Paguemenos

Introdução - O que é DevOps

“DevOps é uma forma de desenvolvimento de software que enfatiza a comunicação, colaboração, integração, automação e o uso de métricas.”

Patrick Debois

Page 4: Dev Ops at Paguemenos

Introdução - O que é DevOps

Você não compra Devops!!!

Você não Instala Devops!!!

Não é meramente a junção das áreas de desenvolvimento com operações

Devops é uma abordagem

Devops é uma Mentalidade

Devops é sobre aplicar os conceitos de lean/agile ao ciclo de vida do software

Page 5: Dev Ops at Paguemenos

Introdução - Pilares

Quatro Eixos DevOps

Automação

Cultura

Avaliação

Compartilhamento

Page 6: Dev Ops at Paguemenos

Introdução - Pilares

Cultura

● Colaboração

● Práticas Ágeis / Lean

● Relação saudável entre as áreas

● Mudança de comportamento

Page 7: Dev Ops at Paguemenos

Introdução - Pilares

Automação

● Deploy

● Controle

● Monitoramento

● Gerência de configuração

● Orquestração

● Infra-estrutura como código

Page 8: Dev Ops at Paguemenos

Introdução - Pilares

Avaliação

● Métricas

● Medições

● Performance

● Logs e Integração

Page 9: Dev Ops at Paguemenos

Introdução - Pilares

Compartilhamento● Feedback

● Comunicação

Page 10: Dev Ops at Paguemenos

Introdução - Ferramentas

Powered By

Page 11: Dev Ops at Paguemenos

Introdução - Pilares vs Ferramentas

Cultura

● Treinamentos internos

● Pessoas são mais importantes que processos e ferramentas

● Atitute

Page 12: Dev Ops at Paguemenos

Introdução - Pilares

Automação

● Ansible

● PhpIpam

● Jenkins

● Gitlab

● Nexus OSS

● Ansible novamente

Page 13: Dev Ops at Paguemenos

Introdução - Pilares

Avaliação● ITM/ITMN

● Dashboards

● LogStash / Syslog

Page 14: Dev Ops at Paguemenos

Introdução - Pilares

Compartilhamento

● Portal corporativo

● PhpIpam

● Jenkins

● Nexus

Page 15: Dev Ops at Paguemenos

Ciclo operacional - Antes

Controle de Endereços IP e nomes de VM disponíveis, realizado através de planilhas

Sem reuso - Reúso na base do copiar e colar, sujeito a erros clássicos, como esquecer de modificar o nome da máquina ou seu IP.

Sem gerência de configuração - Não existe “código fonte” de máquina, caso seja necessário criar novamente, deve-se repetir manualmente os passos feitos anteriormente.

Processo manual e disperso, sujeito a erros, uma equipe fornece o IP, outra equipe cria a VM, outra equipe configura a VM, etc.

Acesso aos servidores linux realizado utilizando-se senhas, sem controle da qualidade da senha e em controle sobre quem pode acessar a VM

Difícil manter os servidores atualizados e com as mesmas configurações, pois tudo é feito manualmente

Page 16: Dev Ops at Paguemenos

Ferramenta para gerenciamento das informações de rede como vlan, endereços IP utilizados, livres, online e offline, entre outras

Ciclo operacional - Depois

Page 17: Dev Ops at Paguemenos

Ciclo operacional - Depois

Não só é possível o reúso das configurações, como é incentivado através das roles e módulos ansible.

Muito simples criar um código reutilizável que configura o servidor de data e hora, ou que instale o java ou um tomcat.

Page 18: Dev Ops at Paguemenos

Ciclo operacional - Depois

Sem gerência de configuração - Não existe “código fonte” de máquina, caso seja necessário criar novamente, deve-se repetir manualmente os passos feitos anteriormente.

Page 19: Dev Ops at Paguemenos

Entregas - Gênesis

Repositório de Binários

Gestão de endereços IPs

Repositório de código fonte

Integração contínua

1. Código fonte entregue no gitlab2. Instala e configura os ambiente de homologação e produção3. Autenticação sem senhas, através de chaves assimétricas4. Integração contínua, o commit do fonte, dispara o build, teste e deploy da máquina5. CentOS 76. Atualização dos pacotes linux centralizados em um servidor squid (não faz download a cada

instalção em cada máquina)7. ITM instalado por padrão nas máquinas

Page 20: Dev Ops at Paguemenos

Entregas - Alguns números

Criar uma nova máquina no vmware consiste em executar 47 itens de configuração.

Inclui tarefas como:

● Configurar o ip da máquina● Configurar o DNS da máquina● Configurar o hostname da máquina● Configurar a rede no vmware● Configurar o servidor de data e hora

corporativo (qual endereço do servidor ntp?)

● Configurar o servidor de syslog (qual endereço do servidor syslog?)

Page 21: Dev Ops at Paguemenos

Entregas - Alguns números

Temos algo em torno de 100 máquinas

Na instalação manual, sem considerar a diferença de tempo, o principal ganho é a garantia de que não haverá erros.

É muito fácil na hora de cadastrar a máscara de subrede 255.255.255.0, um pequeno desvio de atenção digitar 255.255.0.0.

Algumas vezes, até que um problema desse tipo seja detectado, leva-se horas.

Manualmente, precisa-se descobrir várias informações como qual o endereço IP, qual será o hostname, só pra citar algumas informações.

Considerando 100 máquinas, temos mais de 4000 itens de configuração que foram feitos manualmente.

E o pior, caso por algum motivo, seja necessário refazer 10 máquinas, não seria possível, pois não há código fonte pra isso, todo o conhecimento da máquina está nela própria.

Page 22: Dev Ops at Paguemenos

Entregas - Alguns números

17 Componentes reutilizáveis

5 Máquinas

homologaçã e produção

26 Projetos Jenkins

21 Projetos Gitlab

13874 Linhas de

código

311 Arquivos

148 Commits

Page 23: Dev Ops at Paguemenos

Entregas - Alguns números

Page 24: Dev Ops at Paguemenos

DEMONSTRAÇÃO