SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
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 gitlab
2. Instala e configura os ambiente de homologação e produção
3. Autenticação sem senhas, através de chaves assimétricas
4. Integração contínua, o commit do fonte, dispara o build, teste e deploy da máquina
5. CentOS 7
6. 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

Mais conteúdo relacionado

Mais procurados

Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWSMatheus Fidelis
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como códigoEduardo Rozario
 
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParametersZabbix BR
 
Async/Await Pattern in C#
Async/Await Pattern in C#Async/Await Pattern in C#
Async/Await Pattern in C#Leandro Silva
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014Rodrigo Campos
 
Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!Iuri Andreazza
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglas Esteves
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBAécio Pires
 
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...Renato Groff
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 
Deploy de aplicações Ruby com Mina - TDC Floripa 2014
Deploy de aplicações Ruby com Mina - TDC Floripa 2014Deploy de aplicações Ruby com Mina - TDC Floripa 2014
Deploy de aplicações Ruby com Mina - TDC Floripa 2014Ismael Stahelin
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvemIgnacio Nin
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemFernando Ike
 

Mais procurados (20)

Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
 
Async/Await Pattern in C#
Async/Await Pattern in C#Async/Await Pattern in C#
Async/Await Pattern in C#
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014
 
Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbix
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPB
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Deploy de aplicações Ruby com Mina - TDC Floripa 2014
Deploy de aplicações Ruby com Mina - TDC Floripa 2014Deploy de aplicações Ruby com Mina - TDC Floripa 2014
Deploy de aplicações Ruby com Mina - TDC Floripa 2014
 
CWI Workshop 2016 - Cloud
CWI Workshop 2016 - CloudCWI Workshop 2016 - Cloud
CWI Workshop 2016 - Cloud
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvem
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
 

Destaque

Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Rodrigo Valerio
 
When I was young (quote from Joseph Landri)
When I was young (quote from Joseph Landri)When I was young (quote from Joseph Landri)
When I was young (quote from Joseph Landri)Sandri Sen
 
Drake's corner ideas
Drake's corner ideasDrake's corner ideas
Drake's corner ideasLee Davies
 
кубок Україна
кубок Українакубок Україна
кубок Українаvetrov
 
стем
стемстем
стемvetrov
 
зустріч
зустрічзустріч
зустрічvetrov
 
деньгідностісвободи
деньгідностісвободиденьгідностісвободи
деньгідностісвободиvetrov
 
профспілкапік
профспілкапікпрофспілкапік
профспілкапікvetrov
 
черлідінг2016осінь
черлідінг2016осіньчерлідінг2016осінь
черлідінг2016осіньvetrov
 

Destaque (18)

Parts body
Parts bodyParts body
Parts body
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)
 
Birds
BirdsBirds
Birds
 
When I was young (quote from Joseph Landri)
When I was young (quote from Joseph Landri)When I was young (quote from Joseph Landri)
When I was young (quote from Joseph Landri)
 
Drake's corner ideas
Drake's corner ideasDrake's corner ideas
Drake's corner ideas
 
Kavithai
KavithaiKavithai
Kavithai
 
Revista power point
Revista power pointRevista power point
Revista power point
 
кубок Україна
кубок Українакубок Україна
кубок Україна
 
стем
стемстем
стем
 
зустріч
зустрічзустріч
зустріч
 
Book julio 11
Book julio 11Book julio 11
Book julio 11
 
Mariscos doña petra
Mariscos doña petraMariscos doña petra
Mariscos doña petra
 
деньгідностісвободи
деньгідностісвободиденьгідностісвободи
деньгідностісвободи
 
профспілкапік
профспілкапікпрофспілкапік
профспілкапік
 
черлідінг2016осінь
черлідінг2016осіньчерлідінг2016осінь
черлідінг2016осінь
 
Jaga kebersihan
Jaga kebersihanJaga kebersihan
Jaga kebersihan
 
Kourikka
KourikkaKourikka
Kourikka
 

Semelhante a Dev Ops at Paguemenos

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...tdc-globalcode
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroAndré Luís Cardoso
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsCamila Carrera
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
Apresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiApresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiRicardo Martins ☁
 

Semelhante a Dev Ops at Paguemenos (20)

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
DevOps Primeiros Passos
DevOps Primeiros PassosDevOps Primeiros Passos
DevOps Primeiros Passos
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
SonarQube
SonarQubeSonarQube
SonarQube
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to hero
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOps
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Lm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openauditLm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openaudit
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Apresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiApresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - Bemobi
 

Dev Ops at Paguemenos

  • 2. 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
  • 3. 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
  • 4. 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
  • 5. Introdução - Pilares Quatro Eixos DevOps Automação Cultura Avaliação Compartilhamento
  • 6. Introdução - Pilares Cultura ● Colaboração ● Práticas Ágeis / Lean ● Relação saudável entre as áreas ● Mudança de comportamento
  • 7. Introdução - Pilares Automação ● Deploy ● Controle ● Monitoramento ● Gerência de configuração ● Orquestração ● Infra-estrutura como código
  • 8. Introdução - Pilares Avaliação ● Métricas ● Medições ● Performance ● Logs e Integração
  • 9. Introdução - Pilares Compartilhamento ● Feedback ● Comunicação
  • 11. Introdução - Pilares vs Ferramentas Cultura ● Treinamentos internos ● Pessoas são mais importantes que processos e ferramentas ● Atitute
  • 12. Introdução - Pilares Automação ● Ansible ● PhpIpam ● Jenkins ● Gitlab ● Nexus OSS ● Ansible novamente
  • 13. Introdução - Pilares Avaliação ● ITM/ITMN ● Dashboards ● LogStash / Syslog
  • 14. Introdução - Pilares Compartilhamento ● Portal corporativo ● PhpIpam ● Jenkins ● Nexus
  • 15. 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
  • 16. Ferramenta para gerenciamento das informações de rede como vlan, endereços IP utilizados, livres, online e offline, entre outras Ciclo operacional - Depois
  • 17. 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.
  • 18. 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.
  • 19. 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 gitlab 2. Instala e configura os ambiente de homologação e produção 3. Autenticação sem senhas, através de chaves assimétricas 4. Integração contínua, o commit do fonte, dispara o build, teste e deploy da máquina 5. CentOS 7 6. 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
  • 20. 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?)
  • 21. 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.
  • 22. 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
  • 23. Entregas - Alguns números