"Scale" happens along 3 different aspects: (1) applications and their services scale up and down leading to (2) the infrastructure scaling up to meet the needs of the applications, and finally (3) sites scale across multiple locations, including movement to public cloud. In this session, we will talk about how Docker EE scales along all three of these dimensions to give you a consistent platform for running your applications:
1. At the application level: how do you manage application state & health along with resource and security constraints to scale containers up and down up in a controlled fashion?
2. The infrastructure level: as your application estate grows on the Docker EE platform you will need to scale across more nodes. How do automate the provisioning of these new nodes and how do you integrate the Docker EE platform layer with your existing infrastructure systems and tools.
3. Finally, we'll talk about distributed scale: how do you take what works for applications in one data center and spread it across multiple sites, in an integrated fashion so you can operate seamlessly?
4. • Design for failure
• Leverage Docker Certified Infrastructure
• Prioritize centralized logging and metric
collection
Architectural Considerations
5. Single Logically Separated Cluster
Node
Worker
Node
Worker
Node
Worker
Node
Worker
swarm mode cluster
Node
Worker
Node
Worker
.NET Dev Team
Using Swarm
Java Dev Team
using K8s
Java Dev Team
Using Swarm
Ops Team
DOCKER ENTERPRISE
EDITION
6. Production Environments
Docker Trusted Registry
Docker UCP
Production Environments
Version Control
Docker UCP
Non-Production EnvironmentsDeveloper Machine
Development CI/CD Operations
Datacenter 1
Datacenter 2
Docker Trusted Registry
Docker for
Clusters by Lifecycle
7. Multi-region DR
West East
CI Agent
$ eval $(<env.sh) … east
$ docker run
$ docker service
$ docker-compose up
m
yapp
v1.0
8. Multi-region DR
West East
CI Agent
$ eval $(<env.sh) … west
$ docker run
$ docker service
$ docker-compose up
myapp v1.0
12. Cluster Upgrade
foo.example.com (1.0) foo.example.com (1.1)
Maintenance can be performed on blue, or rollback
PRODUCTION 0% Traffic PRODUCTION 100% Traffic
14. Node Sizing
Manager Nodes Worker Nodes
• CPU: 4 vCPU
• Memory: 16GB
• Disk: SSD for /var/lib/docker
• Support 100s of worker nodes
• 3 or 5 managers is preferred
• Depends on application workloads
• If migrating there will be less
overhead from OS
• Leave headroom for rescheduling
events
• Run under load and test
15. • Don’t schedule workloads on manager nodes
• Deploy to nodes that fit app profiles
• Constrain resources
• Use Kubernetes namespaces in environments
with multiple users and teams
Orchestration
16. • Stateless applications scale the best
• Scale applications with any orchestrator
• Adjust replica count in Kubernetes and Swarm
• Understand the metrics by which to scale
Scaling Applications
18. Built on a solid foundation
1966
Founded in
Michigan
World’s most technologically advanced
manufacturing solutions provider
37
Million square feet of
Manufacturing space
100+
Sites in
29+ Countries
Tenured Management Team
180K Dedicated Employees
19. Over 100 sites in 29 countries
Our Markets
Automation FluidicsAcoustics Dynamic
Tuning
Emerging
Markets
Human
Machine
Interface
Adhesives IoT IT Cyber
Security
Additive
Manufacturing
Advanced
Assembly
Intelligent
Digital
Supply
Chain
Experience
Design
Mechanical
Engineering
Human
Factors
Research
&
Strategy
Materials
Technology
Miniaturization Optical
Communications
&
Networking
Smart
Clothing
Optics Power
Engineering
Precision
Injection
Mold Tooling
Precision
Mechanics
Printed
Electronics
Sensors Test
Engineering
Value
Engineering
Wireless
Connectivity
Industrial
Design
UI/UX Electrical
Engineering /
Firmware
Software
Development
Innovation Fuel: Engineering Excellence
20.
21. Our journey from Docker CE to EE
• CE 1.13 and upgraded to 17.06.0-ce
• 9 node cluster [ 5 manager + 4 worker nodes]
• DFP – HAProxy + custom logic provides on-demand reconfiguration
• GlusterFS for storage [ 3 clustered servers ]
• Standalone registry server & Portus as web frontend
• Portainer – Management solution for Docker
• Prometheus – Monitoring
Getting
Started
First
Project
Scale Innovate
27. v
Shop Floor Solutions – Malaysia, Vietnam, Singapore, China, India, Italy
Docker – Shop Floor Solutions
Web Kiosk, E-TV RDP – Remote Desktop Protocol
$450 savings per station in hardware costs
($500 vs $50)
$200 savings per station in hardware costs
($250 vs $50)
Lower energy usage per device
(51.84 kwh v/s 4.32kwh per month)
Lobby, Cafeteria, PCC Stations, PLSD
(~1000)
Lower energy usage per device
(11.51 kwh v/s 4.32kwh per month)
Replaces Thin Clients
(~20,000)
Highly scalable + Automated Pi update system that is productionized
Alternate technologies lowering costs and easier to deploy
“Pi wouldn’t have happened without Docker” … Eric Kerin
194 Pi’s
&
growing
28. Azure Scale/Availability Set
FD 0 FD 1
DTR01
UD0
DTR02
UD1
DTR03
UD2
availabilityset-dtr
DTR04
UD3
DTR05
UD4
Scale Set Availability Set
Identical VM’s Not necessary to be identical VM’s
Unpredictable workload Predictable workload