o que é devops? introdução à abordagem pela ibm

34
Apresentado por: © IBM Corporation O que é DevOps? Como acelerar a entrega de software sem perder qualidade Felipe Freire Especialista DevOps [email protected] twitter.com/pfelipebr

Upload: felipe-freire

Post on 17-Aug-2015

390 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: O que é DevOps? Introdução à abordagem pela IBM

1

Apresentado por:

© IBM Corporation

O que é DevOps? Como acelerar a entrega de software sem perder qualidade Felipe Freire

Especialista DevOps [email protected]

twitter.com/pfelipebr

Page 2: O que é DevOps? Introdução à abordagem pela IBM

4 © IBM Corporation

Agenda

§  ‘Lean’ DevOps

§ DevOps no mundo real (e híbrido)

§ Resolvendo gargalos com o DevOps

§ Criando uma cultura de DevOps

§ Próximos passos

Page 3: O que é DevOps? Introdução à abordagem pela IBM

5 © IBM Corporation

Desenvolvimento Tradicional: Dev X Ops

Muro da confusão __

Preciso de mudanças

O ambiente tem que ser estável

Page 4: O que é DevOps? Introdução à abordagem pela IBM

6 © IBM Corporation

Desenvolvimento Terminei!

Build pronto para deployment.

Page 5: O que é DevOps? Introdução à abordagem pela IBM

7 © IBM Corporation

Deployments realizados por outras equipes (Ops)

Page 6: O que é DevOps? Introdução à abordagem pela IBM

9 © IBM Corporation

DevOps abordagem: Aplicar princípios Lean aceleram o feedback e reduzem o tempo para obter resultados

People

Process

Negócio

Clientes

1

3

2

1.  Ideias em produção rapidamente 2.  Pessoas utilizando 3.  Feedback

Utilizar o feedback ao longo da esteira de entregas para melhorar continuamente: I.  Aplicações entregues II.  Ambientes entregues III. Processo de entrega de aplicações e ambientes

Page 7: O que é DevOps? Introdução à abordagem pela IBM

10 © IBM Corporation

DevOps não é apenas uma dessas coisas… são todas!

Pessoas

Processos Ferramentas

Page 8: O que é DevOps? Introdução à abordagem pela IBM

11 © IBM Corporation

O aprendizado tardio é a causa das falhas no desenvolvimento tradicional (waterfall)

Feedback: Meses ou anos para descobrir se uma idéia atende à necessidade de negócio

Idéia

Desenvolvimento

Teste Integrado

Implantação

Feedback: Semanas ou meses para validar se o código atende aos requisitos originais

Requisito

Page 9: O que é DevOps? Introdução à abordagem pela IBM

12 12 © IBM Corporation

Lean & Agile estão no centro da abordagem de DevOps da IBM

–  Equilibrar eficiência e eficácia para

–  entregar corretamente as coisas certas

Reduzir trabalho

Eliminar gargalos e desperdício

Tempo de resposta curto

Pequenos blocos de trabalho

Feedback contínuo

LEAN

AGILE

Eficiência

Eficácia

Page 10: O que é DevOps? Introdução à abordagem pela IBM

13 © IBM Corporation

Medindo o sucesso de DevOps A oportunidade escondida de uma fábrica

80%

20%

50% 50%

Desperdício Produtivo

Fator escondido = valor adicional criado se você elimina o desperdício e redireciona os recursos para inovação

Transformação DevOps

•  Implantações 30X mais frequentes • Ciclos de entrega 200X menores •  60X menos falhas •  168X mais rápidos

https://puppetlabs.com/blog/2015-state-devops-report-here

Page 11: O que é DevOps? Introdução à abordagem pela IBM

14 © IBM Corporation

Uma forma melhor de trabalhar Mantendo os talentos da empresa e possibilitando o crescimento

Conceitos-chave de DevOps

•  Tudo contínuo •  Alinhamento de objetivos •  Responsabilidade de ponta-a-ponta •  Automação, automação, automação •  Se algo é difícil, faça repetitivamente •  Pequenos blocos de trabalho, e liberação

progressiva de funcionalidades •  Minimizar os riscos de engenharia – a importância

da resiliência •  Minimizar os riscos de negócio – pequenas falhas e

rápidas •  Valorize a melhoria da equipe

Page 12: O que é DevOps? Introdução à abordagem pela IBM

15 © IBM Corporation

Mapeie seu fluxo de valor Resolvendo gargalos com DevOps

Page 13: O que é DevOps? Introdução à abordagem pela IBM

16 © IBM Corporation

Gargalos na sua esteira de entregas Resolvendo o congestionamento na entrega de software

1 por min 1 por min

4 por min 1 por min

4 por min 4 por min

Page 14: O que é DevOps? Introdução à abordagem pela IBM

17 © IBM Corporation

