DevOps na Zendesk Eduardo Saito! DEVOPS LEAD Cassiano Aquino! SENIOR DEVELOPER OPERATIONS ENGINEER
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
FUNCIONÁRIOS 500+ FUNDADA 2007 ORIGEM Denmark MATRIZ San Francisco STOCK ZEN TIME DEVOPS ESCRITÓRIOS DUBLIN COPENHAGEN LONDON MADISON SAN FRANCISCO TOKYO SINGAPORE` SÃO PAULO MELBOURNE
Twitter Fone Compartilhamento de tickets Facebook Help center Chat Support tab E-mail API
40.000+ clientes
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
ARQUITETURA CDN LB Workers App DB
ARQUITETURA CDN LB Workers App DB
ARQUITETURA LB CDN Proxy Workers LB App DB
ARQUITETURA LB CDN Proxy Workers LB App DB
ARQUITETURA LB CDN Proxy Workers LB App DB
ARQUITETURA LB CDN Proxy Workers LB App DB
ARQUITETURA CDN POD1 - US East Coast POD2 - US West Coast POD3 - Europe
ARQUITETURA CDN POD1 - US East Coast POD2 - US West Coast POD3 - Europe
ARQUITETURA CDN 1 - Edgecast CDN 2 - AWS Cloudfront CDN 3 - POD1 - US East Coast POD2 - US West Coast POD3 - Europe
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Processos Projetos Configuração Releases Requisições Problemas Incidentes
Processos Projetos Configuração Releases Requisições Problemas Incidentes
Processos Projetos Configuração Releases Requisições Problemas Incidentes
Processos Projetos Configuração Releases Requisições Problemas Incidentes
PROCESSOS - GERENCIAMENTO DE CONFIGURAÇÃO Mudanças de configuração exigem: Config Releases um ticket, ligado no Git via comentário no commit +1 (Peer-review), feito durante o Pull-Request Problemas Incidentes comunicação no canal de Ops no momento da mudança OP-123
PROCESSOS - GERENCIAMENTO DE CONFIGURAÇÃO Mudanças médias/grandes exigem: Config Releases plano de execução/roll-back, aprovação do gerente comunicação prévia via email a todos stakeholders Problemas Incidentes inclusão no calendário de mudanças (Google Calendar) OP-123
PROCESSOS - GERENCIAMENTO DE RELEASE Releases são: Config Releases sempre executados via ferramenta Problemas Incidentes podem ser executados pelos desenvolvedores são comunicados no canal de Ops
PROCESSOS - GERENCIAMENTO DE RELEASE Config Releases Problemas Incidentes https://github.com/zendesk/samson
PROCESSOS - GERENCIAMENTO DE INCIDENTES Plantão follow-the-sun durante a semana. Config Problemas Releases Incidentes San Francisco Melbourne Dublin Nos fins-de-semana não fazemos follow-the-sun, para minimizar fim-de-semanas frequentes de plantão
PROCESSOS - GERENCIAMENTO DE INCIDENTES Config Releases Problemas Incidentes Canal dedicado Suporte, para discutir Engenharia, Ops incidentes colaboram durante o Feedback incidente imediato Ao final do incidente, um no dos mesmo canal sumário é preparado e Os clientes são mantidos clientes via twitter, circulado nos ML de informados com updates via integrado engenharia e suporte twitter a cada 15-30 minutos, e via seus tickets.
PROCESSOS - GERENCIAMENTO DE PROBLEMAS Gerenciamento de Problemas Config Releases reunião semanal de Gerenciamento de Problemas inclui Ops, Engenharia e Customer Support Problemas Incidentes
PROCESSOS - GERENCIAMENTO DE PROBLEMAS 1) estatísticas dos últimos 90 dias Config Releases Capacidade 5 Configuração 5 Hardware 8 Problemas Incidentes Humano 17 Software 65
PROCESSOS - GERENCIAMENTO DE PROBLEMAS 2) post-mortem Config Releases Problemas Incidentes
PROCESSOS - GERENCIAMENTO DE PROBLEMAS 3) remediation items - ticket para cada item Config Releases classificação: se alto impacto, Problemas Incidentes ou alto risco de reincidência = crítico follow-up em todos os ítens críticos
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Cliente satisfeito! Suporte responde ao cliente Equipe técnica provê detalhes ao Suporte, ou responde Suporte diretamente precisa atribui de ou ao ajuda CC cliente ticket técnica, à escala o equipe problema necessária para a equipe correta (Dev / Ops / etc)
OP-123
WORKFLOW BRANCH caquino/ OP-123
WORKFLOW COMMITS
WORKFLOW TRAVIS-CI / RSPEC SERVERSPEC PULL REQUEST
WORKFLOW PEER REVIEW
WORKFLOW MERGE TRAVIS-CI / RSPEC SERVERSPEC
WORKFLOW Release de item de configuração: Config Releases Envio da nova versão para o chef server Não é aplicado imediatamente no ambiente Freeze de versões Incremento da versão no ambiente Execução dentro da janela de mudança Servidores recebem a mudança na próxima execução Problemas Incidentes X v1.0.0 v1.0.1
WORKFLOW Config Releases Problemas Incidentes https://github.com/zendesk/samson
MONITORAÇÃO E INSTRUMENTAÇÃO! Monitoração - Instrumentação
MONITORAÇÃO E INSTRUMENTAÇÃO! Disponibilidade - Acesso
DDoS! Mitigação - Segurança
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK Equipes geograficamente distribuídas (+) Ops próximos aos Devs (+) Follow-the-sun (-) Comunicação e entrosamento entre regiões
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK Team Building
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK Tech talks
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK Quarta-feira Zen
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK
CULTURA DA EQUIPE DE DEVOPS E DA ZENDESK Trabalho Remoto
http://github.com/zendesk
12.23.12 Obrigado!
?
Eduardo Saito! DEVOPS LEAD ESAITO@ZENDESK.COM http://saito.com.br Cassiano Aquino! SENIOR DEVELOPER OPERATIONS ENGINEER CAQUINO@ZENDESK.COM http://syshero.org Follow me on Twitter: @syshero Estamos contratando! http://goto.zendesk.com/qconrio