© 2012 IBM Corporation
2º Encontro Rational de Desenvolvimento de Software
2º Encontro Rational de Desenvolvimento de Software
Building better softwareBuilding better software
Entrega Contínua de Software na Prática
Felipe Freire – [email protected]
2º Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013 – São Paulo
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
2
Agenda
DevOps
Entrega Contínua
Demonstração
–Cenário de Entrega Contínua com ferramenta IBM
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Inovação através de software é um diferencial competitivo
3
86%
Acreditam que a entrega de software é crítica ou muito importante
25%
Lidam com software com eficiência
Mas apenas…
Source: “The Software Edge: How effective software development drives competitive advantage,” IBM Institute of Business Value, March 2013
69%
superam seus concorrentes
ineficientes
Das eficientes
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
A ausência da entrega contínua impacta o negócio como um todo
Costly, error prone manual processes and
efforts to deliver software across an enterprise
CHALLENGESCHALLENGES
Upgrade risk due to managing multiple application configurations and versions
across servers
Slow deployment to development and test
environments leave teams waiting and unproductive
DESAFIOS
Operations/Production
Development/TestCustomers
BusinessOwners
Software glitch costs trading firm Knight Capital $440 million
in 45 minutes
A bad software upgrade at RBS Bank left
millions unable to access money for four days
New Zealand’s biggest phone company, Telecom paid out $2.7 million to some
47,000 customers who were overcharged after a software glitch
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Desafios em adotar DevOps nas empresas
Ambientes heterogêneos
Múltiplas tecnologias, múltiplos fornecedores
Desenvolvimento e implantação em silos
Segregação Dev – Ops
Equipes distribuídas
Modelos de subcontratação (terceirização)
Water-Scrum-fall
5
Heterogeneous Environments
Public CloudPrivate Cloud
Data Warehouse MainframeEnterprise Service
Bus
Directory Identity
File systems
Collaboration
Mobile App
Routing Service
Third-partyServices
Portals
ContentProviders EJB
SharedServicesArchives
Business Partners
Messaging Services
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Diferenças entres os ambientes de DESENV e PROD
causam falhas
Backlog de entregas que o tipe de Ops
não consegue lidar
Processos manuais (tribais) que não
são repetítiveis (ou rápidos)
Falta de feedback e de métricas de
qualidade leva a falhas nos objetivos
Daily Build
MonthlyDelivery
Quem fez da última
vez?
O Davi…
Mas ele não está aqui…
Dev
Prod
Cenários (exemplos) de dificuldades
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
77
Ciclo de vida DevOps
Operações / ProduçãoDesenvolvimento e TestesClientes Áreas de Negócio
Inovação, Feedback e Melhorias contínuas
Acelerar a entrega de Software
Equilibrar velocidade, custos, qualidade e riscos
Reduz o tempo para feedback do cliente
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
8
Desenvolver e testar em ambientes similares ao de
produção
Desenvolver e testar em ambientes similares ao de
produção
Implantações frequentes e iterativas
Implantações frequentes e iterativas
Processo de implantação confiável e repetitivo
Processo de implantação confiável e repetitivo
Monitoração contínua e validação de características operacionais de qualidade
Monitoração contínua e validação de características operacionais de qualidade
Ciclos de feedback rápidosCiclos de feedback rápidos
Pessoas
Processo
Ferramentas
Pessoas
Processo
Ferramentas
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
DevOps na prática no Jazz.net
9
https://jazz.net/products/devops/whats-happening#activity
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Entrega contínua corporativa – Enterprise continuous delivery
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 desnapshots 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://www.urbancode.com/html/resources/white-papers/Enterprise_Continuous_Delivery_Maturity_Model/
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Urbancode, an IBM Company
11 Years Build, Release and Deployment Experience
Global Customers
Enterprise scalability, security, compliance and automation
Training, consulting and implementation services
Based in Cleveland, OH
“One key benefit of UrbanCode is how quickly it can be implemented and
used for deployments.”
11
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
12
Onde estão as mudanças?
Aplicação(binários, configurações, schemas)
Plataforma(middleware, banco de dados, serviços comuns)
Infraestrutura(Sistema operacional, rede, armazenamento,
segurança)
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
13
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á aonde Artefatos 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
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
uDeploy trabalha em ambientes heterogêneos
Fontes de deploys– Build servers
– Source control tools
– Maven repositories
Integração IBM– RTC / ClearCase / Synergy
– WebSphere Application Server
– MQ
– Message Broker
Outras plataformas Java– WebLogic, Tomcat, Jboss, etc
Gestão de Qualidade e Testes– QualityCenter
– ServiceNow
Plataforma Microsoft– IIS
– SharePoint & Biztalk
Infraestrutura– Clouds Públicas ou Privadas
– Balanceadores de carga
– Bancos de dados
9
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
15
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
Simplesmente porque planilhas são horríveis ou
apenas normais...
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
Automação e Gestão
uDeploy uRelease
Automação do Release de Aplicações
Automatiza a implantação
Desenho visual do processo de implantação
Ações automatizadas através de plugins para servidores de aplicações, servidores web, dispositivos de rede, bancos de dados, etc.
Modelar aplicações, ambientes e alvos de implantações
Gerenciamento de Releases
Reforçar barreiras de qualidade para ambientes
Orquestrar mudanças que impactam várias aplicações
Gerenciar mudanças na infraestrutura em conjunto com as aplicações
Status em tempo real para implantações de longa duração
Acompanhar a alocação de ambientes para releases
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
17
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
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
18
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
19
© 2013 IBM Corporation
2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013
20
Top Related