entrega contínua - 2º encontro rational de desenvolvimento de software

20
© 2012 IBM Corporation 2º Encontro Rational de Desenvolvimento de Software Building better software Entrega Contínua de Software na Prática Felipe Freire – pfreire@ br.ibm.com 2º Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013 – São Paulo

Upload: felipe-freire

Post on 25-Jun-2015

294 views

Category:

Documents


1 download

DESCRIPTION

Apresentação utilizada para suportar a demonstração da entrega contínua na prática com o IBM UrbanCode Deploy.

TRANSCRIPT

Page 1: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 2: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 3: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 4: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 5: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 6: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 7: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 8: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 9: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 10: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

ÃO

TE

ST

ES

http://www.urbancode.com/html/resources/white-papers/Enterprise_Continuous_Delivery_Maturity_Model/

Page 11: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 12: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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)

Page 13: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 14: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 15: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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...

Page 16: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 17: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 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

Page 18: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 2013 IBM Corporation

2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013

18

Page 19: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 2013 IBM Corporation

2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013

19

Page 20: Entrega Contínua -  2º Encontro Rational de Desenvolvimento de Software

© 2013 IBM Corporation

2o Encontro Rational de Desenvolvimento de Software – 24 de setembro de 2013

20