Post on 26-Jun-2015
description
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 é DevOpsMonitorar é 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