Mapeando sua esteira de entregas

Idéia / Melhoria / Requisito / Correção

Produção

Desenv. Build QA Testes Int. Homolog Prod

PMO

Analista

Desenvolvedor

Clientes Negócio

Engenheiro de build

Time Qualidade

Testador Integração

Testador / Usuário Operações

Repositório de artefatos

Analista de Implantação

Gerente de Releases

Repositório de fontes

Implantar

Feedback

Infrastructure as Code/ Cloud Patterns

Feedback

Cliente

Métricas e Painéis de Indicadores

Tarefas

Artefatos

Gargalo: um único processo rígido para qualquer desenvolvimento

Solução: Transformação ágil com variantes do processo baseadas em risco

Gargalo: Provisionamento de ambientes por chamados

Solução: Auto-serviço baseado e cloud para o desenvolvedor

Gargalo: Implantações ao final de semana que falham

Solução: Implantações frequentes de pequenos blocos Gargalo: Descoberta tardia de

fragilidade na arquitetura

Solução: ‘Shift Left’ trazendo testes de integração para o ínicio

Page 15: O que é DevOps? Introdução à abordagem pela IBM

18 © IBM Corporation

Excesso de tarefas manuais

Page 16: O que é DevOps? Introdução à abordagem pela IBM

19 © IBM Corporation

Idéia, construção, aprendizado

19

Código fonte

versionado

Integraçãocontínua

Provisionamento ambiente produtivo

Implantar em Produção

Sem intervenção

humana

Foco na VELOCIDADE

•  Testes  con)nuos  (automa.zados)  com  ampla  cobertura:  acessibilidade,    GVT,  FVT,  SVT,  PVT,  etc….  

Decisão de negócio: quando

implantar?

A obrigação da engenharia é estar pronto para implantar

Provision Test

Environment Provision

Test Environment

Provision Test

Environment Testes e

resultados

Feedback

Provisionamento ambientes de

testes Provisionamento

ambientes de testes

Provisionamento ambientes de

testes

Page 17: O que é DevOps? Introdução à abordagem pela IBM

20 © IBM Corporation

Má prática: Caça ao culpado

Page 18: O que é DevOps? Introdução à abordagem pela IBM

21 © IBM Corporation

Falhe rapidamente

•  Incentive a experimentação •  Crie uma cultura de colaboração •  Celebre o aprendizado em

experimentos que falharam •  Resiliência é necessária – o que

insufla confiança

“Se você não está cometendo erros, não está tentando o seu melhor”

Page 19: O que é DevOps? Introdução à abordagem pela IBM

22 © IBM Corporation

Feedback?  Sim  e  com  frequência!

É a caixinha cheia de areia no canto do meu escritório

Page 20: O que é DevOps? Introdução à abordagem pela IBM

23 © IBM Corporation

Má cultura da empresa Indicadores de performance da equipe

Patológico Burocrátivo Performático A informação está escondida A informação pode ser ignorada As informações são

perseguidas O mensageiro é morto O mensageiro é tolerado Mensageiros são treinados

Fuga de responsabilidade A responsabilidade é compartimentada

Responsabilidades compartilhadas

Ultrapassar as barreiras entre equipes é proibido

Ultrapassar as barreiras entre equipes é desencorajado

Ultrapassar as barreiras entre equipes é recompensado

As falhas são escondidas A organização é justa e piedosa Falhas causam investigação

Novas ideias são massacradas Novas ideias criam problemas Novas ideias são benvindas

Page 21: O que é DevOps? Introdução à abordagem pela IBM

24 © IBM Corporation

Planejamento e acompanhamento de projetos

•  Comprometa-se com entregas focadas no usuário e não funcionalidades

•  Correção de curso – baseado em aprendizado e validação contínua

•  Fortaleça o alinhamento

•  Use painéis com informações em tempo real e elimine reuniões

•  Apenas a definição de pronto e “não pronto”

•  Assuma que seus times são talentosos, querem contribuir e

buscam o sucesso – evite micro gerenciamento desnecessário

•  Pergunte aos times: “o que você quer aprender?”

•  Sucesso é aprendizado validado

•  Sucesso técnico não é a mesma coisa que sucesso para o negócio

•  Estar em conformidade com o plano não é sucesso

Veja o artigo “Achieving Failure” do Eric Ries (link)

Page 22: O que é DevOps? Introdução à abordagem pela IBM

25 © IBM Corporation

Ambientes Diferentes

Desenvolvimento

Homologação

Produção

Page 23: O que é DevOps? Introdução à abordagem pela IBM

26 © IBM Corporation

O que implantar?

Onde implantar? (máquinas físicas, virtuais ou cloud)

Como implantar?

Blueprints da Aplicação

Padronização em todas as etapas ✔

Page 24: O que é DevOps? Introdução à abordagem pela IBM

27 © IBM Corporation

