devops - entrega contínua de software

36
© IBM Corporation 1 Apresentado por: DevOps Entrega Contínua de Software Paulo Lacerda IBM Cloud Technical Sales

Upload: paulo-lacerda

Post on 15-Feb-2017

389 views

Category:

Software


1 download

TRANSCRIPT

© IBM Corporation 1

Apresentado por:

DevOps Entrega Contínua de Software

Paulo Lacerda IBM Cloud Technical Sales

© IBM Corporation 2

text

Agenda

– Desafios da Entrega de Software – Visão IBM para DevOps – Computação em Nuvem – Desenvolvendo Aplicações para a Nuvem – Entrega Contínua na Nuvem – Encerramento

© IBM Corporation 3 © IBM Corporation 3

Desafios da Entrega de Software

© IBM Corporation 4

text

O que se Espera da Entrega de Software em uma Empresa?

Para permitir que o negócio atenda as demandas do mercado com agilidade, o

processo de entrega de software em uma empresa deve apresentar rapidez,

eficiência e qualidade.

© IBM Corporation 5

text

Desafio 1: Diferentes áreas, diferentes objetivos, processos, ferramentas, ...

Mur

o da

s C

onfu

sões

DESENVOLVIMENTO OPERAÇÕES

Eu quero Estabilidade

Eu quero Mudança!

Release

© IBM Corporation 6

text

Desafio 2: Muitas atividades manuais no processo de entrega de software

Para se fazer o deployment de uma aplicação em um ambiente, em alguns casos ainda

encontramos muita dependência de atividades manuais para configurar e instalar uma nova versão da aplicação, trazendo um risco de

indisponibilidade causada por erros humanos na execução dos procedimentos.

© IBM Corporation 7

text

Desafio 3: Diferenças entre os ambientes

Desenvolvimento

Homologação

Produção

Ambientes de uma aplicação que tenham

muitas diferenças entre suas configurações,

softwares, bibliotecas, etc, podem ocasionar erros no deployment, além de dificultar a

análise de problemas.

© IBM Corporation 8

© IBM Corporation 9

Desenvolver e Entregar software

A agilidade do negócio requer uma nova maneira de

9

© IBM Corporation 10 © IBM Corporation 10

DevOps

© IBM Corporation 11

dev·ops noun \'dev-äps\

11

DevOps é uma capacidade empresarial com foco na entrega contínua de software, que permite às empresas aproveitarem oportunidades de mercado e reduzir o tempo do feedback dos clientes.

Feedback Contínuo e Otimização

Desenvolvimento Colaborativo

Entrega Contínua

Monitoração Contínua

Planejamento Contínuo

Teste Contínuo

Operate Develop/ Test

Deploy

Plan

DevOps Continuous Feedback

© IBM Corporation 12

text

Framework IBM para Adoção de DevOps

Modelo de Adoção Self-assessments

Caminhos de Adoção

Soluções Práticas

Ferramentas Serviços

Plan Baseado em

Produto

Ágil

Automatizado

Colaborativo

Otimizado

Mais Preditivo

Mais Transparente

Mais Contínuo

Baseado em Processo

Processo Pesado

Manual

Em silos

Develop/Test

Deploy

Operate

Ineficiente Leaner Leaner and

Smarter

Feedback Contínuo e Otimização

Desenvolvimento

Colaborativo

Entrega Contínua

Monitoração Contínua

Planejamento

Contínuo

Teste Contínuo

Operate Develop/ Test

Deploy

Plan

DevOps Continuous Feedback

Comunidade Casos

Material Técnico Feedback

Onde e como alcançar o

Lean

Expertise e Tecnologias

Compartilhamento de Conhecimento

© IBM Corporation 13

text

Entrega Contínua

Tipicamente a entrega contínua é baseada em uma esteira de entregas, ou delivery pipeline, que permite dar visibilidade para o time do andamento do processo de deployment, prover feedback para equipe atuar

rapidamente em caso de falhas e automatizar o processo desde o build ao deployment.

© IBM Corporation 14

Lean e Agile

14

1 por min 1 por min

4 por min 1 por min

4 por min 4 por min

DevOps se baseia nos princípios Lean e Agile,

como por exemplo: pensar no sistema como um todo e otimizar globalmente ao

invés de apenas localmente, promover

entregas pequenas para otimizar o cycle time,

amplificar o feedback no ciclo de entrega, entre

