More Related Content


Docker Festival - Dreaming about Docker

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