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.
2. JKE acabou de lançar seu aplicativo para iPhone
Sentimento
do 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?
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 …
… A JKE não está sozinha, esse é um padrão recorrente
3. Benefícios entregues por DevOps
Aumentar a capacidade de inovar
3
Melhorar a experiência do cliente
Acelerar o time to value
4. Mas será que a integração contínua é suficiente?
Build for
Build for
Windows
Windows
Regression
Regression
Test
Test
Build for iOS
Build for iOS
Develop
Develop
Commit
Commit
Source
Source
Changes
Changes
Build for
Build for
Android
Android
Integrate
Integrate
Build adapters
Build adapters
/sevices
/sevices
Deploy (to test)
Deploy (to test)
Smoke Test
Smoke Test
Performance
Performance
Test
Test
Security Test
Security Test
Build backBuild backend services
end services
Continuous Integration (CI)
Continuous Integration (CI)
Continuous Delivery (CD)
Continuous Delivery (CD)
4
Acceptance
Acceptance
Test
Test
Release
6. Na realidade, devem haver multiplos sistemas envolvidos
Equipe
Aplicação
Mobile
Regression
Regression
Test
Test
Develop
Develop
Commit
Commit
Source
Source
Changes
Changes
Build for iOS
Build for iOS
Build for
Build for
Android
Android
Integrate
Integrate
Deploy (to test)
Deploy (to test)
Smoke Test
Smoke Test
Performance
Performance
Test
Test
Acceptance
Acceptance
Test
Test
Release
Acceptance
Acceptance
Test
Test
Release
Acceptance
Acceptance
Test
Test
Release
Security Test
Security Test
Equipe de
Middleware
Regression
Regression
Test
Test
Develop
Develop
Commit
Commit
Source
Source
Changes
Changes
Build adapters
Build adapters
/sevices
/sevices
Integrate
Integrate
Deploy (to test)
Deploy (to test)
Smoke Test
Smoke Test
Performance
Performance
Test
Test
Security Test
Security Test
Equipe de
serviços
Back-end
Regression
Regression
Test
Test
Develop
Develop
Commit
Commit
Source
Source
Changes
Changes
Build backBuild backend services
end services
Integrate
Integrate
Deploy (to test)
Deploy (to test)
Smoke Test
Smoke Test
Performance
Performance
Test
Test
Security Test
Security Test
7. Continuous deployment vs Continuous Delivery
Flickr 89 implantações em produção em 1 semana
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
9. Trazendo os conceitos de produção para o desenvolvimento
Testes contínuos
Testes contínuos
Testes unitários
Build
Build
Testes
Funcionais
Teste de
aceitação
Build
Integração
Integração
contínua
contínua
9
Entrega contínua
Entrega contínua
Monitoração
Monitoração
contínua
contínua
10. Onde estão as mudanças?
Layers
Change Frequency
Tools
App. Config.
App.
Mid. Config.
ARA: uDeploy
RAF /
Mid-vision
Mid.
OS Config.
Chef / Puppet
OS
Cloud / SCP /
VMWare
Hardware
Aplicação
(binários, configurações, schemas)
Plataforma
(middleware, banco de dados, serviços comuns)
Infraestrutura
(S.O., rede, armazenamento, segurança)
10
11. Enterprise continuous delivery
BUILD
BÁSICO
INICIAL
INTERMEDIÁRIO
AVANÇADO
EXTREMO
Scripts de build
Auto-serviço de build
Build no commit
Builds ativados por
gatilhos
Build a partir de
snapshotes de VM
Máquina de build
Builds noturnos
Repositório de
dependências
Cluster de build
Commits com
verificações (gates)
TESTES
IMPLANTAÇÃO
Armazenamento dos
artefatos de build
Configuração segura
BÁSICO
INICIAL
INTERMEDIÁRIO
AVANÇADO
EXTREMO
Scripts de
implatação
Auto-serviço para
implantar em Teste
Auto-serviço para
Teste e Produção
Promoção entre
ambientes verificada
por testes
Implantações autom.
no 1’ ambiente
Processos para
todos ambientes
padronizados
Implantações
contínuas
para Produção
Implantações padron.
Implantações complexas
banco de dados e
multi-camadas
BÁSICO
INICIAL
INTERMEDIÁRIO
AVANÇADO
EXTREMO
Alguma automação
de Testes
Os testes mais
importantes executados
em tempo de
construção
Alguma análise
estática
Alta cobertura de código
Implantações
contínuas
para Produção
Testes funcionais
automatizados
norturnos
http://bit.ly/XWb3H3
11
Verificações de
segurança
Testes manuais
baseados em risco
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
Blueprint de Aplicação
Conformidade: auditoria e segurança
Facilidade de uso: designer de processos
Inventário: o que está aonde
Artefatos
Versionados
Artefatos
Artefatos
Artefatos
Deploy ou
Rollback
Deploy ou
Rollback
Executado em
Executado em
Executado em
Ambiente de
Desenvolvimento
12
Deploy ou
Rollback
Ambiente de
Qualidade
Ambiente de
Produçã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
13
Author Notes:
This is the PowerPoint template for the IBM Technical Summit breakout sessions
This template has been built in PowerPoint 2003. If you’re using PowerPoint 2007 or above, you may experience different usability results than what is provided as guidance here.
To allow all masters of your exiting presentation to be updated correctly, download this template to your hard drive and copy your existing slides into the new template using slide sorter.
IBMers can find additional information on presentation guidelines and resources at:https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources
IBM Rational presenters can leverage existing brand-level assets and sparklers (including Rational Brand Messaging Slides, Client Success Slides and Client Quotes, Statistics) from SSW’s Brand Content Page:https://w3-03.sso.ibm.com/software/xl/myportal/content?synKey=R789607U42052O71
Imagery guidelines: Avoid using cartoon like clip-art, use photo-art instead. Third party material cannot be used in a presentation without written permission (this includes product and Web page screen shots, and photos). Images must be acquired from a ‘royalty-free to use’ source such as:
Microsoft or Lotus Symphony Clip Art library
http://www.freebyte.com/clipart_images_photos_icons/#freevectorgraphics
http://www.freedigitalphotos.net/
IBMers can use royalty-free images from the following repositories:
IBM Brand Systems Center / Assets / PhotographyLogin instructions: https://w3-connections.ibm.com/forums/html/topic?id=c1082624-e54c-4e04-bad1-ddb150ac7540
IBM Software Story Imageshttps://w3-connections.ibm.com/files/app#/collection/b7570645-b2f8-4450-a27f-9269a163fc2d
IBM Rational Presentation Image Library: https://w3-connections.ibm.com/wikis/home?lang=en_US#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources/page/Presentation%20Image%20Library
Optional slide. Graphic is available in English only.
Optional slide. Graphic is available in English only.
Mandatory closing slide (2 of 2)
Thank You Slide (available in English only).