© 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, ...
MurodasConfusõ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?
5Características
3Modelos de
Serviços
3Modelos 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 Rede
Storage Storage Storage Storage
Servidores Servidores Servidores Servidores
Virtualização Virtualização Virtualização Virtualização
O/S O/S O/S O/S
Middleware Middleware Middleware Middleware
Runtime Runtime Runtime Runtime
Dados Dados Dados Dados
Có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 Rede
Storage Storage Storage Storage
Servidores Servidores Servidores Servidores
Virtualização Virtualização Virtualização Virtualização
O/S O/S O/S O/S
Middleware Middleware Middleware Middleware
Runtime Runtime Runtime Runtime
Dados Dados Dados Dados
Có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çaMonitoraçãoBig DataIntegraçãoIoTMobileAnalyticsDadosMiddleware 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
Rede
Storage
Servidores
Virtualização
O/S
Middleware
Runtime
Dados
Có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
Rede
Storage
Servidores
Virtualização
O/S
Middleware
Runtime
Dados
Có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
Rede
Storage
Servidores
Virtualização
O/S
Middleware
Runtime
Dados
Có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
Rede
Storage
Servidores
Virtualização
O/S
Middleware
Runtime
Dados
Có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
Rede
Storage
Servidores
Virtualização
O/S
Middleware
Runtime
Dados
Código
IBM Containers
for Bluemix
IBM Containers para
Bluemix permite que
você rode containers
Docker no Bluemix.
IBM Bluemix
DevOps
Services
Docker
File

DevOps - Entrega Contínua de Software

  • 1.
    © IBM Corporation1 Apresentado por: DevOps Entrega Contínua de Software Paulo Lacerda IBM Cloud Technical Sales
  • 2.
    © IBM Corporation2 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
  • 3.
    © IBM Corporation3© IBM Corporation 3 Desafios da Entrega de Software
  • 4.
    © IBM Corporation4 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.
  • 5.
    © IBM Corporation5 text Desafio 1: Diferentes áreas, diferentes objetivos, processos, ferramentas, ... MurodasConfusões DESENVOLVIMENTO OPERAÇÕES Eu quero Estabilidade Eu quero Mudança! Release
  • 6.
    © IBM Corporation6 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.
  • 7.
    © IBM Corporation7 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.
  • 8.
  • 9.
    © IBM Corporation9 Desenvolver e Entregar software A agilidade do negócio requer uma nova maneira de 9
  • 10.
    © IBM Corporation10© IBM Corporation 10 DevOps
  • 11.
    © IBM Corporation11 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
  • 12.
    © IBM Corporation12 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
  • 13.
    © IBM Corporation13 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.
  • 14.
    © IBM Corporation14 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.
  • 15.
    © IBM Corporation15 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.
  • 16.
    © IBM Corporation16© IBM Corporation 16 Computação em Nuvem
  • 17.
    © IBM Corporation17 text O Que é Cloud? 5Características 3Modelos de Serviços 3Modelos 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/
  • 18.
    © IBM Corporation18 text Modelos de Serviço em Cloud Gerenciado pelo Cliente Gerenciado pelo provedor Rede Rede Rede Rede Storage Storage Storage Storage Servidores Servidores Servidores Servidores Virtualização Virtualização Virtualização Virtualização O/S O/S O/S O/S Middleware Middleware Middleware Middleware Runtime Runtime Runtime Runtime Dados Dados Dados Dados Código Código Código Código Controle,  Customização  e  Custo   Padronização;  Time  to  value   on-prem IaaS PaaS SaaS
  • 19.
    © IBM Corporation19 text Modelos de Serviço em Cloud IBM SoftLayer IBM Verse Bluemix on-prem Rede Rede Rede Rede Storage Storage Storage Storage Servidores Servidores Servidores Servidores Virtualização Virtualização Virtualização Virtualização O/S O/S O/S O/S Middleware Middleware Middleware Middleware Runtime Runtime Runtime Runtime Dados Dados Dados Dados Código Código Código Código Controle,  Customização  e  Custo   Padronização;  Time  to  value   Gerenciado pelo Cliente Gerenciado pelo provedor
  • 20.
    © IBM Corporation20© IBM Corporation 20 Desenvolvendo Aplicações para a Nuvem
  • 21.
    © IBM Corporation21 Um novo jeito de desenvolver aplicações http://12factor.net/pt_br/Referência:
  • 22.
    © IBM Corporation22 De uma Arquitetura Monolítica para Microserviços 22 Fonte: http://microservices.io Aplicação monolítica Aplicação baseada em Microserviços
  • 23.
    © IBM Corporation23 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
  • 24.
    © IBM Corporation24 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.
  • 25.
    © IBM Corporation25 Bluemix: um ambiente Open Cloud 25 VMs Serviços SegurançaMonitoraçãoBig DataIntegraçãoIoTMobileAnalyticsDadosMiddleware 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
  • 26.
    © IBM Corporation26© IBM Corporation 26 Entrega Contínua na Nuvem
  • 27.
    © IBM Corporation27 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 Rede Storage Servidores Virtualização O/S Middleware Runtime Dados Código
  • 28.
    © IBM Corporation28 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
  • 29.
    © IBM Corporation29 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 Rede Storage Servidores Virtualização O/S Middleware Runtime Dados Có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
  • 30.
    © IBM Corporation30© IBM Corporation 30 Encerramento
  • 31.
    © IBM Corporation31 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)
  • 32.
    © IBM Corporation32© 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
  • 33.
    © IBM Corporation33© IBM Corporation 33 Obrigado!
  • 34.
    © IBM Corporation34 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 Rede Storage Servidores Virtualização O/S Middleware Runtime Dados Có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
  • 35.
    © IBM Corporation35 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 Rede Storage Servidores Virtualização O/S Middleware Runtime Dados Có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
  • 36.
    © IBM Corporation36 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 Rede Storage Servidores Virtualização O/S Middleware Runtime Dados Código IBM Containers for Bluemix IBM Containers para Bluemix permite que você rode containers Docker no Bluemix. IBM Bluemix DevOps Services Docker File