Este documento descreve a transição da Editora Abril para uma abordagem DevOps para o desenvolvimento e operações do site Exame.com. Resumidamente, (1) a abordagem anterior era lenta e burocrática, (2) a adoção do DevOps promoveu a integração contínua, gestão de configuração e entrega contínua para agilizar o desenvolvimento, e (3) os resultados incluíram maior agilidade, redução de custos e aumento significativo no tráfego do site.
3. 2
3
Overview
• Abril
• Exame.com
• Conceito DevOps
• Dividir para conquistar
• IaaS - Infrastructure as a service
• Gerenciamento de configuração
• Continuos Integration/Delivery
• Benefícios
• Resultados
3
4. 4
Abril Mídia é responsável pela estratégia e pelo desenvolvimento dos produtos e
serviços digitais da Abril.
Áreas em que atuamos:
• Desenvolvimento de Produtos, QA e Processos
• Mídias Digitais
• E-commerce
• Infraestrutura & Operações
• Segurança da Informação
• Desenvolvimento de plataformas (mobile, CMS, Aplicativos)
13. 2
13
Antes...
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Passagem a produção complexa
• Falta de integração contínua entre os ambientes
• Confiança entre as areas Dev/Ops
• Build Manuais
• Segurança?
13
16. 2
16
Wikipedia – Definição ‘DevOps’
"DevOps (amálgama de Desenvolvedor e Operador) é uma
metodologia de desenvolvimento de software que explora
a comunicação, colaboração e integração entre desenvolvedores
de software e profissionais de TI (Tecnologia da
Informação).1 DevOps é a reação à interdependência entre
desenvolvimento de software e operações de TI. Pretende ajudar
organizações a produzir software e serviços rapidamente".
16
"DevOps (amálgama de Desenvolvedor e Operador) é uma
metodologia de desenvolvimento de software que explora
a comunicação, colaboração e integração entre desenvolvedores
de software e profissionais de TI (Tecnologia da
Informação).1 DevOps é a reação à interdependência entre
desenvolvimento de software e operações de TI. Pretende ajudar
organizações a produzir software e serviços rapidamente".
17. 2
17
Funciona no Mundo Real?
“Se eu perguntasse para os meus clientes o que eles
desejavam, eles diriam: um cavalo mais veloz” Henry Ford
17
18. 18
Dividir para Conquistar
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
22. 22
Dividir para Conquistar
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
26. 26
Dividir para Conquistar
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
• Arquitetura de infra-estrutura diferente de produção
• Configurações diferentes de produção
• Falta de integração contínua entre ambiente
• Passagem a produção complexa
• Confiança entre as areas Dev/Ops
• Segurança?
• Build Manuais
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
• Mudanças Frequentes, com poucos deploys
28. 28
Benefícios
• Agilidade para os times (DEV, QA, Ops ...)
• Redução dos chamados no service desk (25%)
• Redução no tempo para provisionamento uma máquina virtual (
30s )
• Compatibilidade Stack EC2
• Autonomia para as equipes (dev, qa e, Ops ...)
• Arquitetura próxima a produção
• Baixo custo
• Builds Automatizados
• Continuos Integration
• Continuos Delivery
• Ambiente Controlado
• Escalabilidade
Boa tarde a todos! É uma satisfação palestrar para os guerreiros aqui presente...São 16h… todo mundo já está cansado… é a penultima palestra do evento...Motivante deste evento... É que conseguimos iteragir com muitas pessoas... E trocar experiencias....Vamos continuar que tem apenas essa e mais uma palestra… e depois vamos embora bebemorar, relaxar…
Eu sou o Robson Chikasawa... trabalho na Editora Abril desde 2008 e há 2 anos como Arquiteto de Soluções no Site Exame.comObrigado johnny pelo convite, em poder palestrar e mostrar juntos o case da Exame.com - Qtos de voces, sabem ou ouviram falar de devops? - Antes disso…. qtos de vcs são desenvolvedores? qtos são operadores (infra)? o restantes são simpatizantes?Muitas empresas dividem Desenvolvimento e Operações em departamentos diferentes.Se a empresa não tiver uma cultura colaborativa entre as áreas técnicas. Vamos encontrar algum tipo de atrito entre asareas.....Quer dizer que “Dev” deixa o ambiente instavel por fazer entregas frequentes...Quer dizer que o “Ops” não consegue deixar o ambiente disponível e estável...
Eu sou o Robson Chikasawa... trabalho na Editora Abril desde 2008 e há 2 anos como Arquiteto de Soluções no Site Exame.comObrigado johnny pelo convite, em poder palestrar e mostrar juntos o case da Exame.com - Qtos de voces, sabem ou ouviram falar de devops? - Antes disso…. qtos de vcs são desenvolvedores? qtos são operadores (infra)? o restantes são simpatizantes?Muitas empresas dividem Desenvolvimento e Operações em departamentos diferentes.Se a empresa não tiver uma cultura colaborativa entre as áreas técnicas. Vamos encontrar algum tipo de atrito entre asareas.....Quer dizer que “Dev” deixa o ambiente instavel por fazer entregas frequentes...Quer dizer que o “Ops” não consegue deixar o ambiente disponível e estável...
Quemconhece o site exame…. Site exame… ecomposto de outraspequenasaplicações… o maisimportantedelassão o CMS (Sistema de gerenciamento de conteudo), ondeosjornalistas/redatoresimputamos dados… e o Site querenderizaosconteudosimputados, entre outros conteúdos.4 anos de existenciaUm legadopassadoparaabrilRuby on railsBlog emwordpressMongoDBLideremnoticiasnegocios/economia…
Quemconhece o site exame….Site exame… ecomposto de outraspequenasaplicações… o maisimportantedelassão o CMS, ondeosjornalistas/redatoresimputamos dados… e o Site querenderizaosconteudosimputados, entre outros conteúdos.A akamai serve conteudosparaosusuariosfinais com altadisponibilidade e alta performance…
Antes…Nãosei se tenhovergonhaquecontaroutenhoorgulho de dizerqueerramos e aprendemos com oserros…Nãotenhamedo de errar… porquesempreaprendemos com oserros, mesmosendomuitodolorido…Antes, sequertinhamosumaequipe… era umapastelaria…NãoquenãotínhamosalgumprocessodefinidoÉramosjuniores, a experienciaquetínhamosatéentãonoscolocavamemcituaçõescríticas…Dev => Tínhamuitademandasrealizadas, mas poucas features emprodução.Ops=> Tinhamuitaocorrencia de problemas no ambiente de produção… (seja com instabilidade do server, memória 100%, utilizando o swap, load da máquinamuito alto...).
Aqui…Tínhamos deploys agendado com muitas features subindoparaprodução… com isso… tinhamos um alto risco de realizar um rollback casouma feature quebrassealgumafuncionalidadecrítica do CMS/Site.
Ambientes DEV/QA/STAGEdiferente de produção… muitascoisasquefoidesenvolvidoatéessafasenãofuncionavamemprodução…Burocracia: Abrirchamadopara dump de banco de dados/ copia do log de produção do apache/aplicação…AmbienteDescontrolado: emdiversasmáquinas de produçãotemosversoesdiferentes de bibliotecas/ferramentasfora do padrao….
Sabemos que não é bem assim que funciona no mundo real...Henry Ford disse:“Se eu perguntasse para os meus clientes o que eles desejavam, eles diriam: um cavalo mais veloz”Não que eu devo ignorar os clientes... E sim fazer o que é o certo... Eu tenho um limitante identificado no próximo slides...
Resumindo… DevOps é igual a qualquer relacionamento homem/mulher…precisa ter comunicação(ouvir/falar)… colaboração(pedir/receber)… integração(ter a mesmo objetivo/ideia)… entre as partes…No início é tudo mil maravilhas… mas vc verá que terão seus altos e baixos… vai rolar um rancor do problema do software…. vai rolar um rancor do problema de infra… e se não tiver a sintonia… a coisa não rolaPor isso que é muito importante a empresa ter essa cultura que todos devem trabalhar por um objetivo único.
Resumindo… DevOps é igual a qualquer relacionamento homem/mulher…precisa ter comunicação(ouvir/falar)… colaboração(pedir/receber)… integração(ter a mesmo objetivo/ideia)… entre as partes…No início é tudo mil maravilhas… mas vc verá que terão seus altos e baixos… vai rolar um rancor do problema do software…. vai rolar um rancor do problema de infra… e se não tiver a sintonia… a coisa não rolaPor isso que é muito importante a empresa ter essa cultura que todos devem trabalhar por um objetivo único.
Sabemos que não é bem assim que funciona no mundo real...Henry Ford disse:“Se eu perguntasse para os meus clientes o que eles desejavam, eles diriam: um cavalo mais veloz”Não que eu devo ignorar os clientes... E sim fazer o que é o certo... Eu tenho um limitante identificado no próximo slides...
Improdutivo – relacionado a roll backs
Improdutivo – relacionado a roll backsInflexiveljanelas de deploy