2/20/19

Week #7's Wednesday Evening Training: Real world Docker for developers, part 2

Fast and easy scaling is very important nowadays. You need to respond fast to increasing load and you may want to downscale when possible, decreasing running costs. Virtualization is an effective approach to this. Applying virtualization, you actually use your bare metal infrastructure as Host Machines to run software applications (Virtual Machines) that emulate physical machines (Guest Machines). Virtual Machines use Images (files) of completely installed and configured machines (OS and the applications you want to use) to start a Guest Machine. The Virtual Machines themselves are managed (start/pause/resume/stop/...) by so called Hypervisors. Virtualization drastically increases the speed and ease in which you can scale your server infrastructure, but the required emulation and big image files poses a rather expensive overhead.



Containerization

In Containerization, like Docker does, software (the applications you want to use) is not emulated, but is run directly on the hard hardware of the host machine in separate Container Runtimes (in short: Containers). Container Runtimes are based on Docker images which contain definitions of the software and configuration you want to run in your Container Runtimes. This Containerization approach decreases the overhead drastically compared to Virtualization, increasing the advantage of fast and easy scaling.

This evenings' topics

This Wednesday Evening Training, we continued our exploration of Docker with a deep dive into the Docker technology. Two of our Docker champions, Tim Schadenberg and Robert Swier, gave us an excellent explanation on various Docker topics and on containerization in general. 

On security, for example, the Container Breakout Vulnerability was also discussed. This vulnerability allows a malicious container to gain root-level code execution on the host. We also discussed software deployment strategies using containers, managing containers and using containers combined with Kubernetes (container orchestration) in a microservice architecture.
Since the handson labs were based on Java Spring Boot our .NET colleagues got an intro on this as a bonus :).

An excellent Wednesday Evening Training with a lot of content, a lot of discussion and much to little time! All the more reason to organize a follow-up session quickly!

Thanks Tim & Robert, for sharing your knowledge and experience with us!




Further reading

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

Docker (official website): https://www.docker.com
Docker (software), a nice intro on Wikipedia: https://en.wikipedia.org/wiki/Docker_(software)
Play with Docker classroom: https://training.play-with-docker.com/
Play with Docker classroom (specific topics): https://training.play-with-docker.com/alacart
Play with Docker - A simple, interactive and fun playground to learn Docker: https://labs.play-with-docker.com/
Bart van Beek's Docker examples (GitHub repo): https://github.com/babeek94122/wet-demo-docker
Deploy on Kubernetes: https://docs.docker.com/docker-for-mac/kubernetes/
Virtualization: https://en.wikipedia.org/wiki/Virtualization
Example Docker Compose app: https://github.com/dockersamples/example-voting-app

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an email. Working for us gives you access to all Wednesday Evening Trainings!

No comments:

Post a Comment