SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
ACA IT-SOLUTIONS | © 2015
Stijn Wijndaele
stijn.wijndaele@aca-it.be
@stijnwijndaele
Introduction?
Your Hosts For Today
Business Development Manager
Cloud & Mobile Solutions
ACA IT-SOLUTIONS | © 2016
Stijn Van den Enden
stijn.vandenenden@aca-it.be
@stieno
CTO
Wants to be the greatest IT service provider
by being fanatic about
maximising customer value
'DOCKER' & CLOUD:
ENABLERS For DEVOPS
DevOps
DevOps is gericht op het tot stand brengen van
een cultuur binnen organisaties waardoor het
ontwikkelen, valideren en releasen van software
sneller, meer betrouwbaar en frequenter kan
verlopen
CLOUD ?
Why the Cloud ?
• Elastic Capacity
• Business Agility
• CapEx becomes OpEx
• Enabler for DevOps
Why the Cloud ?
• Elastic Capacity
• Business Agility
• CapEx becomes OpEx
• Enabler for DevOps
Elastic Capacity
Traditional: Rigid Cloud: Elastic
Capacity
Demand
Capacity
Excess
Capacity
Wasted $
Demand
Un-met
Demand
Why the Cloud ?
• Elastic Capacity
• Business Agility
• CapEx becomes OpEx
• Enabler for DevOps
Business Agility
Add New Dev Environment
Add New Prod Environment
Add New Environment in Japan
Add 1,000 Servers
Remove 1,000 servers
Deploy 2 PB Data warehouse
Shut down 2 PB Data warehouse
IAAS/PAAS:
Infrastructure in Minutes
Old World:
Infrastructure in Weeks
Everything changes with
this kind of agility
+ weeks
Service Request
Why the Cloud ?
• Elastic Capacity
• Business Agility
• CapEx becomes OpEx
• Enabler for DevOps
Capex becomes Opex
• no initial investments
• no termination fees
• no (real) commitments
• clear pricing model
Why the Cloud ?
• Elastic Capacity
• Business Agility
• CapEx becomes OpEx
• Enabler for DevOps
Enabler for devops
• Automation - Less repetitive tasks
• Better management tools
• no need to build from scratch - reuse
• Focus on what matters - your business
Netflix in 2015
• 69,2 million users
• 42,5 billion streaming hours
• 45GB bandwidth user/month
Source : DMR January 2016
Netflix in 2015
• 10x Customers
• 100x Traffic
• 5x Devs
• 2x Cost of IT infrastructure
Source : DMR January 2016
in 2008
Infrastructure as Code
From API accessible xAAS services to automated
deployment
Tools can enable change
in behavior and
eventually change
culture
‘
[patrick debois]
AMI, VMX, OVF, …
Cloud Provider
Continuous Integration
Build, test and integrate applications
Configuration Management
Configure and setup an existing
machine
Orchestration Tools
Provision Infrastructure and services
based on a configuration template
heat
base image
additional packages
application
code-artefact-765
'DOCKER' & CLOUD:
ENABLERS For DEVOPS
Docker
• What is docker ?
• What’s more ?
Docker
• What is docker ?
• What’s more ?
Docker
IT works on my System
Supply Matrix - From Hell!
IT Matrix From Hell!
One Size - Fits All
Virtual Machine ?
Compute, Storage, Network
Host OS
Hypervisor
VM1
MicroService
Guest OS
JVM
VM2
MicroService
Guest OS
JVM
Compute, Storage, Network
Host OS
container1
container2
container3
container4
JVM JVM JVM
MicroService MicroService MicroService
JVM
MicroService
Containers have own isolated
resources
Performance Comparison: http://ibm.co/V55Otq
VM’s abstract underlying hardware,
but limits resource utilisation
Ship without worrying
Docker - Layering
• Container = Writeable layer 

• Image = Static layers

