entregando inovação de forma contínua com maior agilidade

18
Entrega Contínua Entregando inovação de forma contínua com maior agilidade Felipe Freire IT Specialist, IBM Rational [email protected] © 2013 IBM Corporation

Upload: allyson-chiarini

Post on 13-Jan-2015

533 views

Category:

Documents


0 download

DESCRIPTION

A adoção de práticas ágeis tem modificado a forma como as equipes desenvolvem software para atender à demanda crescente por inovação. Com isso, novas barreiras estão sendo encontradas, pouco adianta desenvolver software com agilidade se ele demora para entrar em produção e entregar o valor ao negócio. Então como entregar o software em produção mais rapidamente, sem aumentar os riscos dos projetos? Essa palestra aborda a prática que está no coração de DevOps - a entrega contínua.

TRANSCRIPT

Page 1: Entregando inovação de forma contínua com maior agilidade

Entrega ContínuaEntregando inovação de forma contínua com maior agilidade

Felipe FreireIT Specialist, IBM [email protected]

© 2013 IBM Corporation

Page 2: Entregando inovação de forma contínua com maior agilidade

Na JKE desenvolvemos rapidamente, mas a implantação

pode levar mais de 1 mês

… se nós soubessemos antes teria sido mais fácil …

Sentimentodo Usuário:

Problemas na JKE…

por mais de 6 semanas a classificação e o feedback dos usuário indica que faltou uma funcionalidade essencial, porque a JKE

não ouve?

JKE acabou de lançar seu aplicativo para iPhone

… A JKE não está sozinha, esse é um padrão recorrente

Page 3: Entregando inovação de forma contínua com maior agilidade

Benefícios entregues por DevOps

Melhorar a experiência do cliente

Aumentar a capacidade de inovar

Acelerar o time to value

3

Page 4: Entregando inovação de forma contínua com maior agilidade

Mas será que a integração contínua é suficiente?

4

IntegrateIntegrateCommit Source

Changes

Commit Source

Changes

Regression Test

Regression Test

Performance Test

Performance Test

Security TestSecurity Test

Acceptance Test

Acceptance Test

ReleaseDeploy (to test)Deploy (to test) Smoke TestSmoke TestDevelopDevelop Build for Android

Build for Android

Build adapters /sevices

Build adapters /sevices

Build for iOSBuild for iOS

Build for Windows

Build for Windows

Build back-end services

Build back-end services

Continuous Integration (CI)Continuous Integration (CI)

Continuous Delivery (CD)Continuous Delivery (CD)

Page 5: Entregando inovação de forma contínua com maior agilidade

Entrega contínua – a esteira de produção

5

Page 6: Entregando inovação de forma contínua com maior agilidade

IntegrateIntegrateCommit Source

Changes

Commit Source

Changes

Regression Test

Regression Test

Performance Test

Performance Test

Security TestSecurity Test

Acceptance Test

Acceptance Test

ReleaseDeploy (to test)Deploy (to test) Smoke TestSmoke TestDevelopDevelopBuild for Android

Build for Android

Build adapters /sevices

Build adapters /sevices

Build for iOSBuild for iOS

Build back-end services

Build back-end services

Equipe Aplicação

Mobile

IntegrateIntegrateCommit Source

Changes

Commit Source

Changes

Regression Test

Regression Test

Performance Test

Performance Test

Security TestSecurity Test

Acceptance Test

Acceptance Test

ReleaseDeploy (to test)Deploy (to test) Smoke TestSmoke TestDevelopDevelop

Equipe de Middleware

IntegrateIntegrateCommit Source

Changes

Commit Source

Changes

Regression Test

Regression Test

Performance Test

Performance Test

Security TestSecurity Test

Acceptance Test

Acceptance Test

ReleaseDeploy (to test)Deploy (to test) Smoke TestSmoke TestDevelopDevelop

Equipe de serviços Back-end

Na realidade, devem haver multiplos sistemas envolvidos

Page 7: Entregando inovação de forma contínua com maior agilidade

Continuous deployment vs Continuous Delivery

Nem toda entrega tem que ser implantada em produção imediatamente. Mas no continuous delivery toda a entrega PODE ser implantada em produção a qualquer momento

7

Flickr 89 implantações em produção em 1 semana

