Práticas DevOps com
3
DevOps
O que é? Para que serve?
● Práticas para aproximar as áreas de desenvolvimento e
infraestrutura.
● Permitir deploys constantes mantendo a estabilidade da
aplicação.
● Evitar jogo de empurra entre a equipe de desenvolvimento e
infraestrutura … “A culpa é da aplicação”, “A culpa é da rede”..
● Desenvolvedores conscientes que recursos são finitos e
sysadmin cientes que novidades são necessárias.
4
DevOps
Modelo tradicional
● Times de desenvolvimento e infraestrutura bem definidos e
apartados, com pouca interação e ou comunicação.
● Desenvolvedor “arremessa” o “pacote” para a “infraestrutura”.
5
DevOps
6
DevOps
O que pode acontecer ?
● Deploy mal sucedido devido a complexidade dos procedimentos
envolvido na operação, ambiente de produção parado.
● Novos bugs aparecem no ambiente de produção.
● Usuários reclamando de problema de desempenho.
● Time de infraestrutura aponta que o problema é aplicação
● Desenvolvedor não tem acesso a ambiente de produção e
gasta-se horas para se tentar reproduzir os problemas.
7
Zend Server é DevOps
8
Zend Server é DevOps
Deploy
● Processo de deploy padronizado e automatizado.
● O desenvolvedor entrega o pacote com todas as operações
necessárias para o deploy.
● O sysadmin não precisa conhecer de maiores detalhes da
aplicação e de programação para executar o deploy
● O sysadmin apenas informa parâmetros do ambiente.
● Todo procedimento de deploy é encapsulado pelo desenvolvedor
no pacote da aplicação.
9
Zend Server é DevOps
Deploy
● Todas as dependências e configurações
necessárias para o correto funcionamento da
aplicação podem ser definidas pelo desenvolvedor.
● Todo procedimento pode ser validado em ambiente
de desenvolvimento e homologação.
● DEMO
10
Zend Server é DevOps
Deploy
● Aumento de confiança da equipe de
infraestrutura.
● Menor chance de ocorrerem falhas
● Mas...
● Se ainda assim o deploy falhar ?
11
Zend Server é DevOps
12
Zend Server é DevOps
Rollback
● Sysadmin pode efetuar rollback para versão
anterior com apenas um click.
● Minimiza tempo de retomada em caso de
problemas no deploy.
● Demo
13
Zend Server é DevOps
Desenvolvedores
+
Visibilidade do ambiente
de produção
=
● Agilidade na correção de
bugs.
● Identificação de problemas
de desempenho
14
Zend Server é DevOps
Visão compartilhada do ambiente de produção
● Contas restritas para desenvolvedores onde podem visualizar
todas as estatísticas de monitoramento e eventos de uma
aplicação
● Eventos e code tracings podem ser exportados e importados no
Zend Studio localmente.
● Debug remoto a partir de um Zend Studio para um servidor de
produção
● DEMO
15
Zend Server é DevOps
Monitorar é preciso! Mas, o que monitorar ?
16
Zend Server é DevOps
Métricas definidas no pacote
● O desenvolvedor em conjunto com a equipe de
infraestrutura pode definir todas as métricas de
monitoramento aplicação e embuti-las no pacote.
● O desenvolvedor pode definir métricas a nível de
funções e métodos, que sejam relevantes para o bom
funcionamento da aplicação.
● DEMO
17
Sobre
William Felipe Welter
● Bacharel em Ciência da Computação
● Líder das equipes de PHP e PostgreSQL na 4Linux
● Certificações:
● LPIC 1, 2 e 3
● Zend Certified Enginner - PHP 5.3
● Zend Framework 2 Certified Architect
● Postgres Plus 9.0 Associate
Thiago Henrique de Oliveira
● Bacharel em Ciência da Computação
● Consultor e Instrutor PHP na 4Linux
● Certificações:
● Zend Certified Enginner - PHP 5.3
● Zend Certified PHP Enginner - PHP 5.5
● Zend Framework 2 Certified Architect