• Containers = Share the kernel
docker build -t test/a .
FROM aca—base-ubuntu:1.1
RUN apt-get update
RUN apt-get install -y apache2
RUN touch /opt/a.txt
Let’s build Webserver A!
Our Dockerfile
docker build -t test/a .
FROM aca—base-apache:2.1
RUN touch /opt/a.txt
Or even better….
docker history test/a
IMAGE CREATED CREATED BY SIZE
4dc359259700 About a minute ago /bin/sh -c touch /opt/a.txt 8 B
9977b78fbad7 About a minute ago /bin/sh -c apt-get install -y apache2 54.17 MB
e83b3bf07b42 2 minutes ago /bin/sh -c apt-get update 20.67 MB
9cd978db300e 3 months ago /bin/sh -c #(nop) ADD precise.tar.xz in / 204.4 MB
6170bb7b0ad1 3 months ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <ad 0 B
511136ea3c5a 10 months ago 0 B
What is in Webserver A?
docker build -t test/b .
Let’s build Webserver B!
FROM aca—base-ubuntu:1.1
RUN apt-get update
RUN apt-get install -y apache2
RUN touch /opt/b.txt
Our Dockerfile
docker history test/b
IMAGE CREATED CREATED BY SIZE
c0daf4bw2ed4 5 seconds ago /bin/sh -c touch /opt/b.txt 8 B
9977b78fbad7 About a minute ago /bin/sh -c apt-get install -y apache2 54.17 MB
e83b3bf07b42 2 minutes ago /bin/sh -c apt-get update 20.67 MB
9cd978db300e 3 months ago /bin/sh -c #(nop) ADD precise.tar.xz in / 204.4 MB
6170bb7b0ad1 3 months ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <ad 0 B
511136ea3c5a 10 months ago 0 B
What is in Webserver B?
Containers are here to stay!
The Open Container Initiative (OCI) is
a collaborative project hosted under
the Linux Foundation designed to
establish common standards for
containers.
Docker
• What is docker ?
• What’s more ?
Docker Hub - Public Library
Docker Registry - Private Library
Docker Registry - Private Library
• Tightly control where your images are being stored
• Fully own your images distribution pipeline
• Integrate image storage and distribution 

