4. NVISIA - Confidential and Proprietary
Static
Website
? ? ? ? ? ? ? ?
Web
Frontend
? ? ? ? ? ? ? ?
Background
Workers
? ? ? ? ? ? ? ?
User DB ? ? ? ? ? ? ? ?
Analytics DB ? ? ? ? ? ? ? ?
Queue ? ? ? ? ? ? ? ?
Desktop Test/QA
Cluster
Production
Cluster
Public
Cloud
Data
Center
Mainframe Windows
Server
Edge
Device
Increasingly complex software supply chain
5. Static Website ? ? ? ? ? ? ?
Web Frontend ? ? ? ? ? ? ?
Background
Workers
? ? ? ? ? ? ?
User DB ? ? ? ? ? ? ?
Analytics DB ? ? ? ? ? ? ?
Queue ? ? ? ? ? ? ?
Desktop Test/QA
Cluster
Production
Cluster
Public
Cloud
Data
Center
Mainframe Windows
Server
Edge
Device
Standard packaging and deployment
6. 6
Evolution of IT toward containers
Proprietary hardware to x86
commodity servers
Unix to Linux migrations
90s—Unix to Linux
Commodity
• VMs are an infrastructure level
construct to turn one machine
into many servers
1999—VMware virtualization
Virtualization
App A
Bins/Libs
Guest OS
App B
Bins/Libs
Guest OS
App C
Bins/Libs
Guest OS
VM
Hypervisor
Infrastructure
Hypervisor
Infrastructure
App A
Bins/Libs
Docker
App B
Bins/Libs
Guest OS
App C
Bins/Libs
Docker
Guest OS
App D
Bins/Libs
Guest OS
- Containers are an app level construct
- Standardized packaging & shared
dependencies
- Infrastructure independent
Today—Docker containers
Containerization
7. NVISIA - Confidential and Proprietary
What are containers?
A container wraps up a piece of software
in a complete filesystem that contains
everything it needs to run: code,
runtime, system tools, system libraries –
anything you can install on a server.
By encapsulating and isolating
everything in a container, this
guarantees that the container will
always run the same, regardless of the
environment it is running in.
9. NVISIA - Confidential and Proprietary
Where did containers come from?
1979 — chroot
2000 — FreeBSD Jails
2001 — Linux VServer
2004 — Solaris Containers
2005 — OpenVZ
2006 — Process Containers
2007 — Control Groups
2008 — LXC
2013 — LMCTFY > libcontainer
2013 — Docker (LXC > libcontainer/runC OCI)
2014 – CoreOs Rocket (Pushes OCI)
2016 – Windows Containers
10. NVISIA - Confidential and Proprietary
2017 Docker’s open ecosystem –
powered by the Moby project
containerd
runC
LinuxKit
Notary
Compose
Swarnkit
libnetwork
Hyperkit
vpnkit
Datakit
infrakit
11. NVISIA - Confidential and Proprietary
Docker community numbers
More than 14M Docker hosts
More than 900K Docker apps
77,000% growth in Docker job listings
More than 12B++ image pulls
More than 3,300 contributors
More than 280 cities hold Docker meetups, which accounts for more than 170K
members worldwide
Tax Day Stat: More than 25M tax returns are running through Docker on Intuit
* Dockercon March 2017
12. NVISIA - Confidential and Proprietary
Summing it up…
What are containers?
• Technology has been evolving for 18 years
• Open source, community developed technology –
3500+ contributors
• Bundle an application and all of its dependencies
• Run multiple containerized application on the same
host with secure isolation
• Like virtual machines (VMs), but better. …and they
can run on VMs
13. NVISIA - Confidential and Proprietary
What is orchestration?
Purpose
Clusters of nodes for scaling and high-availability
Support multiple containers across multiple hosts
Deploy (isolated) stacks of microservices
Main concerns
Scheduling (Where, how many and container health)
Networking
Security
Volume management
14. Swarm or Kubernetes? …both?
Enterprise
Applications +
SOA
Web Apps/
12-factor
Microservices
SWARM KUBERNETES
DOCKER ENTERPRISE EDITION
• Open Source
• Built by Google, based
on Borg
• Numerous components
needed
• Widest market adoption
• Linux containers only
(Windows in 2018)
• Designed and built by Docker
• Simple, comprehensive
architecture
• Included in Docker Engine
• Integrates with Docker
Compose and Docker CLI
• Supports Windows and Linux
containers
15. NVISIA - Confidential and Proprietary
Why use containers?
• Start fast! A million plus prebuilt images
to use and learn from
• Scale modern architectures anywhere!
Manage and secure distributed, polyglot
service stacks in cloud and on-prem.
• Reduce cost! ~50% reduction in
operational cost of traditional monolithic
web applications
16. Support for innovation, speed and savings
+ +Agility Portability Control
State of App development Survey: Q1 2016, Cornell University case study
13XMore software releases
62%Report reduction in MTTR
10XCost reduction in maintaining
existing applications
Eliminate
“works on my machine”
issues
41%Move workloads across
private/public clouds
65%Reduction in developer
onboarding time
17. NVISIA - Confidential and Proprietary
Who is using containers?
Q: How would you describe your organization’s use of containers?
18. NVISIA - Confidential and Proprietary
What are containers good for?
• Linux or Windows (non-GUI) targeted apps
• Hybrid cloud app migration
• Application platform modernization
• Container-first strategy
• Need a managed serverless foundation
• Cloud portable ML & AI workloads – cutting edge
21. NVISIA - Confidential and Proprietary
Deploy a “stack” of containers
Demo Repo
https://github.com/microservices-demo
22. Part 2
The “how” for enterprise adoption…
The tough, but rewarding stuff!
23. NVISIA - Confidential and Proprietary
Typical bottom-up pressure
• Containers bubble up to support:
• Developer POC – No install stacks that work
• Microservice architecture
• Manage, monitor and secure microservice applications
• Faster release cycles
• Application testing
• Run end-2-end test locally
• Easily plug into CI/CD pipeline
WARNING
• Watch out for snowflakes! Early, isolated implementation often don’t reflect the latest best practices
• Watch out vendor lock-in! Lots of “easy” traps to fall into.
24. Top-down adoption pressure
Due to operational demands of increasingly disparate IT infrastructure.
EightIT Spend
z System
Innovation
20%
80%Maintenance
Average number of on-prem platforms (4.4)
and public clouds (3.6) organizations are
actively running or experimenting with
OTHER PUBLIC
CLOUDS
Sources: IDC “The Cost of Retaining Aging IT Infrastructure”, RightScale 2017 State of the Cloud Report
25. NVISIA - Confidential and Proprietary
Top-down use cases for containers
• Accelerate the delivery of new applications
• Manage and deploy highly distributed applicationsMicroservices
• Better software faster!
• Continuous Integration / Continuous Delivery
• Allow Dev and Ops to work together without conflict or disruption
DevOps
• Move full apps across public/private clouds without recoding
• Accelerate migration to cloud and enable a hybrid or multi cloud environment.
• Move from cloud to cloud or back on-prem
Cloud Adoption
(portability)
• Reduce cost 40%-60%, Consolidate VMs 50%-70%
• Port legacy apps across hybrid infrastructure
• Move applications from EOL OS (Win 2003, 2008, RHEL 5)
• Increase CPU performance , Scale apps faster, No change to code
Modernize Traditional
Applications (MTA)
26. NVISIA - Confidential and Proprietary
Cloud Adoption
(portability)
• Move full apps across public/private clouds without recoding
• Accelerate migration to cloud and enable a hybrid or multi cloud environment.
Container-first strategy
• Reduce cost 40%-60%, Consolidate VMs 50%-70%
• Port legacy apps across hybrid infrastructure
• Move applications from EOL OS (Win 2003, 2008, RHEL 5)
• Increase CPU performance , Scale apps faster, No change to code
More Efficient and Run Anywhere
Easier to Maintain
More Efficient Operations
No Cloud Vendor Lock-in
Modernize Traditional
Applications (MTA)
27. NVISIA - Confidential and Proprietary
PoC
Pilot
Deployment
Production
Deployment
Production
@Scale
Manage &
Maintain
Enterprise Container Adoption Life Cycle
Pick the right app
Pick the right team
Train on best practices
Containerize App
PoC Versioning and SCC
PoC Build & Deploy
Operationalize
Deployment
CI/CD w/Containers
Orchestration - Stacks
SLAs
Image Repos
Base Image Hierarchy
RBAC Non-Prod Cluster
Production Cluster Prep
Load test
Secure pipeline
Secure, Sign Images
Runtime policy enforcement
Prod Alerting/Monitoring
RBAC Prod Cluster Access
28. NVISIA - Confidential and Proprietary
Enterprise Container
Readiness
Application
Software
Pipeline
Container
Platform
Container
Governance
For
Microservices
For
Modernization
For
CI/CD Pipelines
DevOps
For
Cloud
Migration
Enterprise Container
Adoption Considerations
Explore the impact of containers on key
software related workstreams including:
• App Dev
• Software Pipelines
• Container Platforms
• Governance
Include representatives from:
- Enterprise architecture
- Application Development
- DevOps
- Technical Operations
- Software Governance/Compliance
GOAL: Adoption Plan & Roadmap
29. NVISIA - Confidential and Proprietary
Some links for your journey…
• Get started online – nothing to install!
https://training.play-with-docker.com/
https://kubernetes.io/docs/tutorials/
• Get professional – Docker Certified training
https://training.docker.com/provider/nvisia-technology-center
• Learn from the pros
https://success.docker.com/article/modernizing-traditional-dot-net-
applications
https://success.docker.com/article/certified-infrastructures-aws
https://success.docker.com/article/certified-infrastructures-vmware-
vsphere
30. NVISIA - Confidential and Proprietary
Explore: Docker Pilot +
Production Readiness
Explore the impact of containers on key
software related work streams including:
App Dev, Software Pipelines, Container
Platforms and Governance
4-Hour workshop is led by a Docker expert
and typically includes representatives from:
- Enterprise architecture
- Application Development
- DevOps
- Technical Operations
- Software Governance/Compliance
Deliverable: High-level plan & Roadmap
Docker accredited advisor helps you to
discover your adoption path
NVISIA Tech Center’s Enterprise Container
Readiness Workshop
Application
Software
Pipeline
Container
Platform
Container
Governance
Microservices
Modernization
CI/CD Pipelines
DevOps
Cloud
Migration