entrega contínua de software na prática - ibm.com · devops entrega contínua ... automatizados...

20
© 2012 IBM Corporation 2º Encontro Rational de Desenvolvimento de Software Building 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

Upload: ngokhanh

Post on 21-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

© 2012 IBM Corporation

2º Encontro Rational de Desenvolvimento de Software

Building 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

CHALLENGES

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/ Test Customers

Business Owners

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 Cloud Private Cloud

Data Warehouse Mainframe Enterprise Service

Bus

Directory Identity

File systems

Collaboration

Mobile App

Routing Service

Third-party Services

Portals

Content Providers EJB

Shared Services Archives

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

Monthly

Delivery

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

7 7

Ciclo de vida DevOps

Operações / Produção Desenvolvimento e

Testes Clientes Á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

Implantações frequentes e

iterativas

Processo de implantação

confiável e repetitivo

Monitoração contínua e

validação de características

operacionais de qualidade

Ciclos de feedback rápidos

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 de

snapshots de VM

Commits com

verificações (gates)

INTERMEDIÁRIO

Auto-serviço para

Teste e Produção

Processos para

todos ambientes

padronizados

INICIAL

Auto-serviço para

implantar em Teste

Implantações autom.

no 1’ ambiente

Implantações padron.

BÁSICO

Scripts de

implatação

AVANÇADO

Promoção entre

ambientes verificada

por testes

Implantações complexas

banco de dados e

multi-camadas

EXTREMO

Implantações

contínuas

para Produção

INTERMEDIÁRIO

Alguma análise

estática

Testes funcionais

automatizados

norturnos

INICIAL

Os testes mais

importantes executados

em tempo de

construção

BÁSICO

Alguma automação

de Testes

AVANÇADO

Alta cobertura de código

Verificações de

segurança

Testes manuais

baseados em risco

EXTREMO

Implantações

contínuas

para Produção

BU

ILD

IM

PL

AN

TA

ÇÃ

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?

App. Config.

App.

Mid. Config.

Mid.

OS Config.

OS

Hardware

ARA: uDeploy

Layers Change Frequency Tools

RAF / Mid-vision

Chef / Puppet

Cloud / SCP / VMWare

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 ou Rollback

Deploy ou Rollback

Deploy ou Rollback

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 Provisioning Application 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 Delivery SmartCloud Provisioning SmartCloud 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