Post on 15-Feb-2017
© 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 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 9
Desenvolver e Entregar software
A agilidade do negócio requer uma nova maneira de
9
© 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 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 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 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 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 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