SlideShare uma empresa Scribd logo
1 de 57
DevOps com Exemplos 
Práticos
CAMS
J . Paul Reed: VIDS
I/O
Era assim...
De repente...
Então, 
o que é DevOps ? 
Cloud 
Automação 
Integração Contínua 
Ferramentas
Então, 
o que é DevOps ? 
Cloud 
Automação 
Integração Contínua 
Ferramentas
C.O.CO
O que é Não é DevOps ?
Exemplo 1 
THE 
Multiprogramming 
System
MEDO !!!!!
Exemplo 2 
Integração entre empresas
Visão de Business: 
Funciona na empresa deles 
Lorieri sabe tudo de nuvem 
Rapidão instala aqui
Visão técnica: 
Migração para Nuvem, 
…só que ao contrário
Tarefa 1 - QA para integração 
Ambiente de Dev na empresa terceira 
~= 20 módulos .Net ( com HA) 
Pool de SQL Server 
2 Pools de MySQL 
2 Pools de busca 
Pool de Proxy 
Pool de Roteamento 
Pool de Fila “Igual da Grande Nuvem”, Aka: REST + Delayed 
Object Storage “Igual da Grande Nuvem” 
Sistema de deploy “Igual da Grande Nuvem”
Vocês por favor poderiam me arrumar os manuais ?
Eles Nós 
*****Ná época do Projeto 
Negócio: Um sistema para diversas 
lojas médias e pequenas 
Uma grande loja 
Infra: Nuvem Virtualização 
Desenvolvimento: Times distribuídos autônomos Times especializados 
Característica: Agilidade para lidar com 
riscos altos 
Riscos baixos para evitar lidar 
com situações críticas e 
desvalorização da marca 
Deploys/Dia Centena Dúzia
Sempre desatualizado 
Sempre dessincronizado 
Homologação demorada (QA) 
Report binário: Funciona / Não Funciona 
Impossível conhecer todos os módulos em tão pouco tempo
Solução 1: esperar 
Solução 2: Devops !!!
Vamos pro Rio !!!
Expôr a Infra ?
Problema e Soluções 
Expôr a rede: acesso via VPN, Vlan separada, proxy dedicado 
Expôr código da Infra: Submódulos do Git 
Expôr as senhas: Encrypted Databags 
Tempo: Máquinas Pares - Dev 
Máquinas Ímpares - QA 
Roteamento por Cookies /setcookie 
/unsetcookie
Falta uma coisa: 
Deploy Igual da Grande Nuvem
Dá pra melhorar….
Logio.org 
http://cdn.teckler.com/images/XxETDxX/dd6d683e6d84b4a28f27de0e9706b6bc.jpg
Produção: NewRelic
Como configurar 20 módulos ?
template "C:wwwrootwebconfig.conf" do 
local true 
source "C:wwwrootwebconfig.conf.erb” 
end
“A sua liberdade começa 
onde a minha termina”
Era do Garbage Collection
Terceiros github 
submodulo 
no git do chef
github teamcity Amazon S3
Amazon S3 
beanstalk 
repositório
repositório 
Jenkins 
Máquinas de 
QA deles
Terceiros 
repositório 
Jenkins 
Máquinas de 
QA deles 
Chef 
email com detalhes 
para o desenvolvedor
Máquinas de 
QA Automático 
Varnish 
Cookies 
Terceiros
Terceiros 
email com detalhes 
para o desenvolvedor 
Jenkins 
Máquinas de 
QA deles 
Objetos 
Ceph 
Logs
Terceiros 
beanstalk 
repositório
Terceiros 
email com detalhes 
para o desenvolvedor repositório 
Jenkins 
Chef 
Nosso QA
Nosso QA 
Varnish 
Cookies 
QA
QA 
Prod
Pré 
& 
Prod 
DEV 
QA 
J 
E 
N 
K 
I 
N 
S 
C 
H 
E 
F 
G 
I 
T 
Sub/Git 
Sub/Git 
Sub/Git 
Sub/Git 
Sub/Git 
Time A 
Time B 
Empresa A 
Empresa B 
Empresa C
Realidade
Obrigado :) 
@againstty0

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 
DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo Sato
 
Explicando DevOps
Explicando DevOpsExplicando DevOps
Explicando DevOps
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013
 
Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e devel
 
O que é DevOps afinal?
O que é DevOps afinal?O que é DevOps afinal?
O que é DevOps afinal?
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começar
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
Implementando Entrega Contínua
Implementando Entrega ContínuaImplementando Entrega Contínua
Implementando Entrega Contínua
 
Cultura DevOps
Cultura DevOpsCultura DevOps
Cultura DevOps
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
DevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftDevOps & Docker com a stack Microsoft
DevOps & Docker com a stack Microsoft
 
DevOps - visão geral
DevOps - visão geralDevOps - visão geral
DevOps - visão geral
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
 