outras coisas.

© IBM Corporation 15

text

Automação IBM UrbanCode Deploy

15

IBM UrbanCode Deploy orquestra e automatiza o

deployment de aplicações, configurações de

middleware e mudanças de banco de dados em

ambientes de desenvolvimento, teste e produção, on-premises e em nuvem, acelerando o

tempo de entrega, reduzindo custos e riscos.

© IBM Corporation 16 © IBM Corporation 16

Computação em Nuvem

© IBM Corporation 17

text

O Que é Cloud?

5 Características

3 Modelos de

Serviços

3 Modelos de

Entrega

1.  Cloud Pública 2.  Cloud Privada 3.  Cloud Híbrida

1.  Software como Serviço (SaaS) 2.  Plataforma como Serviço (PaaS) 3.  Infraestrutura como Serviço (IaaS)

1.  Self-service sob demanda 2.  Acesso ubíquo a rede 3.  Pooling de recursos 4.  Elasticidade Rápida 5.  Serviços mensuráveis

http://www.nist.gov/itl/cloud/

© IBM Corporation 18

text

Modelos de Serviço em Cloud Gerenciado pelo Cliente Gerenciado pelo provedor

Rede Rede Rede RedeStorage Storage Storage StorageServidores Servidores Servidores ServidoresVirtualização Virtualização Virtualização VirtualizaçãoO/S O/S O/S O/SMiddleware Middleware Middleware MiddlewareRuntime Runtime Runtime RuntimeDados Dados Dados DadosCódigo Código Código Código

Controle,  Customização  e  Custo  

Padronização;  Time  to  value  

on-prem IaaS PaaS SaaS

© IBM Corporation 19

text

Modelos de Serviço em Cloud

IBM SoftLayer IBM Verse Bluemix on-prem

Rede Rede Rede RedeStorage Storage Storage StorageServidores Servidores Servidores ServidoresVirtualização Virtualização Virtualização VirtualizaçãoO/S O/S O/S O/SMiddleware Middleware Middleware MiddlewareRuntime Runtime Runtime RuntimeDados Dados Dados DadosCódigo Código Código Código

Controle,  Customização  e  Custo  

Padronização;  Time  to  value  

Gerenciado pelo Cliente Gerenciado pelo provedor

© IBM Corporation 20 © IBM Corporation 20

Desenvolvendo Aplicações para a Nuvem

© IBM Corporation 21

Um novo jeito de desenvolver aplicações

http://12factor.net/pt_br/ Referência:

© IBM Corporation 22

De uma Arquitetura Monolítica para Microserviços

22 Fonte: http://microservices.io

Aplicação monolítica Aplicação baseada em

Microserviços

© IBM Corporation 23

Propriedades de uma Arquitetura de Microserviços

23 Fonte: http://martinfowler.com/articles/microservices.html

Aplicação baseada em Microserviços

•  Compartmentalized business capability

•  Cross-functional teams

•  Communication via API ONLY!!

•  Use messaging to remove peer-to-peer dependencies

•  REST communication

•  Decentralized data

•  Design for failure

•  Evolutionary design with pluggable architecture

•  Enables continuous delivery

© IBM Corporation 24

IBM Containers

24

Containers são máquinas virtuais mais leves, isoladas, que compartilham o Kernel e bibliotecas do sistema operacional.

Resultando em um deployment mais rápido, menos overhead, e

migração mais rápida.

© IBM Corporation 25

Bluemix: um ambiente Open Cloud

25

VMs

Serviços

Segurança Monitoração Big Data Integração IoT Mobile Analytics Dados Middleware Cognitive

containers

Runtimes

node java python ruby .net xpages customizado

•  Crie suas aplicações, da sua maneira •  Escale mais que apenas instâncias •  Estenda suas aplicações com serviços IBM, 3rd Party ou OSS

•  Construa e gerencie apps híbridas •  Segurança em Camadas •  Preço Flexível

© IBM Corporation 26 © IBM Corporation 26

Entrega Contínua na Nuvem

© IBM Corporation 27

text

Delivery Pipeline Típico

Deployment Contínuo

Integração Contínua

Requisitos Qualidade

Planejamento/ WorkItems

Virtualização de Serviços

tst

hom

prod

Processos de deploy padronizados, sem

intervenção humana, proporcionando maior velocidade na entrega on-prem ou em nuvem.

SCM

