Containers for Dummies

Issue link: https://insights.oneneck.com/i/1293607

Contents of this Issue


Page 18 of 76

CHAPTER 2 The Benefits of Application Containerization 15 These materials are © 2017 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited. Resource Efficiency In Chapter 1, I provide a diagram of how containers can improve overall hardware utilization. This is an element of the technol- ogy that can't be overstated. Even with the gains that have been made with hardware efficiency under traditional virtualization methods, there's still a lot of room to improve. Typical virtual machines run at very low utilization and, worse, are often over- sized by administrators. Oversizing virtual machines uses up resources that could go to other workloads that need it and can also result in the business overspending on hardware. And, again, every virtual machine needs its own operating sys- tem. All this redundancy leads to a lot of inefficiency. By moving abstraction from the hardware level (virtual machine) to the software level (operating system), containers make it pos- sible to cram far more workloads onto far less hardware as com- pared with traditional approaches. Less hardware means less cost overall. Workload Portability On a virtual machine, moving workloads from place to place requires some time because you're also carrying a full operating system (OS) along with it. Plus, unless you're using some kind of a translation tool, you need to have the same hypervisor running on both sides of a migration process. However, by abstracting inside the OS, as you shift workloads from place to place, you're only taking exactly what that workload needs to operate, and the hypervisor doesn't really matter. (Of course, the container engine, which drives the container environment and which I discuss in more detail shortly, does matter in this case.) This smaller chunk of data means that you can move workloads far more quickly than before. Plus, thanks to the way that abstrac- tion happens in a container world, you effectively get a "package once, run anywhere" deployment process. This portability enables developers to move from dev, test, staging, and into production and avoid the dreaded "Well, it runs on my machine" issues that can plague troubleshooting efforts. IT operations teams can move workloads across environments with ease.

Articles in this issue

Archives of this issue

view archives of eBooks/eGuides - Containers for Dummies