Top Banner
Capitalware's MQ Technical Conference v2.0.1.5 Deployment Patterns using Docker and Chef Sandeep Chellingi [email protected]
29

Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Sep 13, 2018

Download

Documents

doanngoc
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: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Deployment Patterns using Docker and Chef

Sandeep Chellingi

[email protected]

Page 2: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Agenda

Rapid Provisioning + Automated and Managed Deploym ent

� IT Challenges - Use-cases

� What is Docker ?

� What is Chef ?

� What is IBM Urban Code Deploy ?

� Demo

� Questions & Answers

+ +

Page 3: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

• Speed and complexity

• Security and auditability

• Enforcement of standards and governance

• Regulatory controls and compliance

• Consistency and repeatability

• Resource constraints

• Operational cost reduction

IT challenges

SIMPLERSIMPLER

CHEAPERCHEAPER

BETTERBETTER

FASTERFASTER

Page 4: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

DevOps Overview

Develop andTest

DeploySteer Operate

Collaborative Development

Continuous Release and Deployment

Continuous Testing

Business Owner ServiceDeveloper/Tester

ServiceOperations

TargetCustomer

Idea Market

DevOps

ContinuousBusiness Planning

Continuous Monitoring

Lean and Agile principles

Continuous feedback and Optimization

[Source: IBM]

Page 5: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is Docker?

“Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.”

Build Ship Run

Docker build, ship, run any app, anywhere.

Page 6: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is a Container ?App

A

Hypervisor (Type 2)

Host OS

Server

Guest

OS

Bins/

Libs

App

A’

Guest

OS

Bins/

Libs

App

B

Guest

OS

Bins/

Libs

Ap

p A

Host OS

Server

Bins/Libs

Ap

p A

Bins/Libs

Ap

p B

Ap

p B

Ap

p B

Ap

p B

Co

nta

ine

r

Containers:

• Isolated name space (processes partition)

• Shared system resources, but run-time isolation of application resources and data.

• Network and volume mappers. Guest

OS

Guest

OS

Virtu

al

Ma

chin

e

Page 7: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Container architecture and valueIf you’re focusing on the architecture you might be missing the point …

• We are using already allocated resources , so start up and shut down is quick .

• We are using a layered file system so we only need to store or retrieve deltas, which saves network bandwidth .

• The container runs on any X86 system with a Docker Engine, so consistency and reuse is extremely high .

Linux Kernel

cgroupscgroupsLXC

namespacesLXC

namespacesLayered

file systemLayered

file system

Physical or virtual system hardware

Drivers

home

var

opt

etc

ContainerContainer

home

var

opt

etc

Docker Engine

Page 8: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Docker Fundamentals

Local Repo Images

Docker Repo Images

docker pull <tag>

Dockerfile

docker buildStore container as an image -docker commit <cid> <tag>

Terminal into a container –docker exec –ti <container id> /bin/bash

Terminal

docker push <tag>

Image delete -docker rmi

Create an image as a container -docker run <options> <tag>

ContainerStop -docker stop <cid>

Start -docker start <cid>

Delete -docker rm <cid>

Process list -docker ps -a

Archive

docker savedocker load

Install docker. Run docker -d

Page 9: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Docker UI

Page 10: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is Chef ?

Chef handled infrastructure becomes dynamic, versionable, human-readable, and testable.

Chef automates how infrastructure is configured, deployed, and managed across your network, no matter its size.

Chef Leverages to easily and quickly provision, manage, and adapt infrastructure in response to always changing needs.

Chef DK Chef Server Chef Clients

Chef is an open source software agent that automates your infrastructure by turning it into code.

Page 11: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is Chef ?Chef supports management of servers infrastructure in the cloud, on-premises, or in a hybrid environment.

Nodes are the machines – physical , virtual, cloud, and so on that are under management by Chef.

The chef-client is installed on each node and client performs the automation on the nodes.

Chef server is the backbone to create and manage flexible, dynamic infrastructure (chef) nodes, across datacenters, public and private clouds , and in heterogeneous environments.

Chef Server acts as a configuration data hub, storing cookbooks and policies.

Page 12: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is Chef ?

Page 13: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Development Build Package Repository TEST Environment STAGE Environment PROD Environment

The Business The CustomerContinuous Delivery

Continuous Feedback

What is UrbanCode Deploy ?Deployment CycleDeployment Cycle

• Deployment automation• Application and environment visibility and transparency• Process flexibility• Access controls and audit controls

Page 14: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

What is UrbanCode Deploy ?

Page 15: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

UrbanCode Deploy – IIB code deploy

UCDSource Agent

DockerContainer

UCDTarget Agent

DockerContainer

UCDServer Docker

Container

2. Register1. Register

GitHubCloud

MQ / IBM Integration Bus

DockerContainer

34

56

Page 16: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

MQ / IIB Server

MQ / IIB Server

MQ / IIB Server

MQ / IIB Server

MQ / IIB Server

MQ / IIB Server

Chef – MQ & IIB Deploy Pattern

Page 17: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Docker CAAS – Deploy Pattern

Page 18: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Chef + Docker + UCD – Deploy Pattern

Page 19: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo

Page 20: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – Docker Chef MQ – IIB

Page 21: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – Docker Chef MQ – IIB

Page 22: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – Docker Chef MQ – IIB

Page 23: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – UCD - Process Designer

Page 24: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo- UCD - Application Environments

Page 25: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – UCD - Resource Assigments

Page 26: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – UCD - Deploy

Page 27: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – UCD - Deployment in Progress

Page 28: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Demo – UCD - Deployment Complete

Page 29: Deployment Patterns Docker Chef - … · “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container

Capitalware's MQ Technical Conference v2.0.1.5

Questions & Answers