SlideShare a Scribd company logo
1 of 38
Download to read offline
Micro 
Services 
and 
Con/nuous 
Deployment 
with 
Docker 
Andrew 
Aslinger 
Dec 
4th 
2014
2 
Agenda 
DevOps 
Philosophy 
What 
is 
Docker 
? 
Con/nuous 
Delivery 
with 
AWS 
and 
Docker 
Advanced 
Topics 
Demo 
& 
Discussion
Who 
am 
I? 
Senior 
Cloud 
Architect 
for 
OpenWhere 
Passion 
for 
UX, 
Big 
Data, 
and 
Cloud/DevOps 
Previously 
Designed 
and 
Implemented 
automated 
DevOps 
processes 
for 
several 
organiza>ons 
Mul/ple 
environments, 
many 
user 
/ 
developer 
groups, 
big 
data 
clusters, 
hundreds 
of 
machines 
A 
Recovering 
“Chef” 
Cer>fied 
AWS 
Architect
DevOps 
Principles
5 
OpenWhere 
DevOps 
Philosophy: 
Apply 
SoNware 
principles 
to 
infrastructure 
1. Immutable 
Infrastructure 
2. Purpose 
Built 
Environments 
3. Self 
service 
for 
the 
en>re 
Landscape 
4. Create 
Programma>c 
Bill 
of 
Material 
5. Simplify 
the 
tool 
chain 
& 
process 
6. DevOps 
code 
should 
co-­‐exist 
with 
applica>on 
code 
7. Architect, 
don’t 
Broker, 
for 
Cross 
Cloud 
deployments 
8. Auto-­‐scale 
from 
start 
9. Build 
in 
cost 
op>miza>on
6 
1. 
Immutable 
Infrastructure 
• Virtual 
Infrastructure 
components 
are 
replaced 
for 
every 
deployment, 
rather 
than 
being 
updated 
• Focus 
on 
one 
process 
(build) 
vs. 
two 
(build 
& 
maintain) 
http://martinfowler.com/bliki/ImmutableServer.html
7 
2. 
Use 
Purpose 
Built 
Environments 
Fixed, 
Sta>c 
Environments 
– Average 
50% 
variance 
between 
produc/on 
& 
lower 
environments 
– Suppor/ng 
environments 
have 
variable 
demand, 
low 
overall 
u/liza/on, 
& 
minimal 
support 
Dynamic, 
on-­‐demand 
environments 
– Built 
and 
scaled 
for 
specific 
purposes 
– Exist 
only 
for 
the 
task 
dura/on 
Fixed 
Environments 
Development 
Staging 
Integra/on 
Demonstra/on 
Test 
/QA 
Training 
Produc/on 
Etc. 
Dynamic 
Environments 
Development 
for 
Sprint 
11 
(3 
weeks) 
User 
Test 
for 
User 
Story 
US 
217 
(14 
hours) 
Regression 
Test 
for 
Defect 
42 
(1 
hour) 
Performance 
Test 
for 
release 
2.3.1 
(4 
hours) 
Training 
for 
release 
2.3.2 
(8 
hours/day) 
Produc/on 
for 
release 
2.3.0 
(1 
month)
8 
3. 
Self 
Service 
for 
the 
en/re 
Landscape 
(systems 
not 
servers) 
• Single 
server 
is 
not 
a 
viable 
unit 
of 
work 
“In 
today’s 
distributed 
compute 
environment, 
developers 
can’t 
develop 
on 
local 
worksta/ons.” 
• Teams 
want 
self-­‐service 
to 
full 
systems 
“I 
want 
a 
LIDAR 
processing 
system 
not 
12 
servers, 
2 
subnets, 
database, 
NAT, 
load 
balancer, 
etc” 
• ShiN 
self-­‐service 
focus 
from 
servers 
and 
components 
to 
applica/ons 
& 
systems 
(landscapes)
9 
4. 
Create 
Programma>c 
Bill 
of 
Material 
• Build 
The 
en/re 
system 
is 
captured 
as 
a 
soNware 
code. 
This 
allows 
the 
infrastructure 
to 
be 
version 
controlled 
and 
replicated 
like 
any 
other 
soNware 
asset. 
infrastructure 
from 
JSON 
Templates 
– JSON 
descrip/on 
file 
(programma/c 
Bill 
of 
Materials) 
– Perform 
programafc 
dependency 
and 
impact 
analysis 
-­‐ 
just 
like 
on 
code 
– Used 
to 
ini/alize 
Docker 
Containers 
• Resource 
specific 
templates 
– AWS 
Cloud 
Forma/on 
– OpenStack 
HEAT 
– Docker 
File 
/ 
Fig 
– OpenWhere 
has 
developed 
a 
Javascript 
DSL 
to 
generate 
these 
cloud 
specific 
templates
10 
A 
very, 
very 
small 
sample 
of 
the 
tool 
space 
. 
. 
. 
Infrastructure 
Infrastructure 
Provisioning 
Configura/on 
Applica/on 
Deployment 
Pipeline 
Management
1. Immutable 
Infrastructure 
2. Purpose 
Built 
Environments 
3. Self 
service 
for 
the 
en/re 
Landscape 
4. Create 
Programma/c 
Bill 
of 
Material 
5. Simplify 
the 
tool 
chain 
& 
process 
6. DevOps 
code 
should 
co-­‐exist 
with 
applica>on 
code 
7. Architect, 
don’t 
Broker, 
for 
Cross 
Cloud 
deployments 
8. Auto-­‐scale 
from 
start 
9. Build 
in 
cost 
op>miza>on 
11 
OpenWhere 
DevOps 
Philosophy: 
Apply 
SoNware 
principles 
to 
infrastructure 
helps 
Docker 
many 
enable 
of 
principles 
these
What 
is 
Docker?
What 
is 
Docker? 
“Docker 
is 
an 
open 
pla0orm 
for 
developers 
and 
sysadmins 
to 
build, 
ship, 
and 
run 
distributed 
applica:ons” 
Yet another DevOps tool 
light weight container 
Latest hype?
What 
is 
Docker? 
Docker 
really 
does 
for 
any 
unit 
of 
work 
and 
all 
it’s 
dependencies 
(OS, 
configura:on, 
binaries, 
any 
soCware 
language 
etc.) 
what 
the 
JVM 
did 
for 
your 
code 
• Have 
something 
in 
Python 
or 
Fortran? 
– 
Sure 
• Gnarly 
C 
Libraries 
– 
All 
right! 
How 
about 
I 
run 
it 
on 
your 
Mac 
and 
EC2 
• Conflic:ng 
dependencies 
across 
two 
services 
– 
not 
a 
problem!
Docker 
Benefits 
• Portability 
Across 
Machines 
– Local 
Vagrant 
like 
deployment, 
Remote 
Deployment 
including 
Amazon 
EC2 
– Independent 
of 
host 
OS 
– Lightweight 
vs 
VMs 
• Supports 
DevOps 
Best 
Prac>ces 
& 
Re-­‐use 
– Infrastructure 
as 
Code 
– Container 
Extensibility 
• Fits 
into 
a 
Con>nuous 
Deployment 
Pipeline 
• Isola>on 
and 
Single 
Responsibility 
– Reduce 
dependency 
conflicts, 
security 
• S>ck 
any 
unit 
of 
work 
in 
a 
black 
box 
with 
its 
dependencies 
– Code 
with 
complex 
dependencies 
and 
configura/on, 
short 
lived 
tasks, 
long 
running 
services, 
etc. 
Virtual Machines 
Docker
16 
A 
Typical 
Docker 
Flow 
with 
six 
simple 
commands 
Docker 
Image 
docker build –t imagename . 
Dockerfile 
conf 
Docker 
Registry 
registryname: 
docker tag imagename registryname/ 
imagename 
https://registry.hub.docker.com/ 
Private registry 
Docker 
Image 
Docker 
Container 
or 
docker run –p 9000:9000 –d --name 
containername imagename 
Development 
Environment 
Host 
Environment 
docker stop/restart/start 
containername
Docker 
with 
AWS
Why 
Docker 
with 
EC2? 
• Build 
once, 
run 
many 
places 
– Dev 
Machines, 
different 
clouds, 
different 
VPCs, 
share 
and 
build 
– Not 
/ed 
to 
box 
size 
or 
guest 
OS 
• AMI’s 
are 
difficult 
to 
rebuild 
and 
more 
difficult 
to 
maintain 
– Snapshots 
retain 
baggage 
– There 
is 
no 
“git” 
version 
control 
for 
AMI 
– AMI’s 
are 
not 
cross 
region 
compa/ble 
– Other 
AMI 
tools 
like 
Amiator 
aren’t 
easy 
to 
use 
• Easier 
to 
achieve 
immutable 
infrastructure 
and 
one 
click 
deploys 
• Treat 
your 
infrastructure 
as 
code 
with 
a 
Con>nuous 
Deployment 
Pipeline
Why 
Docker 
with 
EC2? 
• Separate 
your 
data 
and 
state 
from 
your 
image 
• Machine 
layers 
evolve 
at 
different 
velocity 
and 
have 
different 
reuse 
(Example 
Later) 
– Core 
OS 
– Organiza/on 
Level 
Requirements 
– Applica/on 
Level 
Requirements 
– Applica/on 
Code 
• Test 
and 
version 
control 
your 
deploy 
ar/facts 
and 
configura/on 
together 
– Same 
container 
for 
developers 
and 
EC2 
– Java 
Example 
• Stop 
maintaining 
AMIs 
• HPC 
algorithm 
distribu/on 
unit 
(Apache 
Mesos) 
+
Docker 
Con>nuous 
Deployment 
Flow: 
Set 
up 
AWS 
infrastructure 
Create AWS Ec2 Instances 
and install Docker 
1 
yum install -y docker-io 
service docker start 
….
Docker 
Con>nuous 
Deployment 
Flow: 
Build 
and 
push 
docker 
image 
with 
latest 
code 
Commit New 
Code w/ 
Docker file 
SCM Poll Trigger build 
Push Artifacts 
(optional) 
Push new Image to 
public or private repo 
2 
3 
4 
6 
Build new Docker Image 
5 
from Docker File
Docker 
Con>nuous 
Deployment 
Flow: 
Trigger 
EC2 
to 
pull 
latest 
Docker 
image 
Trigger Docker Pull on 
target machines 
7 
Docker Pull & start 
container 
8
Advanced 
#1: 
Docker 
Image 
Layers 
using 
FROM 
and 
OnBuild 
commands 
in 
the 
Docker 
File 
Project 
Code 
Specific 
Image 
Organiza/on 
Applica/on 
Image 
(Example 
NodeJs 
Web 
App 
Image) 
Organiza/on 
Base 
OS 
Core 
OS 
Project 
SCM 
Application Dependencies & Config: 
NodeJS, express, supervisord etc. 
Common Dependencies & Config: 
Security, LDAP, Logging, etc. 
Base OS: 
CentOs, Ubuntu, etc. 
ONBUILD 
Docker Image Layers 
Jenkins Built 
Reusable 
Machine layers can evolve at different velocity 
and have different levels of reuse
Advanced 
#2: 
Linked 
Containers 
Run multiple containers on a machine. Each with a responsibility linked 
by ports / address 
https://docs.docker.com/userguide/dockerlinks/ 
--link name:alias 
docker run -d -P --name web --link db:db training/webapp python app.py 
Host 
OS 
Container 
1 
DB 
Container 
2 
Web 
$DB_PORT = 6379, 
etc. 
/etc/hosts 
db 172.0.0.2 
Tools 
like 
Fleet 
or 
Elas/c 
Container 
Service 
will 
make 
this 
easier
Advanced 
#3: 
Data 
Containers 
A container which allows sharing of data across containers 
https://docs.docker.com/userguide/dockervolumes/ 
Benefits: Change image independent of data (maintainability) 
Enables Data sharing patterns (single responsibility) 
sudo docker run -d --volumes-from dbdata --name db2 training/postgres 
Host 
OS 
Data 
Container 
(non 
running) 
Container 
2 
Web 
/volume 
Limitations: Data is Tied to Host OS 
/volume 
-file1.txt 
-file2.txt 
Physical files 
docker managed 
Container 
3 
Web 
/volume
Advanced 
#4: 
Customize 
on 
Init 
You need to parameterize and modify items in a container based on the 
environment, and ENV variables won’t work 
Examples: Set a IP address or DNS name, 
Set a DB password 
Pattern: 
1. Load a script onto the box as part of an building the image 
2. Run script at container launch 
3. Script uses environment variables to customize settings files etc 
4. Environment variables are passed to the docker run Command 
Data 
Container 
(non 
running) 
docker run -e sed 
DB=10.0.0.1 
start.sh 
config.conf 
Discovery 
Service 
& 
is 
Registra/on 
an 
area 
emerging
Service 
Discovery
Service 
Discovery 
Needs 
/ 
Drivers 
• Managing 
large 
amounts 
of 
Micro-­‐Services 
quickly 
becomes 
unmanageable 
• Tradi/onal 
Approaches 
of 
orchestra/on 
oNen 
require 
sta/c 
endpoints 
which 
do 
not 
scale 
and 
are 
more 
difficult 
to 
manage 
• Docker 
introduces 
paperns 
of 
linking 
containers 
but 
one 
quickly 
runs 
into 
the 
need 
to 
link 
services 
across 
hosts 
• Solu/on 
must 
deal 
with 
Cloud 
Focused 
Architectures, 
Rolling 
Deploys, 
Mul/ple 
Environments, 
and 
Elas/city, 
etc. 
http://www.cargolaw.com/2007nightmare_ital.florida.html
Ideal 
Solu/on 
Goals 
• “Services 
just 
find 
each 
other 
and 
work” 
– Auto-­‐wiring 
/ 
Full 
Automa/on 
• Services 
automa/cally 
discover 
one 
another 
• Works 
with 
machines 
coming/going 
and 
autoscale 
groups 
• Minimal 
or 
no 
host 
hardcoding 
• Easy 
to 
manage 
• Supports 
con/nuous 
deployment 
– Scalability 
to 
hundreds/thousands 
of 
services 
– Easy 
to 
use 
– Minimal 
impact 
/ 
code 
changes 
to 
exis/ng 
services 
– Docker 
/ 
Container 
Process 
Integra>on 
– Versa/lity 
& 
Host 
and 
Environment 
Agnos/c 
– Health 
Checking 
– Supports 
Orchestra/on 
of 
Deployments 
– Upward 
trajectory 
for 
tech 
and 
room 
for 
growth
Comparison 
Matrix 
Stack 
Smart 
Stack 
Consul 
Etcd 
CoreOS 
AWS 
Manual 
Techs 
Nerve, 
Synapse, 
HAProxy, 
Zookeeper 
consul 
etcd 
CoreOS, 
fleet, 
etcd 
Route53 
+ 
ELB 
+ 
CloudForma/on 
Link 
hpp://nerds.airbnb.com/ 
smartstack-­‐service-­‐ 
discovery-­‐cloud/ 
hpp://www.consul.io 
hpps://github.com/coreos/ 
etcd 
hpps:// 
coreos.com/ 
Custom 
AWS 
Solu/on 
Pros 
• Some 
people 
use 
with 
docker 
• Well 
defined 
• Opinionated 
• Mul/-­‐data 
center 
• Key 
/ 
value 
• Strong 
health 
checking 
• DNS 
+ 
Rest 
• Gossip 
built 
on 
serf 
protocol 
• UI 
• Simple 
/ 
Fast 
(RaN 
based) 
• Key/value 
• Op/on 
for 
DNS 
via 
SkyDNS2 
• Docker 
centric 
• Security 
focus 
• Orchestra/o 
n 
of 
Containers 
• Simple 
and 
easy 
• Known 
approach 
Cons 
• More 
complex 
stack 
• Zookeeper 
underpinnings, 
no 
dynamic 
fleets 
• Docker 
is 
added 
on 
not 
centric 
like 
CoreOS 
• Manual 
solu/on 
when 
used 
alone 
• Less 
Opinionated 
• Requires 
their 
OS 
(less 
proven 
off 
cloud) 
• Requires 
hardcoding 
• Doesn’t 
scale 
or 
translate 
outside 
AWS
Selec/on 
• Selec/on: 
Consul 
+ 
Docker 
Integra/ons 
– Consul 
+ 
some 
external 
open 
source 
Docker 
integra/ons 
met 
all 
the 
goal 
criteria 
except 
orchestra/on 
• Orchestra/on 
easy 
to 
accomplish 
with 
current 
Cloud 
Forma/on 
Process 
• Elas/c 
Container 
service 
also 
will 
provide 
orchestra/on 
• Runners 
Up 
– CoreOS 
close 
but 
concerns 
over 
on-­‐premise 
deploys. 
Also 
lacked 
easy 
DNS 
and 
was 
a 
more 
dras/c 
change 
as 
requires 
different 
host 
OS 
– Etcd 
by 
itself 
and 
even 
with 
docker 
integra/ons 
was 
s/ll 
too 
manual 
and 
didn’t 
require 
enough 
flexibility 
– AWS 
while 
known 
was 
more 
short 
term 
as 
offered 
less 
flexibility 
and 
lacked 
other 
features 
including 
non-­‐hpp 
health 
checks, 
etc.
Our 
Consul 
Architecture 
Micro 
Service 
Container 
Consul 
Agent 
Registrator 
DNS 
/ 
HTTP 
External Services 
Service Registry, 
Key Value Store 
Micro Service Hosts 
Gossip Protocol 
Consul 
Elas/cache 
MongoDB 
SAS 
/ 
External 
APIs 
Master Cluster 
Automatic registration 
Automatic 
discovery
Orchestra/on 
• How 
do 
I 
manage 
deployment, 
resource 
alloca>on, 
linking, 
etc. 
of 
all 
these 
containers? 
– Container 
as 
a 
first 
class 
ci/zen 
instead 
of 
the 
VM 
– If 
I 
split 
things 
smaller, 
I 
want 
more 
automa/on 
in 
the 
management 
– Docker 
provides 
common 
paperns 
and 
interface 
of 
work 
(start 
/ 
stop 
etc.) 
– Manage 
the 
container 
linking 
and 
items 
not 
in 
my 
Dockerfile 
• Op>ons: 
– Mesos: 
• Launch 
tasks 
that 
contain 
docker 
containers 
• hpp://mesos.apache.org/documenta/on/latest/docker-­‐containerizer/ 
– AWS 
Elas/c 
Container 
Service 
(Preview): 
• Dynamically 
allocate 
containers 
across 
a 
cluster 
• Ground 
up 
built 
for 
minimal 
thought 
Docker 
in 
the 
cloud 
• hcp://aws.amazon.com/ecs/ 
– Google 
Container 
Engine 
• Manage 
Docker 
containers 
on 
Google 
Compute 
Engine 
• hcps://cloud.google.com/container-­‐engine/
OpenWhere 
Docker 
Wins 
1. Full 
con>nuous 
deployment 
and 
write 
once, 
deploy 
many 
>mes 
realized 
2. Developer 
Replacement 
for 
vagrant 
– Less 
complexity 
– Test 
with 
what 
you 
deploy! 
3. Deployment 
build 
process 
co-­‐exists 
with 
the 
sodware! 
– Reduced 
Maintenance, 
developer 
buy-­‐in, 
testability 
4. Awesome 
Re-­‐use 
with 
minimal 
code 
– 1 
line 
Dockerfile(s) 
for 
new 
MEAN 
Stack 
apps 
5. Simplicity 
(Streamlined 
DevOps)
OpenWhere 
Docker 
Burns 
• Learning 
Curve 
/ 
Maturity 
– Learning 
and 
growing 
to 
a 
Docker 
way 
for 
each 
DevOps 
task 
(s/ll 
in 
progress) 
– Example: 
Need 
“tricks” 
to 
do 
things 
like 
have 
more 
than 
one 
process 
running 
in 
a 
container 
– Example: 
Learning 
layers 
are 
independent 
and 
don’t 
retain 
state 
between 
RUN 
commands 
• A 
Docker 
Container 
is 
not 
the 
same 
as 
a 
typical 
virtual 
machine 
– Basic 
stuff 
like 
syslog 
off 
and 
tar, 
wget 
not 
installed 
– Base 
Image: 
hpp://phusion.github.io/baseimage-­‐docker/ 
– Ideal 
State: 
Single 
process 
vs. 
Single 
Responsibility 
• Containers 
not 
restar>ng 
on 
EC2 
Restart 
– We 
hacked 
a 
cloud-­‐init 
work 
around 
• Upda>ng 
to 
new 
images 
is 
dirty 
– Manually 
clean 
up 
images 
/ 
containers 
or 
run 
out 
of 
disk! 
• Debugging 
can 
be 
more 
complex: 
– Largely 
fixed 
In 
Docker 
1.3: 
`docker 
exec 
–I 
–t 
[container-­‐name] 
bash`
Recommenda/ons 
& 
Next 
Steps 
• Docker 
works 
great 
for 
a 
Con/nuous 
Deployment 
flow 
on 
EC2 
– Especially 
for 
stateless 
applica/ons 
or 
a 
micro-­‐service 
architecture 
• Complex 
cluster 
deployments, 
stateful 
applica/ons 
or 
databases, 
are 
harder 
to 
achieve 
– You 
may 
need 
to 
roll 
your 
own 
solu/on 
or 
integrate 
with 
another 
technology 
• Docker 
Next 
Steps: 
Programs 
and 
IR&D 
– Security 
Tes/ng 
& 
Recommenda/ons 
– Service 
Discovery 
(Consul, 
Fleet, 
Kubernetes, 
Mesos, 
Helios, 
Centurion, 
libswarm, 
etc.) 
– Data 
Persistent 
Pacerns 
(Data 
Lake, 
Shared 
Volumes, 
etc.)
Ques/ons
38 
Contact 
Informa/on 
Andrew 
Aslinger 
Senior 
Systems 
Architect 
OpenWhere 
aaslinger@openwhere.com 
@aaa572 
hpp://owaaa.github.io/ 
Andrew 
Heifetz 
Chief 
Cloud 
Officer 
OpenWhere 
aheifetz@openwhere.com 
@andyheifetz 
hpp://www.linkedin.com/pub/andrew-­‐heifetz 
Cell: 
240-­‐481-­‐7442