Práticas DevOps com Zend Server

  • 2.
  • 3.
    3 DevOps O que é?Para que serve? ● Práticas para aproximar as áreas de desenvolvimento e infraestrutura. ● Permitir deploys constantes mantendo a estabilidade da aplicação. ● Evitar jogo de empurra entre a equipe de desenvolvimento e infraestrutura … “A culpa é da aplicação”, “A culpa é da rede”.. ● Desenvolvedores conscientes que recursos são finitos e sysadmin cientes que novidades são necessárias.
  • 4.
    4 DevOps Modelo tradicional ● Timesde desenvolvimento e infraestrutura bem definidos e apartados, com pouca interação e ou comunicação. ● Desenvolvedor “arremessa” o “pacote” para a “infraestrutura”.
  • 5.
  • 6.
    6 DevOps O que podeacontecer ? ● Deploy mal sucedido devido a complexidade dos procedimentos envolvido na operação, ambiente de produção parado. ● Novos bugs aparecem no ambiente de produção. ● Usuários reclamando de problema de desempenho. ● Time de infraestrutura aponta que o problema é aplicação ● Desenvolvedor não tem acesso a ambiente de produção e gasta-se horas para se tentar reproduzir os problemas.
  • 7.
  • 8.
    8 Zend Server éDevOps Deploy ● Processo de deploy padronizado e automatizado. ● O desenvolvedor entrega o pacote com todas as operações necessárias para o deploy. ● O sysadmin não precisa conhecer de maiores detalhes da aplicação e de programação para executar o deploy ● O sysadmin apenas informa parâmetros do ambiente. ● Todo procedimento de deploy é encapsulado pelo desenvolvedor no pacote da aplicação.
  • 9.
    9 Zend Server éDevOps Deploy ● Todas as dependências e configurações necessárias para o correto funcionamento da aplicação podem ser definidas pelo desenvolvedor. ● Todo procedimento pode ser validado em ambiente de desenvolvimento e homologação. ● DEMO
  • 10.
    10 Zend Server éDevOps Deploy ● Aumento de confiança da equipe de infraestrutura. ● Menor chance de ocorrerem falhas ● Mas... ● Se ainda assim o deploy falhar ?
  • 11.
  • 12.
    12 Zend Server éDevOps Rollback ● Sysadmin pode efetuar rollback para versão anterior com apenas um click. ● Minimiza tempo de retomada em caso de problemas no deploy. ● Demo
  • 13.
    13 Zend Server éDevOps Desenvolvedores + Visibilidade do ambiente de produção = ● Agilidade na correção de bugs. ● Identificação de problemas de desempenho
  • 14.
    14 Zend Server éDevOps Visão compartilhada do ambiente de produção ● Contas restritas para desenvolvedores onde podem visualizar todas as estatísticas de monitoramento e eventos de uma aplicação ● Eventos e code tracings podem ser exportados e importados no Zend Studio localmente. ● Debug remoto a partir de um Zend Studio para um servidor de produção ● DEMO
  • 15.
    15 Zend Server éDevOps Monitorar é preciso! Mas, o que monitorar ?
  • 16.
    16 Zend Server éDevOps Métricas definidas no pacote ● O desenvolvedor em conjunto com a equipe de infraestrutura pode definir todas as métricas de monitoramento aplicação e embuti-las no pacote. ● O desenvolvedor pode definir métricas a nível de funções e métodos, que sejam relevantes para o bom funcionamento da aplicação. ● DEMO
  • 17.
    17 Sobre William Felipe Welter ●Bacharel em Ciência da Computação ● Líder das equipes de PHP e PostgreSQL na 4Linux ● Certificações: ● LPIC 1, 2 e 3 ● Zend Certified Enginner - PHP 5.3 ● Zend Framework 2 Certified Architect ● Postgres Plus 9.0 Associate Thiago Henrique de Oliveira ● Bacharel em Ciência da Computação ● Consultor e Instrutor PHP na 4Linux ● Certificações: ● Zend Certified Enginner - PHP 5.3 ● Zend Certified PHP Enginner - PHP 5.5 ● Zend Framework 2 Certified Architect