DevOps - Estado da Arte
DevOps - Estado da ArteDevOps - Estado da Arte
DevOps - Estado da Arte
 
Testes automatizados - Agile Day
Testes automatizados -  Agile DayTestes automatizados -  Agile Day
Testes automatizados - Agile Day
 

Destaque

Destaque (9)

LeanOps IDG CloudWorld Korea
LeanOps IDG CloudWorld KoreaLeanOps IDG CloudWorld Korea
LeanOps IDG CloudWorld Korea
 
Desenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaDesenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvida
 
DevOps The Cultural revolution
DevOps The Cultural revolutionDevOps The Cultural revolution
DevOps The Cultural revolution
 
ITIL and DevOps at War in the Enterprise - DevOpsDays Amsterdam 2014
ITIL and DevOps at War in the Enterprise - DevOpsDays Amsterdam 2014ITIL and DevOps at War in the Enterprise - DevOpsDays Amsterdam 2014
ITIL and DevOps at War in the Enterprise - DevOpsDays Amsterdam 2014
 
Waterfall-ITIL vs Agile-DevOps
Waterfall-ITIL vs Agile-DevOpsWaterfall-ITIL vs Agile-DevOps
Waterfall-ITIL vs Agile-DevOps
 
ITIL and DevOps can be friends
ITIL and DevOps can be friendsITIL and DevOps can be friends
ITIL and DevOps can be friends
 
Agile and ITIL Continuous Delivery
Agile and ITIL Continuous DeliveryAgile and ITIL Continuous Delivery
Agile and ITIL Continuous Delivery
 
The Force Behind Star Wars: Turning Design Ideas into Reality
The Force Behind Star Wars: Turning Design Ideas into RealityThe Force Behind Star Wars: Turning Design Ideas into Reality
The Force Behind Star Wars: Turning Design Ideas into Reality
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 

Semelhante a DevOps com Exemplos Práticos - QConRio 2014

Semelhante a DevOps com Exemplos Práticos - QConRio 2014 (20)

Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
Microserviços
MicroserviçosMicroserviços
Microserviços
 
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
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Desvendando o Docker
Desvendando o DockerDesvendando o Docker
Desvendando o Docker
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Curso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de ContêineresCurso de Verão - Aula 02 - Orquestração de Contêineres
Curso de Verão - Aula 02 - Orquestração de Contêineres
 
Docker tdc 2014
Docker   tdc 2014Docker   tdc 2014
Docker tdc 2014
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
Utilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.JsUtilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.Js
 
Dockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP PernambucoDockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP Pernambuco
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 

Mais de Leo Lorieri

Mais de Leo Lorieri (7)

Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewCeph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
História dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SIHistória dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SI
 
Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.com
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeito
 
History of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that wayHistory of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that way
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

DevOps com Exemplos Práticos - QConRio 2014

