Post on 22-Apr-2015
Entrega ContínuaEntregando inovação de forma contínua com maior agilidade
Felipe FreireIT Specialist, IBM Rationalpfreire@br.ibm.com
© 2013 IBM Corporation
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
Benefícios entregues por DevOps
Melhorar a experiência do cliente
Aumentar a capacidade de inovar
Acelerar o time to value
3
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)
Entrega contínua – a esteira de produção
5
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
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
Desenvolver e testar em sistemas similares à produção
8
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
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)
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
AÇ
ÃO
TE
ST
ES
http://bit.ly/XWb3H3
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
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
14
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
16
Perguntas?
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
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.