Código Repositório

Binário

Deployment

RedeStorageServidoresVirtualizaçãoO/SMiddlewareRuntimeDadosCódigo

© IBM Corporation 28

text

Fazendo o deployment da aplicação e do ambiente juntos

Com o UrbanCode Deploy, além dos componentes de

software da aplicação como código, middleware,

banco de dados, você também define a

infraestrutura do ambiente como as máquinas virtuais, storage e

configurações de rede, unificando o processo de

deployment.

Deployment Full Stack

© IBM Corporation 29

text

Deployment Full Stack

Deployment Contínuo

Integração Contínua

Requisitos Qualidade

Planejamento/ WorkItems

Virtualização de Serviços

tst

hom

prod

Padronização, automação e velocidade na stack

toda em núvem pública, privada ou híbrida.

SCM

Código Repositório

Binário

Deployment e Provisionamento

RedeStorageServidoresVirtualizaçãoO/SMiddlewareRuntimeDadosCódigo

IBM UrbanCode Entrega contínua em nuvem

Ambientes definidos visualmente no padrão OpenStack Heat

Orchestration Template (HOT)

Provisionamento rápido full-stack em cloud provendo maior consistência entre ambientes

© IBM Corporation 30 © IBM Corporation 30

Encerramento

© IBM Corporation 31

text

Algumas referências

Listen: Snehal Antani @ IBM Innovate 2014 (start @ 0:30)

Gareth Wharton, CTO, Hiscox

Snehal Antani, CIO CDF & CIO EA, GE Capital Americas

“We built software and apps, such as our award-winning bank – GECapitalBank.com – from scratch in weeks to months – instead of months to years.”

Listen: Gareth Wharton @ IBM InterConnect 2015 (start @ 16:45)

© IBM Corporation 32 © IBM Corporation 32

Livros da série For Dummies: http://ibm.co/devopsfordummies http://ibm.co/agilefordummies http://ibm.co/ServiceVirtualizationForDummies http://ibm.co/ARDfordummies

DevOps Lean Assessment: http://bit.ly/IBMLeanAssess

Página IBM DevOps : http://ibm.com/DevOps

IBM DevOps YouTube Playlist: http://bit.ly/1fiDOtl

Recursos Para sua jornada de adoção de DevOps

© IBM Corporation 33 © IBM Corporation 33

Obrigado!

© IBM Corporation 34

text

Deployment Full Stack com Orquestração

Deployment Contínuo

Integração Contínua

Requisitos Qualidade

Planejamento/ WorkItems

Virtualização de Serviços

tst

hom

prod

Full stack deployment

integrado com orquestração de

nuvem

SCM

Código Repositório

Binário

Deployment

RedeStorageServidoresVirtualizaçãoO/SMiddlewareRuntimeDadosCódigo

Cloud Orchestration

Provisionamento

IBM Cloud Orchestrator

Visibilidade, governança e automação dos workloads em nuvens privadas, públicas e híbridas

Automação de backup, patching, segurança e monitoração

Portal self-service com páginas para provisionar máquinas com o clique de um botão, baseado em um BPM IBM

Monitoração das máquinas com políticas de scale-in e scale-out

© IBM Corporation 35

text

Deployment em uma Plataforma como Serviço

Deployment Contínuo

Integração Contínua

Requisitos Qualidade

Planejamento/ WorkItems

Virtualização de Serviços

tst

hom

prod

SCM

Código Repositório

Binário

Deployment

RedeStorageServidoresVirtualizaçãoO/SMiddlewareRuntimeDadosCódigo

Bluemix

Os deployments das aplicações no Bluemix podem ser feitos com os serviços IBM DevOps Services disponíveis no Bluemix, com também com o delivery pipeline que você já

tem, que é uma abordagem interessante para deployment

de aplicações híbridas.

IBM Bluemix DevOps Services

© IBM Corporation 36

text

IBM Containers for Bluemix

Deployment Contínuo

Integração Contínua

Requisitos Qualidade

Planejamento/ WorkItems

Virtualização de Serviços

tst

hom

prod

SCM

Código

Registry

Docker Image

Deployment

RedeStorageServidoresVirtualizaçãoO/SMiddlewareRuntimeDadosCódigo

IBM Containers for Bluemix

IBM Containers para Bluemix permite que você rode containers Docker no Bluemix.

IBM Bluemix DevOps Services

Docker File