qcon sp 2015 - escalando times e salvando casamentos com continuous delivery

77
Escalando times e salvando casamentos com continuous delivery Bruno Ghisi @brunogh shipit.resultadosdigitais.com.br

Upload: bruno-ghisi

Post on 18-Jul-2015

341 views

Category:

Technology


0 download

TRANSCRIPT

Escalando times e salvando casamentos

com continuous delivery

Bruno Ghisi@brunogh

shipit.resultadosdigitais.com.br

Bruno GhisiCTO, Resultados Digitais

@brunogh

RD Station

2012

2011 2012

2013 2014hoje

2015

+2000 Clientes

+110 RDoers

2012

2011 2012

2013 2014hojeCASEI

2014

300 clientes

300 clientes7 devs1 time

1. branch do master2. dev, dev, dev3. abrir PR4. review5. teste em staging6. merge master7. deploy

EU fazia review, teste, merge e

deploy!

1. branch do master2. dev, dev, dev3. abrir PR4. review5. teste em staging6. merge master7. deploy

WAT?

Não escala!

Merge/deploy dos outros não é simples

Merge/deploy dos outros não é simples

Centralizar é falta de confiança

Merge/deploy dos outros não é simples

Centralizar é falta de confiançaGargalo para gerar valor

Merge/deploy dos outros não é simples

Centralizar é falta de confiançaGargalo para gerar valor

Cultura ruim

Empower People

as pessoas irão fazer cagadas

#1 Melhorar o processo

Testese

Cobertura

Integração Contínua

Circle CI

Métricas

Code Climate

Code review

as pessoas irão fazer

cagadas #2

#2 Automatizar

TheCapybot

+

viaslack.com

slack > hubot interpreta com hubot deploy > API deployment

do Github > avisa Heaven > deploy Heroku

https://github.com/github/hubot: enginehttps://github.com/ResultadosDigitais/hubot-deploy: integração com Github

https://github.com/atmos/heaven: app para deploy

1. branch do master2. dev, dev, dev3. abrir PR4. review por alguém do time5. deploy via Capybot6. merge master

Quem abriu o PR é responsável por levá-lo a produção

Todos felizes

as pessoas irão fazer

cagadas #3

#3 nova cultura

Devops

QA

compartilharaprendizado

entre os times

#1 processo #2 automatizar #3 cultura

e como se recuperar dos problemas?

localstaging

prod

1) TestesDatabase forks

1) TestesDatabase forks

PRs incrementais

1) Testes Database forks

PRs incrementaisCanary deployment

2) Plano BHorário agendado e

roteiro

2) Plano BHorário agendado e

roteiroEstratégia de rollback (automático e scripts)

In God we trust,all the others must bring

DATA

New Relic

Librato

Don't call us,we will call you

Log Entries

Rollbar

mesmo assim um dia você irá falhar feio

não é uma praga, é o custo de

andar rápido e crescer

seja transparente e saiba pedir

desculpas

gera ainda mais confiança no

processo

Para você que não acompanhou

até agora:

se você está fazendo algo que não escala, comece a mudar hoje

se você está fazendo algo que não escala, comece a mudar hoje

e salve seu relacionamento!

Bruno Ghisi@brunogh

bruno.ghisi@resultadosdigitais.com.brshipit.resultadosdigitais.com.br