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

DevOps - Entrega Contínua de Software

Feb 15, 2017

Download

Software

Paulo Lacerda
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DevOps - Entrega Contínua de Software

© IBM Corporation 1

Apresentado por:

DevOps Entrega Contínua de Software

Paulo Lacerda IBM Cloud Technical Sales

Page 2: DevOps - Entrega Contínua de Software

© 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

Page 3: DevOps - Entrega Contínua de Software

© IBM Corporation 3 © IBM Corporation 3

Desafios da Entrega de Software

Page 4: DevOps - Entrega Contínua 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.

Page 5: DevOps - Entrega Contínua de Software

© 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

Page 6: DevOps - Entrega Contínua de Software

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

Page 7: DevOps - Entrega Contínua de Software

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

Page 8: DevOps - Entrega Contínua de Software

© IBM Corporation 8

Page 9: DevOps - Entrega Contínua de Software

© IBM Corporation 9

Desenvolver e Entregar software

A agilidade do negócio requer uma nova maneira de

9

Page 10: DevOps - Entrega Contínua de Software

© IBM Corporation 10 © IBM Corporation 10

DevOps

Page 11: DevOps - Entrega Contínua de Software

© 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

Page 12: DevOps - Entrega Contínua de Software

© 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

Page 13: DevOps - Entrega Contínua de Software

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

Page 14: DevOps - Entrega Contínua de Software

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

Page 15: DevOps - Entrega Contínua de Software

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

Page 16: DevOps - Entrega Contínua de Software

© IBM Corporation 16 © IBM Corporation 16

Computação em Nuvem

Page 17: DevOps - Entrega Contínua de Software

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

Page 18: DevOps - Entrega Contínua de Software

© 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

Page 19: DevOps - Entrega Contínua de Software

© 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

Page 20: DevOps - Entrega Contínua de Software

© IBM Corporation 20 © IBM Corporation 20

Desenvolvendo Aplicações para a Nuvem

Page 21: DevOps - Entrega Contínua de Software

© IBM Corporation 21

Um novo jeito de desenvolver aplicações

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

Page 22: DevOps - Entrega Contínua de Software

© 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

Page 23: DevOps - Entrega Contínua de Software

© 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

Page 24: DevOps - Entrega Contínua de Software

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

Page 25: DevOps - Entrega Contínua de Software

© 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

Page 26: DevOps - Entrega Contínua de Software

© IBM Corporation 26 © IBM Corporation 26

Entrega Contínua na Nuvem

Page 27: DevOps - Entrega Contínua de Software

© 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

Page 28: DevOps - Entrega Contínua de Software

© 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

Page 29: DevOps - Entrega Contínua de Software

© 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

Page 30: DevOps - Entrega Contínua de Software

© IBM Corporation 30 © IBM Corporation 30

Encerramento

Page 31: DevOps - Entrega Contínua de Software

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

Page 32: DevOps - Entrega Contínua de Software

© 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

Page 33: DevOps - Entrega Contínua de Software

© IBM Corporation 33 © IBM Corporation 33

Obrigado!

Page 34: DevOps - Entrega Contínua de Software

© 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

Page 35: DevOps - Entrega Contínua de Software

© 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

Page 36: DevOps - Entrega Contínua de Software

© 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