More Related Content

What's hot

Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
Containers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStackContainers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStackCodefresh
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Brittany Ingram
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureJérôme Petazzoni
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707Clarence Ho
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDocker, Inc.
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefitsAmit Manwade
 

What's hot (20)

Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Containers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStackContainers #101 Meetup: Containers and OpenStack
Containers #101 Meetup: Containers and OpenStack
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker, LinuX Container
Docker, LinuX ContainerDocker, LinuX Container
Docker, LinuX Container
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 

Viewers also liked

Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with dockerGiacomo Bagnoli
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh
 
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...Codefresh
 
How Docker Accelerates Continuous Development at Codefresh
How Docker Accelerates Continuous Development at CodefreshHow Docker Accelerates Continuous Development at Codefresh
How Docker Accelerates Continuous Development at CodefreshCodefresh
 
Docker driven development pipeline webinar (1)
Docker driven development pipeline webinar (1)Docker driven development pipeline webinar (1)
Docker driven development pipeline webinar (1)Codefresh
 
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQDocker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQErica Windisch
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationJulian Dunn
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Software, Inc.
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 
Intro to Codefresh YAML
Intro to Codefresh YAML  Intro to Codefresh YAML
Intro to Codefresh YAML Codefresh
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Jenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentJenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentDan Stine
 