tightly into your in-house development workflow
• Collaborate with your colleagues
Docker Hub
• Docker HUB = Docker Registry - As A Service
• Zero Maintenance
• Additional Functionality to increase collaboration
• Alternative Providers : Google / AWS / CoreOS
/preference-service
Repository
DockerFile
Continuous Integration
Infrastructure
Container Image Repository
Compute, Storage, Network
Host OS
daemon
container1
JVM
MicroService
pull
push
build
provision
container1
JVM
MicroService
Source Control System
The real value of Docker is not technology
It’s getting people to agree on something
Shipping Applications
Beyond a single container
Container Image
code-artefact-765
Minimal OS
Docker
Virtual Machine
Hardware
kubelet
Pod
Container
proxy
NodeMaster
scheduler
controller manager
(replication controller, etc.)
API endpoint
distributed configuration
storage
kubectl
(client command line tool)
K/V
K/V
K/V
K/V
K/V
/etc
distributed
raft - leader election
//Adding a value
$ curl http://127.0.0.1:2379/v2/keys/message -XPUT -d
value="Hello world”
//Quering
$ curl http://127.0.0.1:2379/v2/keys/message
{
"action": "get",
"node": {
"createdIndex": 2,
"key": "/message",
"modifiedIndex": 2,
"value": "Hello world"
}
}
//Delete
$ curl http://127.0.0.1:2379/v2/keys/message -XDELETE
Operations
apiVersion: v1
kind: ReplicationController
metadata:
name: es-data
labels:
component: elasticsearch
role: data
visualize: "true"
spec:
replicas: 2
selector:
component: elasticsearch
role: data
template:
metadata:
labels:
name: es-data
component: elasticsearch
role: data
visualize: "true"
spec:
serviceAccount: elasticsearch
containers:
- name: es-data
securityContext:
capabilities:
add:
- IPC_LOCK
image: quay.io/pires/docker-elasticsearch-kubernetes:1.7.2
es-data-rc.yaml
Pod
Container
es-data-rc.yaml
metadata:
labels:
name: es-data
component: elasticsearch
role: data
visualize: "true"
spec:
serviceAccount: elasticsearch
containers:
- name: es-data
securityContext:
capabilities:
add:
- IPC_LOCK
image: quay.io/pires/docker-elasticsearch-kubernetes:1.7.2
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
…
ports:
- containerPort: 9300
name: transport
protocol: TCP
volumeMounts:
- mountPath: /data
name: storage
volumes:
- name: storage
persistentVolumeClaim:
claimName: elasticsearch-storage-claim
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: elasticsearch-storage-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
es-claim.yaml
Pod
Container
Minimal OS
Docker
Virtual Machine
Hardware
kubelet
proxy
Node
Pod
Container
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: elasticsearch-storage-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
es-claim.yaml
apiVersion: "v1"
kind: "PersistentVolume"
metadata:
name: “ebs-volume-1“
spec:
capacity:
storage: "100Gi"
accessModes:
- "ReadWriteOnce"
awsElasticBlockStore:
fsType: "ext4"
volumeID: "vol-f331a05cc"
ebs-volume-1.yaml
/data
scheduler
Amazon EBS
service
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
component: elasticsearch
role: client
visualize: "true"
spec:
type: LoadBalancer
selector:
component: elasticsearch
role: client
ports:
- name: rest
port: 9200
protocol: TCP
- name: transport
port: 9300
protocol: TCP
es-svc.yaml
Minimal OS
Docker
Virtual Machine
Hardware
kubelet
Pod
Container
proxy
Node
(replication controller, etc.)
Minimal OS
Docker
Virtual Machine
Hardware
kubelet
proxy
NodeMaster
scheduler
controller manager
(replication controller, etc.)
API endpoint
distributed configuration
storage
kubectl
(client command line tool)
Pod
Container
• cluster topology design
• operational cluster management
• cluster upgrade and maintenance
• application
• declarative resource specification
DevOps
• container image standardisation
• deployment processes
Elastic LoadBalancer
Node
service
Minimal OS
Docker
Virtual Machine
Hardware
kubelet
proxy
Master
scheduler
controller manager
(replication controller, etc.)
API endpoint
distributed configuration
storage
kubectl
(client command line tool)
Pod
Container
ServerGroup
Open Source Commercially supported
kubernetes, what else?
Docker Swarm
Minimal OS
Docker
Virtual Machine
Hardware
Manager Node
Container
swarm
manager
swarm
agent
swarm
agent
distributed configuration
storage
docker remote API
overlay network
Amazon ECS
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
* slide from Deepak Singh, General Manager, Amazon EC2 Container Service
Slave
Master
framework
Virtual Pool of Resources
(CPU, RAM, …)
• Set up in seconds, integrates in the AWS stack (ELB, CloudWatch, ECR)
and yes, specific to Amazon WebServices
• Basic capabilities out of the box (no Discovery, …) but extensible
• Ideal for simple containerised workloads
• Opinionated declarative cluster management solution
• Runs on a single machine (in Docker) and on a large datacenter setup
• Rich API for cluster management
• Support for Secrets, Quota, Volumes, …
• Provider agnostic (docker, rkt, amazon, gce, …)
• Abstracts a cluster behind the Docker Remote API
• Networking and scheduling support
• Open plugin points for discovery, networking, …
• Docker only
• Lacks (being out of the box) service load balancing support
• Essentially a resource abstraction
• Scales to +10K nodes
• Job agnostic (more than containers alone)
• Support Kubernetes as one of the many frameworks
+
Container
declarative specification of operational needs
Cluster
continuous deployment pipeline includes quality gates:
automated tests
ops compliance
security tests
manual steps
…
Patternsfor Continuous Deployment
Container Image
preference-service-
artefact-765
Blue Green
Content Based Router
Blue/Green deployments
Container Image
preference-service-
artefact-765
Container Image
preference-service-
artefact-123
production traffictest traffic
Container Image
preference-service-
artefact-765
Stage 1 Stage 2 Stage 3
Content Based Router
Canary staged deployment
2 Container ecosystem is maturing rapidly and cAAS
provides the abstraction sweet spot
1 Cloud services are a true enabler for business agility
3 Leverage Continuous Deployment as
competitive advantage (as long as it lasts)
ACA IT-SOLUTIONS | © 2015
Stijn Wijndaele
stijn.wijndaele@aca-it.be
@stijnwijndaele
Questions?
Your Hosts For Today
Business Development Manager
Cloud & Mobile Solutions
ACA IT-SOLUTIONS | © 2016
Stijn Van den Enden
stijn.vandenenden@aca-it.be
@stieno
CTO
Docker and Cloud - Enables for DevOps - by ACA-IT

