how the hell do i run docker in production, and will it scale?
TRANSCRIPT
![Page 1: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/1.jpg)
Daniël van Gils @foldingbeauty [email protected]
www.cloud66.com
!
"
How the hell do I run Docker in Production?...
and will it scale?
![Page 2: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/2.jpg)
UXDevOps
Business
Developer Advocate
![Page 3: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/3.jpg)
Established in 2012
Build, deploy and maintain any application on any server, on the cloud provider of your choice or bring your own servers.
Running Docker in production for almost 1½ years for our customers.
We simplify DevOps.
Average of 4000+ servers.
![Page 4: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/4.jpg)
How the hell do I run Docker in Production?...
and will it scale?
Daniël van Gils @foldingbeauty [email protected]
www.cloud66.com
!
"
![Page 5: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/5.jpg)
![Page 6: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/6.jpg)
![Page 7: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/7.jpg)
NOISE
$docker run alpine echo 'hello world’
you don’t know what kind of skills you need
production
you know what kind of skill you need
you think you know your gained all the skills
but you don’t know
time
skill
s
![Page 8: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/8.jpg)
technology
#♥
NOISE
Minimal Lovable Service
![Page 9: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/9.jpg)
%
&
#
#1 the right container image
#2 containers in production
&&
![Page 10: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/10.jpg)
&
''
containers
& &&&&&
&
bin/libs
os
%
bin/libs bin/libs
(
)
*+
%
'server
os
bin/libs
)
,
''
cloud/VM
os
bin/libs
%
(
)
'os
bin/libs
![Page 11: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/11.jpg)
(
)
cloud/VM
%
(
)
*+
containers
%%)
server
dev
ops
ops
ops
dev dev,
![Page 12: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/12.jpg)
Containers need a smooth DevOps team
![Page 13: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/13.jpg)
- service
& containers
server cluster(s)'
image&#
&&
= code
= docker file
= docker engine
= platform
&
build
ship
deploy
![Page 14: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/14.jpg)
![Page 15: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/15.jpg)
%containerisation
(
)
*+
the containerisation machine
&&&
![Page 16: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/16.jpg)
(you can’t polish a turd
%
&
containerisation
)
*.
&&& =
![Page 17: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/17.jpg)
Keep Images Slim Stupid
dev » test » stage » production
#Minimal Lovable Service Image
![Page 18: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/18.jpg)
SMALL SECURE
SPEEDY / PERFORMANT STABLE
SET / IMMUTABLE
&#
Keep Images Small, Secure, Speedy, Stable and Set Stupid
![Page 19: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/19.jpg)
SMALL Start with the smallest minimal image you can find. Remove compile time dependencies. Remove packages you don’t need. Run stats for the image.
&#
“I didn't have time to create a slim image, so I created a fat one instead.”
![Page 20: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/20.jpg)
SMALL SECURE
PERFORMANT STABLE
IMMUTABLE
&#
![Page 21: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/21.jpg)
SECURE Remove all the secrets. Patch to the latest security updates. Run the image with the right UID. Test the image.
&#
![Page 22: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/22.jpg)
SMALL SECURE
PERFORMANT STABLE
IMMUTABLE
&#
![Page 23: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/23.jpg)
PERFORMANT Optimise code. Memory and cpu usage. One process. Load testing.
&#
![Page 24: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/24.jpg)
SMALL SECURE
PERFORMANT STABLE
IMMUTABLE
&#
![Page 25: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/25.jpg)
STABLE Lock the image version. Lock the runtime version(s). Tag your image. Proper logging. Image guideline for your team.
&#
![Page 26: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/26.jpg)
SMALL SECURE
PERFORMANT STABLE
IMMUTABLE
&#
![Page 27: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/27.jpg)
IMMUTABLE Use volumes wisely. Loosely coupled. Don’t use databases inside a image. Use external services for persistency.
&#
![Page 28: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/28.jpg)
dev » test » stage » production
#Minimal Lovable Service Image
Keep Images Small, Secure, Speedy, Stable and Set Stupid
![Page 29: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/29.jpg)
![Page 30: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/30.jpg)
-
&#
& 0
monolith containerisation ± 70 %
monolith 1x
monolith image FAT
![Page 31: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/31.jpg)
-
&#
&
0
API first containerisation ± 20%
&#
&api 1x
frontend 1x
image frontend FAT
image api FAT
![Page 32: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/32.jpg)
-
&#
&
0
splitting monolith containerisation ± 6%
&#api 6x
frontend 1x &#
&
workers 10x
&&&&&&&&&
image frontend FAT
image api THIN
image workers THIN
&&&&&&
![Page 33: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/33.jpg)
-
&#
10
&#A 6x
B 12x &#
&
C 10x
&&&&&&&&&
image B THIN
image A THIN
image C THIN
&&&&&&
microservice architecture ± 4%
&&&&&&&
&&&&&
message queue
![Page 34: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/34.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY
0
![Page 35: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/35.jpg)
DEV/OPS/DESIGN FLOW Have an image guideline. Create a workflow using the same image in all the software cycle stages. From design to production mimic the environment. Test heavily.
20
![Page 36: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/36.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY
3
![Page 37: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/37.jpg)
ORCHESTRATION Isolation of services. Make use of the resource available. Self healing. Load distribution. Adding nodes to your cluster.
23
![Page 38: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/38.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY
4
![Page 39: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/39.jpg)
DISCOVERY Find your services and datasources with minimal code change. Versioning of running services. Automagically update discovery when new services are online or scaled up/down.
24
![Page 40: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/40.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING/SCHEDULING DATA MANAGMENT MONITORING SECURITY
5
![Page 41: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/41.jpg)
SCALING/SCHEDULING Scale your containers. Scale your docker cluster. Scale your on/off jobs. Failover groups. Cross cloud clusters. Load balancing.
25
![Page 42: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/42.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY
![Page 43: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/43.jpg)
DATA MANAGEMENT Backup and restores. Clustering. Verify your backups. Run natively not in a container for non cloud native DBs.
2
![Page 44: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/44.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY
6
![Page 45: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/45.jpg)
MONITORING Get all the statistics of resources (mem/load/net/res) used. Aggregating of logs. Debugging your containers.
26
![Page 46: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/46.jpg)
DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING DATA MANAGMENT MONITORING SECURITY2
![Page 47: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/47.jpg)
SECURITY Intrusion detection and prevention systems. Denial of service protection. Firewalling. Failover groups. Segregate container groups VPC / bastion servers. Verification of images.
22
![Page 48: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/48.jpg)
SMALL SECURE PERFORMANT STABLEIMMUTABLE
&#DEV/OPS/DESIGN FLOW ORCHESTRATION DISCOVERY SCALING/SCHEDULING DATA MANAGMENT MONITORING SECURITY
%
MLI PLATFORM CONTAINERS AS A SERVICE
![Page 49: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/49.jpg)
When you get DevOps right, Microservices architecture right and creating the right minimal lovable Image and having the right platform to run containers. Ohh man, the future is bright and you don’t go to hell!
#
![Page 50: How the hell do I run Docker in production, and will it scale?](https://reader034.vdocuments.net/reader034/viewer/2022042723/58d0750b1a28abc9788b5763/html5/thumbnails/50.jpg)
www.cloud66.com blog.cloud66.com habitus.io startwithdocker.com
ready for your quest?
thank you
Daniël van Gils @foldingbeauty [email protected]
www.cloud66.com
!
"