The Doppler Quarterly Winter 2016 | Page 38

standard called Rocket, and many standards and products are being built around these technologies. Don’t let containers scare you. This kind of approach is nothing new—contain- ers have been used for years as an approach to componentize whole systems, abstracting them from the physical platform, allowing you to move them around from platform to platform (or cloud to cloud). Let’s focus on Docker for now. The Linux kernel, which is in the container, allows for resource isolation (CPU, memory, I/O, network, and so on) and doesn’t require starting any virtual machines. Docker extends a common con- tainer format called Linux Containers (LXC), with a high-level API that provides a lightweight virtualization solution that runs processes in isolation. Docker also provides namespaces to completely isolate an application’s view of the operating environment, including process trees, network, user IDs, and file systems. The use of this technology is rather exciting, considering it solves an obvious and expansive problem: How to p