Page 8: Entregando inovação de forma contínua com maior agilidade

Desenvolver e testar em sistemas similares à produção

8

Page 9: Entregando inovação de forma contínua com maior agilidade

Trazendo os conceitos de produção para o desenvolvimento

9

Build

Build

Build

Testes contínuosTestes contínuos

TestesFuncionais

Entrega contínuaEntrega contínua

Monitoração contínua

Monitoração contínuaTeste de

aceitação

Integração contínua

Integração contínua

Testes unitários

Page 10: Entregando inovação de forma contínua com maior agilidade

Onde estão as mudanças?

10

Aplicação(binários, configurações, schemas)

Plataforma(middleware, banco de dados, serviços comuns)

Infraestrutura(S.O., rede, armazenamento, segurança)

Page 11: Entregando inovação de forma contínua com maior agilidade

Enterprise continuous delivery

11

INTERMEDIÁRIO

Build no commit

Repositório de dependências

Configuração segura

INICIAL

Auto-serviço de build

Builds noturnos

Armazenamento dos artefatos de build

BÁSICO

Scripts de build

Máquina de build

AVANÇADO

Builds ativados por gatilhos

Cluster de build

EXTREMO

Build a partir desnapshotes de VM

Commits com verificações (gates)

INTERMEDIÁRIO

Auto-serviço paraTeste e Produção

Processos para todos ambientes

padronizados

INICIAL

Auto-serviço paraimplantar em Teste

Implantações autom. no 1’ ambiente

Implantações padron.

BÁSICO

Scripts de implatação

AVANÇADO

Promoção entreambientes verificada

por testes

Implantações complexasbanco de dados e

multi-camadas

EXTREMO

Implantações contínuas

para Produção

INTERMEDIÁRIO

Alguma análise estática

Testes funcionaisautomatizados

norturnos

INICIAL

Os testes mais importantes executados

em tempo de construção

BÁSICO

Alguma automaçãode Testes

AVANÇADO

Alta cobertura de código

Verificações de segurança

Testes manuaisbaseados em risco

EXTREMO

Implantações contínuas

para Produção

BU

ILD

IMP

LA

NT

ÃO

TE

ST

ES

http://bit.ly/XWb3H3

Page 12: Entregando inovação de forma contínua com maior agilidade

12

uDeploy – Automação do Deploy

Implantação de aplicações entre ambientes

Mapas (blueprints) para modelar aplicações complexas

Gerenciamento de configurações por ambientes

Conformidade: auditoria e segurança

Facilidade de uso: designer de processos

Inventário: o que está aondeArtefatos

Versionados

Ambiente de Qualidade

Ambiente de Produção

Ambiente de Desenvolvimento

Artefatos Artefatos Artefatos

Executado em Executado em Executado em

Deploy ouRollback

Deploy ouRollback

Deploy ouRollback

Blueprint de Aplicação

Page 13: Entregando inovação de forma contínua com maior agilidade

13

uRelease – Planejando e organizando entregas

uRelease provê:

Planejamento do release

Acompanhamento da execução

Comunição de status

Alocação de ambientes à releases

Associa release complexos ao desenvolvimento

Page 14: Entregando inovação de forma contínua com maior agilidade

14

Page 15: Entregando inovação de forma contínua com maior agilidade

15

Application Release Management

Cloud ProvisioningApplication Deployment Automation

Conjunto de soluções para suportar DevOps

Rational Team Concert (CLM) Rational Test Workbench

SmartCloud Control Desk

Rational Build Forge

Jenkins

SmartCloud Continuous DeliverySmartCloud ProvisioningSmartCloud Orchestrator

Rational Automation Framework

Chef

Page 16: Entregando inovação de forma contínua com maior agilidade

16

Perguntas?

Page 17: Entregando inovação de forma contínua com maior agilidade

Links

DevOps for Dummies

– http://ibm.co/1dSqfyi

Maturidade e caminhos para adoção do DevOps

– http://ibm.co/175Sx7r

Aprendendo DevOps (fórum, tutoriais, demos, etc.)

– http://ibm.co/11Y2Mos

17

Page 18: Entregando inovação de forma contínua com maior agilidade

18

Obrigado!

© Copyright IBM Corporation 2013. 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.