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

A physical computer 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.

Apple iWatch 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.

Computer 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 |

Business Reporting

Hosted Private Cloud

Facilitating Migration