Más contenido relacionado

La actualidad más candente

Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Hao H. Zhang
 
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADSKNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADSElad Hirsch
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDocker, Inc.
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckSlideTeam
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...Animesh Singh
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeQAware GmbH
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDocker, Inc.
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17Mario-Leander Reimer
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...Tobias Schneck
 
Kubernetes day 2 Operations
Kubernetes day 2 OperationsKubernetes day 2 Operations
Kubernetes day 2 OperationsPaul Czarkowski
 
Millicomputing Usenix 2008
Millicomputing Usenix 2008Millicomputing Usenix 2008
Millicomputing Usenix 2008Adrian Cockcroft
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...SlideTeam
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Krishna-Kumar
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmJessica Deen
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesPaul Czarkowski
 

La actualidad más candente (19)

Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1
 
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADSKNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete Deck
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-Hitparade
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization Strategy
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
 
Kubernetes day 2 Operations
Kubernetes day 2 OperationsKubernetes day 2 Operations
Kubernetes day 2 Operations
 
Millicomputing Usenix 2008
Millicomputing Usenix 2008Millicomputing Usenix 2008
Millicomputing Usenix 2008
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
DevOps with Kubernetes and Helm
DevOps with Kubernetes and HelmDevOps with Kubernetes and Helm
DevOps with Kubernetes and Helm
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 

Destacado

Futuregram #.03 - Chatbots
Futuregram #.03 - ChatbotsFuturegram #.03 - Chatbots
Futuregram #.03 - ChatbotsTRENDONE GmbH
 
Latitude59 tech conference - Saija Mahon
Latitude59 tech conference - Saija MahonLatitude59 tech conference - Saija Mahon
Latitude59 tech conference - Saija MahonSaija Mahon
 
An executive guide on how to steer your digitalisation
An executive guide on how to steer your digitalisationAn executive guide on how to steer your digitalisation
An executive guide on how to steer your digitalisationStijn Wijndaele
 
Trends 2016 im Reality Check
Trends 2016 im Reality CheckTrends 2016 im Reality Check
Trends 2016 im Reality CheckTRENDONE GmbH
 
Innovationen aus Singapur
Innovationen aus SingapurInnovationen aus Singapur
Innovationen aus SingapurTRENDONE GmbH
 
A quick dive to digitalisation
A quick dive to digitalisationA quick dive to digitalisation
A quick dive to digitalisationHanne Kettunen
 
Jump into the Outernet!
Jump into the Outernet!Jump into the Outernet!
Jump into the Outernet!TRENDONE GmbH
 
Innovationen gegen Fake News
Innovationen gegen Fake NewsInnovationen gegen Fake News
Innovationen gegen Fake NewsTRENDONE GmbH
 
Digitalisation strategies
Digitalisation strategiesDigitalisation strategies
Digitalisation strategiesSuprabha B
 
