docker festival - dreaming about docker
TRANSCRIPT
![Page 1: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/1.jpg)
Docker FestivalDreaming about Docker
Lucas van Lierop Matthias Noback@lucasvanlierop @matthiasnoback
#dockerfestival
![Page 2: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/2.jpg)
Program for today
09:30 Introduction
10:00 Workshop
12:45 Lunch
13:45 Best Practices
14:15 Workshop
16:15 Share results
![Page 3: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/3.jpg)
The container revolution; why is it so good?
![Page 4: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/4.jpg)
Self-contained deployable units
Application code, configuration and dependencies, all-in-one
Instead of:
● (Manually) pre-configured server● Pulling code changes
![Page 5: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/5.jpg)
Image-based deployments
No build steps on the production server
Instead of:
● Building the software on the production server● Non-deterministic builds
![Page 6: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/6.jpg)
Limited abilities
Containers run in isolated environments
Instead of:
● Processes that implicitly have access to everything on the machine
![Page 7: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/7.jpg)
Scheduling
Built-in resource management, rebalancing, scaling (even within one host)
Instead of:
● Custom tooling (Marathon, DC/OS, Consul)
![Page 8: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/8.jpg)
What the container revolution encourages
![Page 9: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/9.jpg)
Single Responsibility Principle
Focus on limited responsibilities per container/service.
![Page 10: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/10.jpg)
Open/Closed Principle
Modify the behavior of a container by configuration through environment variables and secrets.
![Page 11: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/11.jpg)
Architecture considerations
Focus on clear specifications for how the service is connected to its surroundings.
http://alistair.cockburn.us/Hexagonal+architecture
![Page 12: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/12.jpg)
Focus on "everything in a box"
Self-contained, explicit, no loose ends.
https://12factor.net/
![Page 13: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/13.jpg)
No attachment to servers
● No manual actions on the server● Provisioning fully automated● Pets vs kettle● Destroyable and recreatable infrastructure
![Page 14: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/14.jpg)
What the container revolution enables
![Page 15: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/15.jpg)
Continuous delivery
Container image: an actual build artifact
![Page 16: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/16.jpg)
Polyglot programming
● Code● Persistence
![Page 17: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/17.jpg)
Scaling of software units
Number of instances (horizontal scaling) versus the power of one instance (vertical scaling)
![Page 18: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/18.jpg)
Scaling for organizational units
Number of teams, number of projects (horizontal scaling)
![Page 19: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/19.jpg)
Monolithic and service-oriented development side-to-side
Containers encapsulate internal technologies; combine multiple programming models and paradigms in one system.
![Page 20: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/20.jpg)
What it requires
What it requires
What it enables
![Page 21: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/21.jpg)
Operations skills
Configuration, server management, monitoring, emergencies, recovery
![Page 22: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/22.jpg)
Knowledge
About technologies used
![Page 23: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/23.jpg)
Shared responsibility
Writing the code, and make it run in production (and keep it running).
![Page 24: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/24.jpg)
Long story short: DevOps culture
![Page 25: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/25.jpg)
DDD, BDD
Operations
UX, Design
![Page 26: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/26.jpg)
Let’s get started
![Page 27: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/27.jpg)
In the morning: two options
- Docker Introduction (Docker Engine, Compose, Machine, Swarm)- Your Next Step
![Page 28: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/28.jpg)
Different stages of using Docker
1. Side project2. Development environment (e.g. instead of Vagrant)3. For Continuous Integration (CI) (stable CI environment)4. Deployment to a staging and/or production environment5. Images as build artefacts in a pipeline for Continuous Delivery6. Improve resilience of containers in a production environment
![Page 29: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/29.jpg)
Use this day to take the next step
![Page 30: Docker Festival - Dreaming about Docker](https://reader033.vdocuments.net/reader033/viewer/2022052606/5a6512e87f8b9af3398b53f3/html5/thumbnails/30.jpg)
Time flies Pick small tasks, create issues
Check every half hour: am I still on track?
Share useful snippets, articles, etc.
Celebrate and share success
https://github.com/lucasvanlierop/docker-festival-workshop