•  Capacidade de negócios compartimentada

•  Equipes multi-funcionais

•  Comunicação somente via API

•  Usar mensageria para remover

dependências peer-to-peer

•  Comunicação REST

•  Dados descentralizados

•  Projetado para falhas

•  Design evolucionario com arquitetura

plugável

•  Possibilitar entrega contínua

Micro serviços

A Cloud está mudando a arquitetura das aplicações

Page 25: O que é DevOps? Introdução à abordagem pela IBM

28 © IBM Corporation

As equipes e os sistemas estão se tornando híbridos

Iterações rápidas

Cloud

Iterações lentas

Atrás do firewall

Alinhamento Planejamento e sincronização contínuos

Testes contínuos Implantações e monitoração contínua

Plan Develop Build Test Deploy Production

Plan Develop Build Test Deploy Production

Page 26: O que é DevOps? Introdução à abordagem pela IBM

29 © IBM Corporation

O desenvolvimento pode ser híbrido

Versionamento

Integração contínua

Automação de Testes e

virtualização

Esteira de entregas

Configuração de Ambientes

Monitoração

Cloud

Repositório de ativos

Configure:

Codifica Deploy Homolog. Build Empacota Testes SCM

•  Applications •  Middleware •  Databases

Produção

Page 27: O que é DevOps? Introdução à abordagem pela IBM

30 © IBM Corporation

Ambientes de entregas podem ser híbridos

Configure: •  Applications •  Middleware •  Databases

Codifica SCM Deploy Homolog. Produção Build Empacota Testes

Cloud Versionamento

Integração contínua

Automação de Testes e

virtualização

Esteira de entregas

Configuração de Ambientes

Monitoração

Repositório de ativos

Page 28: O que é DevOps? Introdução à abordagem pela IBM

31 31 © IBM Corporation

DevOps – Pontos Principais

1. DevOps é sobre transformar desenvolvimento e entrega de aplicativos, a fim de acelerar a inovação digital. Então, DevOps é um tema tanto para papeis de negócios e TI na organização.

2. Você não compra DevOps, você pratica DevOps. DevOps é uma abordagem, uma mentalidade - uma combinação de cultura, processos e tecnologia (incluindo infra-estrutura, ferramentas e serviços).

3. DevOps é não somente sobre a transição entre Desenvolvimento e Operações. DevOps é sobre como aplicar os princípios lean e ágil no ciclo de vida da entrega de aplicativos (negócio-desenvolvimento-teste-implantar-operar) para conseguir a entrega contínua de inovação digital.

Mapeie seu pipeline de entregas e ache os gargalos!

Page 29: O que é DevOps? Introdução à abordagem pela IBM

32 © IBM Corporation

Próximos passos Onde conseguir mais informações?

Page 30: O que é DevOps? Introdução à abordagem pela IBM

33 © IBM Corporation

Você está muito ocupado para melhorar?

Não, obrigado

Estamos ocupados

Page 31: O que é DevOps? Introdução à abordagem pela IBM

34 © IBM Corporation

Por onde começar?

1

Workshop de avaliação da cadeia de valor

§ Assess current state & determine bottlenecks

§ Define operational framework – organization, process, technology

§ Define actionable, prioritized roadmap with pilots

2 Construa e faça Pilotos §  Build / create the DevOps framework

§  Address gaps between current state and end state

§  Conduct pilots

3 Otimize e expanda §  Optimize framework

§  Onboard next set of applications

§  Continue to monitor and measure impact

Aqui

Page 32: O que é DevOps? Introdução à abordagem pela IBM

35 © IBM Corporation

Voice of the IT – Senior Application Development Executive

Listen: Steve Farley @ IBM Innovate 2014 (start @ 1:09:40) Carmen DeArdo @ DevOps Enterprise Summit 2014 (start @ 11:30) Steve Farley and Carmen DeArdo on Agile and DevOps @ Nationwide

Steve Farley, VP Application Development Center, Nationwide Insurance

Carmen DeArdo, Director, Build Technology Leader, Nationwide Insurance

Page 33: O que é DevOps? Introdução à abordagem pela IBM

36 36 © IBM Corporation

Livros da série “For Dummies” de DevOps: http://ibm.co/devopsfordummies http://ibm.co/agilefordummies http://ibm.co/ServiceVirtualizationForDummies http://ibm.co/ARDfordummies DevOps Self Assessment http://ibm.co/1ItcSBF IBM DevOps Page: http://ibm.com/DevOps IBM DevOps YouTube Playlist: http://bit.ly/1fiDOtl

Links e recursos Continue sua abordagem DevOps

Page 34: O que é DevOps? Introdução à abordagem pela IBM

37 © IBM Corporation

© Copyright IBM Corporation 2015. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

Obrigado!

Felipe Freire [email protected]

twitter.com/pfelipebr