dev ops at paguemenos

24
Projeto DevOps Área de Tecnologia

Upload: rodrigo-valerio

Post on 10-Apr-2017

36 views

Category:

Technology


0 download

TRANSCRIPT

Projeto DevOpsÁrea de Tecnologia

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

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

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

Introdução - Pilares

Quatro Eixos DevOps

Automação

Cultura

Avaliação

Compartilhamento

Introdução - Pilares

Cultura

● Colaboração

● Práticas Ágeis / Lean

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

● Mudança de comportamento

Introdução - Pilares

Automação

● Deploy

● Controle

● Monitoramento

● Gerência de configuração

● Orquestração

● Infra-estrutura como código

Introdução - Pilares

Avaliação

● Métricas

● Medições

● Performance

● Logs e Integração

Introdução - Pilares

Compartilhamento● Feedback

● Comunicação

Introdução - Ferramentas

Powered By

Introdução - Pilares vs Ferramentas

Cultura

● Treinamentos internos

● Pessoas são mais importantes que processos e ferramentas

● Atitute

Introdução - Pilares

Automação

● Ansible

● PhpIpam

● Jenkins

● Gitlab

● Nexus OSS

● Ansible novamente

Introdução - Pilares

Avaliação● ITM/ITMN

● Dashboards

● LogStash / Syslog

Introdução - Pilares

Compartilhamento

● Portal corporativo

● PhpIpam

● Jenkins

● Nexus

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

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

Ciclo operacional - Depois

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.

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.

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

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?)

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.

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

Entregas - Alguns números

DEMONSTRAÇÃO