Digital Transformation: What it is and how to get there
Digital Transformation: What it is and how to get thereDigital Transformation: What it is and how to get there
Digital Transformation: What it is and how to get thereEconsultancy
 
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...Edureka!
 

Destacado (17)

Digitalisation du sport
Digitalisation du sportDigitalisation du sport
Digitalisation du sport
 
Futuregram #.03 - Chatbots
Futuregram #.03 - ChatbotsFuturegram #.03 - Chatbots
Futuregram #.03 - Chatbots
 
Latitude59 tech conference - Saija Mahon
Latitude59 tech conference - Saija MahonLatitude59 tech conference - Saija Mahon
Latitude59 tech conference - Saija Mahon
 
An executive guide on how to steer your digitalisation
An executive guide on how to steer your digitalisationAn executive guide on how to steer your digitalisation
An executive guide on how to steer your digitalisation
 
BPM for dummies
BPM for dummiesBPM for dummies
BPM for dummies
 
Digital transformation 101
Digital transformation 101Digital transformation 101
Digital transformation 101
 
Trends 2016 im Reality Check
Trends 2016 im Reality CheckTrends 2016 im Reality Check
Trends 2016 im Reality Check
 
Innovationen aus Singapur
Innovationen aus SingapurInnovationen aus Singapur
Innovationen aus Singapur
 
A quick dive to digitalisation
A quick dive to digitalisationA quick dive to digitalisation
A quick dive to digitalisation
 
Jump into the Outernet!
Jump into the Outernet!Jump into the Outernet!
Jump into the Outernet!
 
Digital transformation
Digital transformationDigital transformation
Digital transformation
 
Digitalisation
DigitalisationDigitalisation
Digitalisation
 
Innovationen gegen Fake News
Innovationen gegen Fake NewsInnovationen gegen Fake News
Innovationen gegen Fake News
 
Digitalisation strategies
Digitalisation strategiesDigitalisation strategies
Digitalisation strategies
 
Digital Transformation: What it is and how to get there
Digital Transformation: What it is and how to get thereDigital Transformation: What it is and how to get there
Digital Transformation: What it is and how to get there
 
[Slides] Digital Transformation, with Brian Solis
[Slides] Digital Transformation, with Brian Solis[Slides] Digital Transformation, with Brian Solis
[Slides] Digital Transformation, with Brian Solis
 
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
What is Artificial Intelligence | Artificial Intelligence Tutorial For Beginn...
 

Similar a Docker and Cloud - Enables for DevOps - by ACA-IT

DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018Jessica Deen
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionJessica Deen
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesAtlassian
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesQAware GmbH
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackQAware GmbH
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with DockerDocker, Inc.
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Patrick Chanezon
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Pedro Sousa
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON Byrum
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker, Inc.
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on dockerWei Ting Chen
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerSakari Hoisko
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Patrick Chanezon
 

Similar a Docker and Cloud - Enables for DevOps - by ACA-IT (20)

DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
 

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Docker and Cloud - Enables for DevOps - by ACA-IT

  • 1.
  • 2. ACA IT-SOLUTIONS | © 2015 Stijn Wijndaele stijn.wijndaele@aca-it.be @stijnwijndaele Introduction? Your Hosts For Today Business Development Manager Cloud & Mobile Solutions ACA IT-SOLUTIONS | © 2016 Stijn Van den Enden stijn.vandenenden@aca-it.be @stieno CTO
  • 3.
  • 4.
  • 5. Wants to be the greatest IT service provider by being fanatic about maximising customer value
  • 7. DevOps DevOps is gericht op het tot stand brengen van een cultuur binnen organisaties waardoor het ontwikkelen, valideren en releasen van software sneller, meer betrouwbaar en frequenter kan verlopen
  • 9. Why the Cloud ? • Elastic Capacity • Business Agility • CapEx becomes OpEx • Enabler for DevOps
  • 10. Why the Cloud ? • Elastic Capacity • Business Agility • CapEx becomes OpEx • Enabler for DevOps
  • 11. Elastic Capacity Traditional: Rigid Cloud: Elastic Capacity Demand Capacity Excess Capacity Wasted $ Demand Un-met Demand
  • 12. Why the Cloud ? • Elastic Capacity • Business Agility • CapEx becomes OpEx • Enabler for DevOps
  • 13. Business Agility Add New Dev Environment Add New Prod Environment Add New Environment in Japan Add 1,000 Servers Remove 1,000 servers Deploy 2 PB Data warehouse Shut down 2 PB Data warehouse IAAS/PAAS: Infrastructure in Minutes Old World: Infrastructure in Weeks Everything changes with this kind of agility + weeks Service Request
  • 14. Why the Cloud ? • Elastic Capacity • Business Agility • CapEx becomes OpEx • Enabler for DevOps
  • 15. Capex becomes Opex • no initial investments • no termination fees • no (real) commitments • clear pricing model
  • 16. Why the Cloud ? • Elastic Capacity • Business Agility • CapEx becomes OpEx • Enabler for DevOps
  • 17. Enabler for devops • Automation - Less repetitive tasks • Better management tools • no need to build from scratch - reuse • Focus on what matters - your business
  • 18. Netflix in 2015 • 69,2 million users • 42,5 billion streaming hours • 45GB bandwidth user/month Source : DMR January 2016
  • 19. Netflix in 2015 • 10x Customers • 100x Traffic • 5x Devs • 2x Cost of IT infrastructure Source : DMR January 2016 in 2008
  • 20. Infrastructure as Code From API accessible xAAS services to automated deployment
  • 21. Tools can enable change in behavior and eventually change culture ‘ [patrick debois]
  • 22. AMI, VMX, OVF, … Cloud Provider Continuous Integration Build, test and integrate applications Configuration Management Configure and setup an existing machine Orchestration Tools Provision Infrastructure and services based on a configuration template heat base image additional packages application code-artefact-765
  • 24. Docker • What is docker ? • What’s more ?
  • 25. Docker • What is docker ? • What’s more ?
  • 26. Docker IT works on my System
  • 27. Supply Matrix - From Hell!
  • 28.
  • 29. IT Matrix From Hell!
  • 30. One Size - Fits All
  • 32. Compute, Storage, Network Host OS Hypervisor VM1 MicroService Guest OS JVM VM2 MicroService Guest OS JVM Compute, Storage, Network Host OS container1 container2 container3 container4 JVM JVM JVM MicroService MicroService MicroService JVM MicroService Containers have own isolated resources Performance Comparison: http://ibm.co/V55Otq VM’s abstract underlying hardware, but limits resource utilisation
  • 34. Docker - Layering • Container = Writeable layer 
 • Image = Static layers
 • Containers = Share the kernel
  • 35. docker build -t test/a . FROM aca—base-ubuntu:1.1 RUN apt-get update RUN apt-get install -y apache2 RUN touch /opt/a.txt Let’s build Webserver A! Our Dockerfile
  • 36. docker build -t test/a . FROM aca—base-apache:2.1 RUN touch /opt/a.txt Or even better….
  • 37. docker history test/a IMAGE CREATED CREATED BY SIZE 4dc359259700 About a minute ago /bin/sh -c touch /opt/a.txt 8 B 9977b78fbad7 About a minute ago /bin/sh -c apt-get install -y apache2 54.17 MB e83b3bf07b42 2 minutes ago /bin/sh -c apt-get update 20.67 MB 9cd978db300e 3 months ago /bin/sh -c #(nop) ADD precise.tar.xz in / 204.4 MB 6170bb7b0ad1 3 months ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <ad 0 B 511136ea3c5a 10 months ago 0 B What is in Webserver A?
  • 38. docker build -t test/b . Let’s build Webserver B! FROM aca—base-ubuntu:1.1 RUN apt-get update RUN apt-get install -y apache2 RUN touch /opt/b.txt Our Dockerfile
  • 39. docker history test/b IMAGE CREATED CREATED BY SIZE c0daf4bw2ed4 5 seconds ago /bin/sh -c touch /opt/b.txt 8 B 9977b78fbad7 About a minute ago /bin/sh -c apt-get install -y apache2 54.17 MB e83b3bf07b42 2 minutes ago /bin/sh -c apt-get update 20.67 MB 9cd978db300e 3 months ago /bin/sh -c #(nop) ADD precise.tar.xz in / 204.4 MB 6170bb7b0ad1 3 months ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <ad 0 B 511136ea3c5a 10 months ago 0 B What is in Webserver B?
  • 40.
  • 41.
  • 42.
  • 43. Containers are here to stay! The Open Container Initiative (OCI) is a collaborative project hosted under the Linux Foundation designed to establish common standards for containers.
  • 44. Docker • What is docker ? • What’s more ?
  • 45. Docker Hub - Public Library
  • 46. Docker Registry - Private Library
  • 47. Docker Registry - Private Library • Tightly control where your images are being stored • Fully own your images distribution pipeline • Integrate image storage and distribution 
 tightly into your in-house development workflow • Collaborate with your colleagues
  • 48. Docker Hub • Docker HUB = Docker Registry - As A Service • Zero Maintenance • Additional Functionality to increase collaboration • Alternative Providers : Google / AWS / CoreOS
  • 49.
  • 50.
  • 51. /preference-service Repository DockerFile Continuous Integration Infrastructure Container Image Repository Compute, Storage, Network Host OS daemon container1 JVM MicroService pull push build provision container1 JVM MicroService Source Control System
  • 52. The real value of Docker is not technology It’s getting people to agree on something
  • 53. Shipping Applications Beyond a single container
  • 55.
  • 56.
  • 57.
  • 58. Minimal OS Docker Virtual Machine Hardware kubelet Pod Container proxy NodeMaster scheduler controller manager (replication controller, etc.) API endpoint distributed configuration storage kubectl (client command line tool)
  • 59. K/V K/V K/V K/V K/V /etc distributed raft - leader election //Adding a value $ curl http://127.0.0.1:2379/v2/keys/message -XPUT -d value="Hello world” //Quering $ curl http://127.0.0.1:2379/v2/keys/message { "action": "get", "node": { "createdIndex": 2, "key": "/message", "modifiedIndex": 2, "value": "Hello world" } } //Delete $ curl http://127.0.0.1:2379/v2/keys/message -XDELETE Operations
  • 60. apiVersion: v1 kind: ReplicationController metadata: name: es-data labels: component: elasticsearch role: data visualize: "true" spec: replicas: 2 selector: component: elasticsearch role: data template: metadata: labels: name: es-data component: elasticsearch role: data visualize: "true" spec: serviceAccount: elasticsearch containers: - name: es-data securityContext: capabilities: add: - IPC_LOCK image: quay.io/pires/docker-elasticsearch-kubernetes:1.7.2 es-data-rc.yaml Pod Container
  • 61. es-data-rc.yaml metadata: labels: name: es-data component: elasticsearch role: data visualize: "true" spec: serviceAccount: elasticsearch containers: - name: es-data securityContext: capabilities: add: - IPC_LOCK image: quay.io/pires/docker-elasticsearch-kubernetes:1.7.2 env: - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace … ports: - containerPort: 9300 name: transport protocol: TCP volumeMounts: - mountPath: /data name: storage volumes: - name: storage persistentVolumeClaim: claimName: elasticsearch-storage-claim kind: PersistentVolumeClaim apiVersion: v1 metadata: name: elasticsearch-storage-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi es-claim.yaml Pod Container
  • 62. Minimal OS Docker Virtual Machine Hardware kubelet proxy Node Pod Container kind: PersistentVolumeClaim apiVersion: v1 metadata: name: elasticsearch-storage-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi es-claim.yaml apiVersion: "v1" kind: "PersistentVolume" metadata: name: “ebs-volume-1“ spec: capacity: storage: "100Gi" accessModes: - "ReadWriteOnce" awsElasticBlockStore: fsType: "ext4" volumeID: "vol-f331a05cc" ebs-volume-1.yaml /data scheduler Amazon EBS
  • 63. service apiVersion: v1 kind: Service metadata: name: elasticsearch labels: component: elasticsearch role: client visualize: "true" spec: type: LoadBalancer selector: component: elasticsearch role: client ports: - name: rest port: 9200 protocol: TCP - name: transport port: 9300 protocol: TCP es-svc.yaml Minimal OS Docker Virtual Machine Hardware kubelet Pod Container proxy Node (replication controller, etc.)
  • 64. Minimal OS Docker Virtual Machine Hardware kubelet proxy NodeMaster scheduler controller manager (replication controller, etc.) API endpoint distributed configuration storage kubectl (client command line tool) Pod Container • cluster topology design • operational cluster management • cluster upgrade and maintenance • application • declarative resource specification DevOps • container image standardisation • deployment processes
  • 65. Elastic LoadBalancer Node service Minimal OS Docker Virtual Machine Hardware kubelet proxy Master scheduler controller manager (replication controller, etc.) API endpoint distributed configuration storage kubectl (client command line tool) Pod Container ServerGroup
  • 69. Minimal OS Docker Virtual Machine Hardware Manager Node Container swarm manager swarm agent swarm agent distributed configuration storage docker remote API overlay network
  • 71. Docker Task Container Instance Amazon ECS Container ECS Agent ELB Internet ELB User / Scheduler API Cluster Management Engine Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Key/Value Store Agent Communication Service * slide from Deepak Singh, General Manager, Amazon EC2 Container Service
  • 72.
  • 73. Slave Master framework Virtual Pool of Resources (CPU, RAM, …)
  • 74. • Set up in seconds, integrates in the AWS stack (ELB, CloudWatch, ECR) and yes, specific to Amazon WebServices • Basic capabilities out of the box (no Discovery, …) but extensible • Ideal for simple containerised workloads • Opinionated declarative cluster management solution • Runs on a single machine (in Docker) and on a large datacenter setup • Rich API for cluster management • Support for Secrets, Quota, Volumes, … • Provider agnostic (docker, rkt, amazon, gce, …) • Abstracts a cluster behind the Docker Remote API • Networking and scheduling support • Open plugin points for discovery, networking, … • Docker only • Lacks (being out of the box) service load balancing support • Essentially a resource abstraction • Scales to +10K nodes • Job agnostic (more than containers alone) • Support Kubernetes as one of the many frameworks
  • 75. + Container declarative specification of operational needs Cluster continuous deployment pipeline includes quality gates: automated tests ops compliance security tests manual steps …
  • 77. Container Image preference-service- artefact-765 Blue Green Content Based Router Blue/Green deployments Container Image preference-service- artefact-765 Container Image preference-service- artefact-123 production traffictest traffic
  • 78. Container Image preference-service- artefact-765 Stage 1 Stage 2 Stage 3 Content Based Router Canary staged deployment
  • 79. 2 Container ecosystem is maturing rapidly and cAAS provides the abstraction sweet spot 1 Cloud services are a true enabler for business agility 3 Leverage Continuous Deployment as competitive advantage (as long as it lasts)
  • 80. ACA IT-SOLUTIONS | © 2015 Stijn Wijndaele stijn.wijndaele@aca-it.be @stijnwijndaele Questions? Your Hosts For Today Business Development Manager Cloud & Mobile Solutions ACA IT-SOLUTIONS | © 2016 Stijn Van den Enden stijn.vandenenden@aca-it.be @stieno CTO