Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Derby DevOps Meetup - November 7, 2017
1. Derby DevOps Meetup
Docker Containers, Microservices, Hands on Labs (11/7/2017)
Matt Bentley, Senior Solutions Engineer
Docker, Inc
2. Agenda
• Docker Basics
• Why Docker Containers?
• Development with Docker
• End to end CaaS Workflow
• Hands on Labs
• DockerCon Europe 2017 Recap
• Q&A
4. 4
Some Docker vocabulary
Docker Image
The basis of a Docker container. Represents a full application
Docker Container
The standard unit in which the application service resides and executes
Docker Engine
Creates, ships and runs Docker containers deployable on a physical or
virtual, host locally, in a datacenter or cloud service provider
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for your images
5. 5
Docker File System
• Logical file system by grouping different file system primitives into
branches (directories, file systems, subvolumes, snapshots)
• Each branch represents a layer in a Docker image
• Allows images to be constructed / deconstructed as needed vs. a huge
monolithic image (ala traditional virtual machines)
• When a container is started a writeable layer is added to the “top” of the
file system
6. 6
Copy on Write
Super efficient:
• Sub second instantiation times for containers
• New container can take <1 Mb of space
Containers appears to be a copy of the original image
But, it is really just a link to the original shared image
If someone writes a change to the file system, a copy of the affected
file/directory is “copied up”
7. 7
Build Efficient, Reusable Images
• Utilize a hierarchical order of images
ubuntu
java
grails tomcat
appA appB
nginx nodejs
appA appB
8. Dockerfile – Linux Example
8
• Instructions on
how to build a
Docker image
• Looks very similar
to “native”
commands
• Important to
optimize your
Dockerfile
10. 10
What about data persistence?
• Volumes allow you to specify a directory in the container that exists outside of the
docker file system structure
• Can be used to share (and persist) data between containers
• Directory persists after the container is deleted
• Unless you explicitly delete it
• Can be created in a Dockerfile or via CLI
11. Docker Platform - The Vehicle for Modernization
Step 1:
Consolidate
Save money via consolidation
of VMs
Or
cut out VM tax by running
Docker directly on baremetal
Step 2:
Refresh Infra
Containers on modern
infrastructure via Docker and
run on Synergy
Step 3:
Enable Hybrid IT
Utilize portability of Dockerized
apps to enable Hybrid IT strategy
Bare Metal
● Single app running on
bare metal
● Average 15% utilization
of infrastructure
Virtualization
● No multiple apps per
server
● VM sprawl leads to
same 15-20% utilization
Containerization
● Containers run within
VMs
● 50% consolidation of
VMs
APP
1960s Bare Metal
Servers Introduced 1999 VMware virtualization
2013 Docker
containers
13. Docker
Platform
Specific
Platform
Independent
Comparing OS Architectures
Linux Control Groups
cgroups
Namespaces
Pid, net, ipc, mnt, uts
Layer Capabilities
Union Filesystems: AUFS,
btrfs, vfs,
zfs*,DeviceMapper
Other OS
Functionality
Containerd + runC
Docker Engine
REST Interface
libcontainerd graphlibnetwork plugins
Windows Control Groups
Job objects
Namespaces
Object Namespace,
Process Table, Networking
Layer Capabilities
Registry, Union like
filesystem extensions
Other OS
Functionality
Compute Services
Docker Client Docker SwarmDocker Compose Docker Registry
15. Image RegistrySecurity scan
& sign
Traditional
Third Party
Microservices
docker store
DEVELOPERS IT OPERATIONS
Control
Plane
Docker EE CaaS for MTA
And Beyond
16. Modernize Traditional
Applications (MTA)
Fast
Accelerate deployment
by 75%
Deploy 13x more often
Scale in seconds
Modernize Traditional Applications: Customer Benefits
Portable
Port legacy apps across
hybrid infrastructure
Enable Hybrid or Multi-
Cloud strategies
No change to app code
Efficient
Reduce total costs by
40-60%.
Consolidate VMs by
50%
Increase CPU
performance by ~47%.
Secure
Secure apps across
hybrid IT for compliance
Reduce attack surface
area of legacy apps
17. One platform delivers one journey for all applications
1 Containerize Legacy Applications
Lift and shift for portability and efficiency
2
3
Transform Legacy to Microservices
Look for shared services to transform
Accelerate New Applications
Greenfield innovation
19. Docker for Mac and Windows
• Utilize native hypervisor capabilities (xhyve & Hyper-V) to run Docker
• Provide seamless local experience
• Windows 10 and macOS El Capitan 10.11 and above supported
• Docker Toolbox still available for unsupported platforms
• Build and Test using same bits as deployed to production
20. IDE Integration
• Visual Studio 2017
• Provide native integrations with Docker for building and running
applications
• Build, run, and publish
• Java
• IntelliJ, Netbeans, Eclipse
• Node.js
33. Docker Enterprise Edition
Docker Community Edition
Docker Daemon
1
2
3
4
The best container
development workflow
The best enterprise
container security and
management
Native Kubernetes
integration provides
full ecosystem
compatibility Industry-standard
container runtime
Docker with Swarm and Kubernetes
34. Test locally on Swarm
and Kubernetes
Develop with Docker
Community Edition
on your workstation
Deploy to production
in Swarm
Deploy to production
in Kubernetes
Docker Community Edition
All in one development for Swarm and Kubernetes
36. Expanding the Docker + IBM
Partnership
IBM software
available on
Docker Store
Docker EE on
IBM Cloud
MTA with IBM
Global Services,
IBM Cloud and
IBM Watson
37. Announcing IBM Software
in the Docker Store
is
WebSphere MQ Gateway
WebSphere Liberty
DB2 Developer C
DB2 Warehouse
41. Innovate at Your PacePoC First Apps in Production Production at Scale
Application
Deploy to Cloud
Microservices Serverless Other
Maintain Only Refactor Augment
Innovate at Your PacePoC First Apps in Production Production at Scale
Application
Deploy to Cloud
Microservices Serverless Other
Maintain Only Refactor Augment
42. Traditional
Micro
services
ISV / COTS IoT
Big Data
ML
AI
...Serverless
Cloud VM Bare
Metal
Edge
Device
Docker Platform
Traditional
Micro
services
ISV / COTS IoT
Big Data
ML
AI
...Serverless
Cloud VM Bare
Metal
Edge
Device
Docker Platform