Case Abril Mídia
1
DevOps
Johnny Santos
JohnSantos@abril.com.br
Robson Chikasawa
rchikasawa@abril.com.br
2
2
Dev
Robson Chikasawa
Editora Abril – Arquiteto de Soluções
Site Exame.com
Ops
Johnny Santos
Editora Abril – Arquiteto de Soluções
2
2
3
Overview
• Abril
• Exame.com
• O que motivou DevOps
• Como solucionamos cada problema
• Os benefícios
3
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)
5
Algumas de Nossas Marcas
2
66
2
7
Arquitetura Lógica
7
2
8
Equipe
1 – P.O (Diretora do Site)
1 – Coordenador Técnico (Scrum Master)
5 – Devs
2 – QA’s
2 – Arquiteto
20 – Jornalistas/Redatores
8
Infra (CMS/Site)
2 WsADM / 6 WS / 1 CronJobs
1 MySQL Master / 4 Slaves (replicação)
1 Memcached / 1 Redis
CDN (Akamai)
9
Visão do P.O da Exame TI
• Lenta
• Burocrática
• Inflexível
• Custo
• Improdutiva
• Não escalável
Block
Point
10
Fluxo
E-commerce -
Desenvolvimento
Operações - Projetos -
POC
Qualidade -
Segurança - Treinamento -
LAB
Service Desk
Infraestrutura
provisionamentoCobrança
Servidor Físico
40 DIAS
Servidor
Virtual
5 DIAS
2
11
Como enxergavamos
a exame
11
2
12
Antes...
• Mudanças Frequentes, com poucos deploys
• Alto Risco
• Alto o número de rollback
12
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
2
1414
2
1515
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".
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
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
IaaS - Infrastructure as a service
19
20
Arquitetura Lógica IaaS
21
Framework
BACKUP
STORAGE
NETWORKING
SERVIDORES
MONITORAÇÃO
COBRANÇA
Private Cloud Portal
provisionamento
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
Gestão de Configuração
23
24
25
Arquitetura Funcional PuppetMaster
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
27
Integração Contínua (CI)
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
2
29
Analytics
Janeiro/2012
UV: 2.288.329
PV:21.530.175
29
Junho/2013
UV: 3.965.613
PV:51.541.455
2
30
Resultados
30
31
http://digital.abril.com.br
32
Contatos
@chikasawa
@john00santos
rchikasawa@abril.com.br
JohnSantos@abril.com.br

Fisl14 - DevOps - Exame.com

  • 1.
    Case Abril Mídia 1 DevOps JohnnySantos JohnSantos@abril.com.br Robson Chikasawa rchikasawa@abril.com.br
  • 2.
    2 2 Dev Robson Chikasawa Editora Abril– Arquiteto de Soluções Site Exame.com Ops Johnny Santos Editora Abril – Arquiteto de Soluções 2
  • 3.
    2 3 Overview • Abril • Exame.com •O que motivou DevOps • Como solucionamos cada problema • Os benefícios 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)
  • 5.
  • 6.
  • 7.
  • 8.
    2 8 Equipe 1 – P.O(Diretora do Site) 1 – Coordenador Técnico (Scrum Master) 5 – Devs 2 – QA’s 2 – Arquiteto 20 – Jornalistas/Redatores 8 Infra (CMS/Site) 2 WsADM / 6 WS / 1 CronJobs 1 MySQL Master / 4 Slaves (replicação) 1 Memcached / 1 Redis CDN (Akamai)
  • 9.
    9 Visão do P.Oda Exame TI • Lenta • Burocrática • Inflexível • Custo • Improdutiva • Não escalável Block Point
  • 10.
    10 Fluxo E-commerce - Desenvolvimento Operações -Projetos - POC Qualidade - Segurança - Treinamento - LAB Service Desk Infraestrutura provisionamentoCobrança Servidor Físico 40 DIAS Servidor Virtual 5 DIAS
  • 11.
  • 12.
    2 12 Antes... • Mudanças Frequentes,com poucos deploys • Alto Risco • Alto o número de rollback 12
  • 13.
    2 13 Antes... • Arquitetura deinfra-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
  • 14.
  • 15.
  • 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 MundoReal? “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
  • 19.
    IaaS - Infrastructureas a service 19
  • 20.
  • 21.
  • 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
  • 23.
  • 24.
  • 25.
  • 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
  • 27.
  • 28.
    28 Benefícios • Agilidade paraos 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
  • 29.
  • 30.
  • 31.
  • 32.

Notas do Editor

  • #2 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…
  • #3 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...
  • #4 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...
  • #7 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…
  • #9 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…
  • #12 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...).
  • #13 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.
  • #14 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….
  • #15 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...
  • #16 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.
  • #17 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.
  • #18 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...
  • #23 Improdutivo – relacionado a roll backs
  • #27 Improdutivo – relacionado a roll backsInflexiveljanelas de deploy