Viewers also liked (13)

Intro to Chef
Intro to ChefIntro to Chef
Intro to Chef
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
 
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...
Codefresh + BlazeMeter Webinar: Continuous Testing for Containerized Applicat...
 
How Docker Accelerates Continuous Development at Codefresh
How Docker Accelerates Continuous Development at CodefreshHow Docker Accelerates Continuous Development at Codefresh
How Docker Accelerates Continuous Development at Codefresh
 
Docker driven development pipeline webinar (1)
Docker driven development pipeline webinar (1)Docker driven development pipeline webinar (1)
Docker driven development pipeline webinar (1)
 
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQDocker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous Integration
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
Intro to Codefresh YAML
Intro to Codefresh YAML  Intro to Codefresh YAML
Intro to Codefresh YAML
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Jenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentJenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated Deployment
 

Similar to Docker dev ops for cd meetup 12-14

Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific ComputingPeter Bryzgalov
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyAjeet Singh Raina
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...Puppet
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptxHassanRaza40719
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosMike Martin
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataInfluxData
 

Similar to Docker dev ops for cd meetup 12-14 (20)

Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
 
Container on azure
Container on azureContainer on azure
Container on azure
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker
DockerDocker
Docker
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 

Recently uploaded

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
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
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

Docker dev ops for cd meetup 12-14

  • 1. Micro Services and Con/nuous Deployment with Docker Andrew Aslinger Dec 4th 2014
  • 2. 2 Agenda DevOps Philosophy What is Docker ? Con/nuous Delivery with AWS and Docker Advanced Topics Demo & Discussion
  • 3. Who am I? Senior Cloud Architect for OpenWhere Passion for UX, Big Data, and Cloud/DevOps Previously Designed and Implemented automated DevOps processes for several organiza>ons Mul/ple environments, many user / developer groups, big data clusters, hundreds of machines A Recovering “Chef” Cer>fied AWS Architect
  • 5. 5 OpenWhere DevOps Philosophy: Apply SoNware principles to infrastructure 1. Immutable Infrastructure 2. Purpose Built Environments 3. Self service for the en>re Landscape 4. Create Programma>c Bill of Material 5. Simplify the tool chain & process 6. DevOps code should co-­‐exist with applica>on code 7. Architect, don’t Broker, for Cross Cloud deployments 8. Auto-­‐scale from start 9. Build in cost op>miza>on
  • 6. 6 1. Immutable Infrastructure • Virtual Infrastructure components are replaced for every deployment, rather than being updated • Focus on one process (build) vs. two (build & maintain) http://martinfowler.com/bliki/ImmutableServer.html
  • 7. 7 2. Use Purpose Built Environments Fixed, Sta>c Environments – Average 50% variance between produc/on & lower environments – Suppor/ng environments have variable demand, low overall u/liza/on, & minimal support Dynamic, on-­‐demand environments – Built and scaled for specific purposes – Exist only for the task dura/on Fixed Environments Development Staging Integra/on Demonstra/on Test /QA Training Produc/on Etc. Dynamic Environments Development for Sprint 11 (3 weeks) User Test for User Story US 217 (14 hours) Regression Test for Defect 42 (1 hour) Performance Test for release 2.3.1 (4 hours) Training for release 2.3.2 (8 hours/day) Produc/on for release 2.3.0 (1 month)
  • 8. 8 3. Self Service for the en/re Landscape (systems not servers) • Single server is not a viable unit of work “In today’s distributed compute environment, developers can’t develop on local worksta/ons.” • Teams want self-­‐service to full systems “I want a LIDAR processing system not 12 servers, 2 subnets, database, NAT, load balancer, etc” • ShiN self-­‐service focus from servers and components to applica/ons & systems (landscapes)
  • 9. 9 4. Create Programma>c Bill of Material • Build The en/re system is captured as a soNware code. This allows the infrastructure to be version controlled and replicated like any other soNware asset. infrastructure from JSON Templates – JSON descrip/on file (programma/c Bill of Materials) – Perform programafc dependency and impact analysis -­‐ just like on code – Used to ini/alize Docker Containers • Resource specific templates – AWS Cloud Forma/on – OpenStack HEAT – Docker File / Fig – OpenWhere has developed a Javascript DSL to generate these cloud specific templates
  • 10. 10 A very, very small sample of the tool space . . . Infrastructure Infrastructure Provisioning Configura/on Applica/on Deployment Pipeline Management
  • 11. 1. Immutable Infrastructure 2. Purpose Built Environments 3. Self service for the en/re Landscape 4. Create Programma/c Bill of Material 5. Simplify the tool chain & process 6. DevOps code should co-­‐exist with applica>on code 7. Architect, don’t Broker, for Cross Cloud deployments 8. Auto-­‐scale from start 9. Build in cost op>miza>on 11 OpenWhere DevOps Philosophy: Apply SoNware principles to infrastructure helps Docker many enable of principles these
  • 13. What is Docker? “Docker is an open pla0orm for developers and sysadmins to build, ship, and run distributed applica:ons” Yet another DevOps tool light weight container Latest hype?
  • 14. What is Docker? Docker really does for any unit of work and all it’s dependencies (OS, configura:on, binaries, any soCware language etc.) what the JVM did for your code • Have something in Python or Fortran? – Sure • Gnarly C Libraries – All right! How about I run it on your Mac and EC2 • Conflic:ng dependencies across two services – not a problem!
  • 15. Docker Benefits • Portability Across Machines – Local Vagrant like deployment, Remote Deployment including Amazon EC2 – Independent of host OS – Lightweight vs VMs • Supports DevOps Best Prac>ces & Re-­‐use – Infrastructure as Code – Container Extensibility • Fits into a Con>nuous Deployment Pipeline • Isola>on and Single Responsibility – Reduce dependency conflicts, security • S>ck any unit of work in a black box with its dependencies – Code with complex dependencies and configura/on, short lived tasks, long running services, etc. Virtual Machines Docker
  • 16. 16 A Typical Docker Flow with six simple commands Docker Image docker build –t imagename . Dockerfile conf Docker Registry registryname: docker tag imagename registryname/ imagename https://registry.hub.docker.com/ Private registry Docker Image Docker Container or docker run –p 9000:9000 –d --name containername imagename Development Environment Host Environment docker stop/restart/start containername
  • 18. Why Docker with EC2? • Build once, run many places – Dev Machines, different clouds, different VPCs, share and build – Not /ed to box size or guest OS • AMI’s are difficult to rebuild and more difficult to maintain – Snapshots retain baggage – There is no “git” version control for AMI – AMI’s are not cross region compa/ble – Other AMI tools like Amiator aren’t easy to use • Easier to achieve immutable infrastructure and one click deploys • Treat your infrastructure as code with a Con>nuous Deployment Pipeline
  • 19. Why Docker with EC2? • Separate your data and state from your image • Machine layers evolve at different velocity and have different reuse (Example Later) – Core OS – Organiza/on Level Requirements – Applica/on Level Requirements – Applica/on Code • Test and version control your deploy ar/facts and configura/on together – Same container for developers and EC2 – Java Example • Stop maintaining AMIs • HPC algorithm distribu/on unit (Apache Mesos) +
  • 20. Docker Con>nuous Deployment Flow: Set up AWS infrastructure Create AWS Ec2 Instances and install Docker 1 yum install -y docker-io service docker start ….
  • 21. Docker Con>nuous Deployment Flow: Build and push docker image with latest code Commit New Code w/ Docker file SCM Poll Trigger build Push Artifacts (optional) Push new Image to public or private repo 2 3 4 6 Build new Docker Image 5 from Docker File
  • 22. Docker Con>nuous Deployment Flow: Trigger EC2 to pull latest Docker image Trigger Docker Pull on target machines 7 Docker Pull & start container 8
  • 23. Advanced #1: Docker Image Layers using FROM and OnBuild commands in the Docker File Project Code Specific Image Organiza/on Applica/on Image (Example NodeJs Web App Image) Organiza/on Base OS Core OS Project SCM Application Dependencies & Config: NodeJS, express, supervisord etc. Common Dependencies & Config: Security, LDAP, Logging, etc. Base OS: CentOs, Ubuntu, etc. ONBUILD Docker Image Layers Jenkins Built Reusable Machine layers can evolve at different velocity and have different levels of reuse
  • 24. Advanced #2: Linked Containers Run multiple containers on a machine. Each with a responsibility linked by ports / address https://docs.docker.com/userguide/dockerlinks/ --link name:alias docker run -d -P --name web --link db:db training/webapp python app.py Host OS Container 1 DB Container 2 Web $DB_PORT = 6379, etc. /etc/hosts db 172.0.0.2 Tools like Fleet or Elas/c Container Service will make this easier
  • 25. Advanced #3: Data Containers A container which allows sharing of data across containers https://docs.docker.com/userguide/dockervolumes/ Benefits: Change image independent of data (maintainability) Enables Data sharing patterns (single responsibility) sudo docker run -d --volumes-from dbdata --name db2 training/postgres Host OS Data Container (non running) Container 2 Web /volume Limitations: Data is Tied to Host OS /volume -file1.txt -file2.txt Physical files docker managed Container 3 Web /volume
  • 26. Advanced #4: Customize on Init You need to parameterize and modify items in a container based on the environment, and ENV variables won’t work Examples: Set a IP address or DNS name, Set a DB password Pattern: 1. Load a script onto the box as part of an building the image 2. Run script at container launch 3. Script uses environment variables to customize settings files etc 4. Environment variables are passed to the docker run Command Data Container (non running) docker run -e sed DB=10.0.0.1 start.sh config.conf Discovery Service & is Registra/on an area emerging
  • 28. Service Discovery Needs / Drivers • Managing large amounts of Micro-­‐Services quickly becomes unmanageable • Tradi/onal Approaches of orchestra/on oNen require sta/c endpoints which do not scale and are more difficult to manage • Docker introduces paperns of linking containers but one quickly runs into the need to link services across hosts • Solu/on must deal with Cloud Focused Architectures, Rolling Deploys, Mul/ple Environments, and Elas/city, etc. http://www.cargolaw.com/2007nightmare_ital.florida.html
  • 29. Ideal Solu/on Goals • “Services just find each other and work” – Auto-­‐wiring / Full Automa/on • Services automa/cally discover one another • Works with machines coming/going and autoscale groups • Minimal or no host hardcoding • Easy to manage • Supports con/nuous deployment – Scalability to hundreds/thousands of services – Easy to use – Minimal impact / code changes to exis/ng services – Docker / Container Process Integra>on – Versa/lity & Host and Environment Agnos/c – Health Checking – Supports Orchestra/on of Deployments – Upward trajectory for tech and room for growth
  • 30. Comparison Matrix Stack Smart Stack Consul Etcd CoreOS AWS Manual Techs Nerve, Synapse, HAProxy, Zookeeper consul etcd CoreOS, fleet, etcd Route53 + ELB + CloudForma/on Link hpp://nerds.airbnb.com/ smartstack-­‐service-­‐ discovery-­‐cloud/ hpp://www.consul.io hpps://github.com/coreos/ etcd hpps:// coreos.com/ Custom AWS Solu/on Pros • Some people use with docker • Well defined • Opinionated • Mul/-­‐data center • Key / value • Strong health checking • DNS + Rest • Gossip built on serf protocol • UI • Simple / Fast (RaN based) • Key/value • Op/on for DNS via SkyDNS2 • Docker centric • Security focus • Orchestra/o n of Containers • Simple and easy • Known approach Cons • More complex stack • Zookeeper underpinnings, no dynamic fleets • Docker is added on not centric like CoreOS • Manual solu/on when used alone • Less Opinionated • Requires their OS (less proven off cloud) • Requires hardcoding • Doesn’t scale or translate outside AWS
  • 31. Selec/on • Selec/on: Consul + Docker Integra/ons – Consul + some external open source Docker integra/ons met all the goal criteria except orchestra/on • Orchestra/on easy to accomplish with current Cloud Forma/on Process • Elas/c Container service also will provide orchestra/on • Runners Up – CoreOS close but concerns over on-­‐premise deploys. Also lacked easy DNS and was a more dras/c change as requires different host OS – Etcd by itself and even with docker integra/ons was s/ll too manual and didn’t require enough flexibility – AWS while known was more short term as offered less flexibility and lacked other features including non-­‐hpp health checks, etc.
  • 32. Our Consul Architecture Micro Service Container Consul Agent Registrator DNS / HTTP External Services Service Registry, Key Value Store Micro Service Hosts Gossip Protocol Consul Elas/cache MongoDB SAS / External APIs Master Cluster Automatic registration Automatic discovery
  • 33. Orchestra/on • How do I manage deployment, resource alloca>on, linking, etc. of all these containers? – Container as a first class ci/zen instead of the VM – If I split things smaller, I want more automa/on in the management – Docker provides common paperns and interface of work (start / stop etc.) – Manage the container linking and items not in my Dockerfile • Op>ons: – Mesos: • Launch tasks that contain docker containers • hpp://mesos.apache.org/documenta/on/latest/docker-­‐containerizer/ – AWS Elas/c Container Service (Preview): • Dynamically allocate containers across a cluster • Ground up built for minimal thought Docker in the cloud • hcp://aws.amazon.com/ecs/ – Google Container Engine • Manage Docker containers on Google Compute Engine • hcps://cloud.google.com/container-­‐engine/
  • 34. OpenWhere Docker Wins 1. Full con>nuous deployment and write once, deploy many >mes realized 2. Developer Replacement for vagrant – Less complexity – Test with what you deploy! 3. Deployment build process co-­‐exists with the sodware! – Reduced Maintenance, developer buy-­‐in, testability 4. Awesome Re-­‐use with minimal code – 1 line Dockerfile(s) for new MEAN Stack apps 5. Simplicity (Streamlined DevOps)
  • 35. OpenWhere Docker Burns • Learning Curve / Maturity – Learning and growing to a Docker way for each DevOps task (s/ll in progress) – Example: Need “tricks” to do things like have more than one process running in a container – Example: Learning layers are independent and don’t retain state between RUN commands • A Docker Container is not the same as a typical virtual machine – Basic stuff like syslog off and tar, wget not installed – Base Image: hpp://phusion.github.io/baseimage-­‐docker/ – Ideal State: Single process vs. Single Responsibility • Containers not restar>ng on EC2 Restart – We hacked a cloud-­‐init work around • Upda>ng to new images is dirty – Manually clean up images / containers or run out of disk! • Debugging can be more complex: – Largely fixed In Docker 1.3: `docker exec –I –t [container-­‐name] bash`
  • 36. Recommenda/ons & Next Steps • Docker works great for a Con/nuous Deployment flow on EC2 – Especially for stateless applica/ons or a micro-­‐service architecture • Complex cluster deployments, stateful applica/ons or databases, are harder to achieve – You may need to roll your own solu/on or integrate with another technology • Docker Next Steps: Programs and IR&D – Security Tes/ng & Recommenda/ons – Service Discovery (Consul, Fleet, Kubernetes, Mesos, Helios, Centurion, libswarm, etc.) – Data Persistent Pacerns (Data Lake, Shared Volumes, etc.)
  • 38. 38 Contact Informa/on Andrew Aslinger Senior Systems Architect OpenWhere aaslinger@openwhere.com @aaa572 hpp://owaaa.github.io/ Andrew Heifetz Chief Cloud Officer OpenWhere aheifetz@openwhere.com @andyheifetz hpp://www.linkedin.com/pub/andrew-­‐heifetz Cell: 240-­‐481-­‐7442