The Story of Containers
Have you ever heard computer people talk about containers as though the thought was something new and different. Well that is probably because for them, strangely enough it is!
Computers
As long as we’ve been using general purpose computers to process data, a computer has been a physical machines. In the early days they filled rooms and required lots of special things such as temperature controlled, clean rooms to function properly.
Now we’ve gotten to the point that they are on a chip that lives in your phone, on your credit card, or your wrist.
Virtual Machines
Since the turn of the century we’ve started to ever-increasingly hear about another type of computer, a virtual computer. Virtualization is a process of separating the various components that make up a computer (memory, storage, processors, etc) so they become sharable. With virtualization we can have multiple computers that all share a pool of resources.
With physical machines all of its resources are permanently allocated and that allocation can only change by upgrading the machine. Virtual machine operate more dynamically and can change their resource allocations as needed. This way when a virtual machine needs more of memory, it simply requests it, uses what it needs, and gives it back when it’s done with it so another machine can use it. No visit by an upgrade technician required!
Virtualization has done some fantastic things for managing large data centers and being able to provision new computers very quickly. However, whether you have physical or virtual machine you still get a single dedicated operating system and all the things that come with it. In most cases, starting one of these machines takes from a few minutes to a quarter of an hour.
Containers
Characteristics
- Lightweight
- Isolated
- Potentially Portable
Opportunities
- Create a Reference Implementaion of each Tech Stack
- Develop a matrix for qualifying enterprise applications for:
- Containers
- Cloud Deployment
- CD/CI could be a Pre-requisite
Comparitive Characteristics
| Pets | Cattle |
|——–|——–|
| Isolated | Isolated |
| Heavy Client | Light Client |
| Hypervisor | Either Hypervisor OR Bare Metal |
| Slow Startup (Minutes) | Quick Startup (seconds) |
| Composite Image | Simple Image |
| Compound OS Images | Single OS |
| Managed | Versioned |
| Documentation Optional | Explicitly Required Documentation |
| Configured by Admins | Configured by DevOps |