Docker + MongoDB

Published on December 2016 | Categories: Documents | Downloads: 62 | Comments: 0 | Views: 700
of 28
Download PDF   Embed   Report

In this talk try to answer some basic questions- What is Docker & why is it important to a Developers, Admins & DevOps- Using Docker to Orchestrate a multi container application (Flask + MongoDB)- Inject HAProxy & other production requirement as we deploy to production- Scale the Web and MongoDB cluster to grow to meet demandThis is going to be a interactive demo, using the core Docker components (Machine, Engine, Swarm & Compose) and will showcase some of the cool new components (libnetowrk, runC) from the experimental branch. I hope you will see how simpler Docker can make building and deploying multi-node applications.

Comments

Content

Docker + MongoDB
Alvin Richards, Enterprise Products Lead
Wifi: heavbitguest
Pw: guestbit

Part One – What is Docker?

The Docker Mission
Build
 

Ship
 
Distributed
 Applica4ons
 

Anywhere
 

3

Run
 

Docker Mission – Make the Internet Programmable
Solu4ons
 
Docker
Trusted
Registry

Build
 

Project
"Orca"

Run
 

Ship
 

Swarm
Machine

Pla=orm
 

Compose
Distribution

RunC

Engine

Plumbing
 
Notary

Open
 Standards
 
Container run-time spec
4

Image spec

Open Container Project (OCP)
Coalition of industry leaders join forces to eliminate fragmentation
•  Form a vendor-neutral, open source governance model under the Linux
Foundation
•  Establish common standards for container format and runtime
•  Docker donated its container format, runtime and associated specifications
•  Appoint maintainers for the libcontainer project (Docker, Red Hat, Google
h"p://www.opencontainers.org/
 

5

Docker Platform


 
 
 
 
 
 Networking
 
 

 
 
 
 
 
 Plugins
 

 
 
 
 
 
 Orchestra9on
 
6

Networking
Transform Networking as Docker Transformed Compute
•  Distributed application portability
•  For Devs: SDN for Docker containers
–  Re-architected network stack with libnetwork
–  Consistent dev experience with Docker CLI
–  Multi-container networking

•  For Ops: Operator defined and managed network infrastructure
–  Multi-host networking
–  Plug in support from range of providers
7

Networking
Before
 

A=er
 

•  Inflexible
•  Single host
•  Limited to one network

X

8

• 
• 
• 
• 

Container SDN
Distributed networking
Portable across networks
Plug ins to broad ecosystem

Plugins
Pluggable Architecture to extend Docker functionality
•  Introducing Networking and Volume plugins
•  For Users: Portability and choice for developers and ops
•  For Partners: Easily integrate and access Docker users
•  Collaboration with Cluster HQ, Glider Labs, Weave
Docker client

Docker
 Engine
 

Plug
 ins
 

>
 docker
 
Networking

Volumes

9

Orchestration Across the App Lifecycle


 
 
 
 
 
 Docker
 Machine
 
 

 
 
 
 
 
 Docker
 Swarm
 

 
 
 
 
 
 Docker
 Compose
 
10

Docker Compose and Swarm
• 
• 
• 
• 

Consistent developer experience with flexible Swarm backends
Integrated with Docker Networking
Mesos backend beta available
Amazon ECS backend collaboration WIP
Docker client

docker
 

11

Coming Soon!

Running Docker in Production

Three
 Key
 Use
 Cases
 
Produc9on
 Requirements
 
Commercial
 Availability
 
12

Continuous Integration and Delivery
1.
 Development
 

2.
 Test
 

3.
 Stage
 /
 Produc9on
 

Version
 
control
 

Sysadmin
 

Video from DockerCon

Developer
 
QA
 /
 QE
 
13

Containers as a Service
Developer
 

Sysadmin
 
DevOps
 

Tomcat
MongoDB

Deployment
 

Jenkins

Video from DockerCon

Data Processing Pipelines
Data Scientist

$ docker

SysAdmins
DBAs

Data Nodes

Video from DockerCon

Docker Enterprise Solutions
Commercial Subscruption
Server or Cloud Hosted Registry
or
Docker Trusted
Registry

Stable
 

16

Docker Hub

Docker Engine

Secure
 

Responsive
 

Get it here!

Part Two – Build an App with
Docker & MongoDB

18

Lets build an App!

web
 

mongodb
 

Development
19

python / flask

Lets roll the App to Production behind HA Proxy
HA
 Proxy
 

web
 

web1
 

mongodb
 

mongodb
 

Development
20

Production

Lets scale the web tier
HA
 Proxy
 

web
 

web1
 

mongodb
 

mongodb
 

Development
21

Production

web2
 

web3
 

web4
 



webN
 

Lets deploy a sharded cluster
HA
 Proxy
 

web
 

mongodb
 

Development
22

web1
 

mongodb
 

Production

web2
 

web3
 

web4
 



webN
 
cfg3
 
cfg2
 
cfg1
 

mongos
 
rs1a
 

rs2a
 

rs1b
 

rs2b
 

rs1c
 

rs2c
 

Lets move the endpoint to the new cluster
HA
 Proxy
 

web
 

web1
 

web2
 

web3
 

web4
 

X
mongodb
 

Development
23

mongodb
 

Production



webN
 
cfg3
 
cfg2
 
cfg1
 

mongos
 
rs1a
 

rs2a
 

rs1b
 

rs2b
 

rs1c
 

rs2c
 

Lets move the endpoint to the new cluster
HA
 Proxy
 

web
 

mongodb
 

Development
24

web1
 

mongodb
 

Production

web2
 

web3
 

web4
 



webN
 
cfg3
 
cfg2
 
cfg1
 

mongos
 
rs1a
 

rs2a
 

rs1b
 

rs2b
 

rs1c
 

rs2c
 

Demo!

25

Summary
One
 solu9on
 from
 Dev
 -­‐>
 Produc9on
 
• Define
 Container,
 their
 contents
 and
 how
 they
 work
 together
 once
 
• Deploy
 the
 same
 images
 in
 Dev,
 Pre-­‐Prod
 and
 Produc9on
 across
 
PlaYorms
 
Running
 Docker
 &
 MongoDB
 in
 Produc9on
 
• Ops
 define
 the
 whitelisted
 images,
 security
 policies
 etc.
 
• Dev
 use
 approved
 images
 to
 build
 upon
 
• Eliminate
 the
 complexity
 (and
 cost)
 of
 deployment
 
26

Thanks and Q&A
•  Code
–  https://github.com/alvinr/docker-demo/tree/master/dockercon15demo

•  [email protected]
•  @jonnyeight

27

MongoDB Days 2015
October
 6,
 2015
 
October
 20,
 2015
 
 
November
 5,
 2015
 
December
 2,
 2015
 

France
 
Germany
 
 
UK
 
Silicon
 Valley
 

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close