Notas do Editor

  1. quem sou eu:
  2. morei no rio
  3. O que é: definicao oficial -- Cultura, Automação, Métricas e “Compartilhamento” ----- http://pom-tec.com/wp-content/uploads/2011/11/cameras.jpg
  4. Nova definição: -- Realinhamento de Valores -- Individualidade -- “Don’t be an Asshole” -- Auto Conhecimento - Conhecimento do Sistema ----- http://afv.com/wp-content/uploads/2013/11/VHS.jpg
  5. Fim lei de moore -- multi cpu-core-threaded-cached -- cache e buffers pra todo lado -- sistemas nao cabem no hardware
  6. i/o nao acompanhou -- buffers+caches na controladora, no hd, no filesystem, mais camada de rede
  7. http://www.lampdevelopers.com/images/lamp-cluster.jpg
  8. Tudo virando software ------ (imagem netflix blog)
  9. especializacao de tarefas: dba, storage, rede, frontend, backend, segurança…. -- criou-se o abismo ------- http://s3.amazonaws.com/rapgenius/the_abyss_by_nightpisces-d4cc8tu.jpg
  10. grandes empresas começaram a comprar empresas menores, mais dinâmicas ------- foi quando surgiu devops
  11. Mil ferramentas, mas falta atitude
  12. Criei minha própria definição: "Comprometimento e Objetivo Comum” -- consequencias: gestao de riscos mais inteligentes, priorizacoes (time-to-market), colaboracao, transparencia -- Sem problemas do tipo 2 ------- http://www.geek.com/wp-content/uploads/2014/01/puppypoopin-590x330.jpg
  13. e vamos mostrar que dá pra ser devops sem gohorse
  14. Edsger W. Dijkstra (déquistra), inventou os semaforos, se nao fosse ele nao existiria nunca 2 coisas rodando ao mesmo tempo no computador ------ http://upload.wikimedia.org/wikipedia/commons/d/d9/Edsger_Wybe_Dijkstra.jpg
  15. transformou o acesso aos desenvolvedores -- batch -> multiprogram (explicar) -------- http://faculty.washington.edu/ http://askubuntu.com/questions/7605/
  16. medo de bug, tudo muito complexo + equipe mal preparada -- criou os niveis de acesso (explicar) -- criou a tolerancia a bugs !!!! -- no final ele percebeu que era um medo besta, problemas triviais -- Compartilhou o micro ! ----- http://upload.wikimedia.org/wikipedia/commons/6/6d/Metallic_shield_bug444.jpg
  17. Bugs + controle de acesso = Hackers ! -- relação niveis de acesso com DEV/QA /Pre-Prod/Prod ------- http://arquivoufo.com.br/wp-content/uploads/2012/04/hackers_thumb.jpg
  18. Dica: não tenha medo, teste, brinque, experimente -- Dev, QA são para error imprevisíveis, abuse disso -- Na falta de tempo, ignore os erros previsíveis, eles são previsíveis afinal -- varios ambientes pra brincar, mas cuide bem de prod, sem gohorse ------- http://www.technobuffalo.com/wp-content/uploads/2013/01/clippy.jpg
  19. Contexto: muita coisa já mudou
  20. Agravante: windows windows enterprise (GPOs e UAC) Poderia dizer: nao trabalho com windows
  21. Ficariam desatualizados rapidamente durante desenvolvimento
  22. Na epoca do projeto
  23. situação após instalação
  24. vamos integrar ! -- implementar mesmas iniciativas devops de dentro do empresa -- descobrimos o CI deles -- total apoio deles -- vamos juntar tudo, fazer o nosso CI ser parte da integração contínua deles -- Vamos criar ambiente de dev dentro da empresa -- acesso total em DEV, acesso read-only em QA = colaboração ------ http://cdn.teckler.com/images/XxETDxX/dd6d683e6d84b4a28f27de0e9706b6bc.jpg
  25. Segurança: expor rede, expor codigo da infra, expor senhas da infra, expor infra como um todo --------- http://www.hardmob.com.br/content/attachments/8992d1391654072-battlefieldcop.jpg.html
  26. Transparencia, visibilidade, certeza do que foi feito, sem control+c e control+v, menos debug, mais confiança, ganha tempo ------- http://static.indianexpress.com/m-images/Mon%20Apr%2029%202013,%2011:15%20hrs/M_Id_380862_Infra.jpg
  27. mas não tínhamos tempo ------ http://viccareers.files.wordpress.com/2014/03/no-time-to-prepare-for-interview.png?w=860&h=450&crop=1
  28. Enfrentar + Kiss (Keep it Simple Stupid), Entender a necessidade, fazer o mais simples possível -- Script besta gera lista dos pacotes disponíveis para ir e volar versões
  29. Simplicidade, agilidade
  30. simplicidade: streaming de log, tempo real, sem retenção, máquinas de dev fazendo chamadas via proxy com origem, destino, http code, request e response headers, filtro por regex
  31. sem documentacao: mapa automatico de dependencia, debug, debug, debug, minutos pra instalar, time enxuto justifica ferramentas
  32. Eu era o “gargalo de I/O”, centenas de configurações para 3 ambientes, impossível de manter o controle por planilha, impossível de manter o controle, medo de perder o controle, medo besta, erros previsíveis
  33. terceiros mandavam o template junto com o pacote, já pronto, acesso no submódulo para criar as variáveis, “local true”, Contra: Perda do “controle”, Pró: diversos times trabalhando juntos e ajudando
  34. Todo mundo quer autonomia, mas ninguem quer dar, pq dá trabalho, Solução: Garbage Collection
  35. todo mundo entende garbage collection, “responda rapido, limpe as coisas depois”, assincrono, distribuicao dos sistemas, problemas de I/O, etc -- Tempo de controlar vira tempo de “Limpar” -- mesmo vale para ips, máquinas, sing-ins, DNS, blobs -- confiar, trabalhar junto ----------- http://latimesphoto.files.wordpress.com/2010/10/la-1026-pin10.jpg
  36. Como ficou… na outra empresa o dev criava as variaveis para os nossos templates, e comeca a integracao continua deles
  37. nesse instante a o sistemas deles estava no ar
  38. Detalhes completos do deploy, com print dos arquivos de configuração
  39. Escolhe a versão que funcionou para o deploy no nosso QA
  40. Virou padrão para todos projetos de software Contratacoes novas, mudanca de times, manutenção, tudo igual
  41. nao eh todo mundo que viu valor nessas coisas, nao eh todo mundo que colaborou, mas nao podemos nivelar nossas empresas por baixo, deixar quem é bom ir pra frente, ser humano sempre vai reclamar :) ---------- http://img.izismile.com/img/img4/20110721/640/expectation_vs_reality_part_2_640_05.jpg
  42. nao eh todo mundo que viu valor nessas coisas nao eh todo mundo que colaborou mas nao podemos nivelar nossas empresas por baixo tem caso, serodio, foi longe, reclamacoes nivel MASTER, quem dera todo mundo reclamasse das mesmas coisas ser humano sempre vai reclamar :)