As a person who has been working in IT for 12 years now, I have seen a significant shift in the way business is conducted. Everyone in today’s world talks about cloud computing and containers. When I first started in the field, the big enchilada was using hypervisors to create virtual machines. This dynamic has been all but forgotten as the world is moving to containerization. As a typical blue-collar type of guy, I’ll explain the differences between the two in laments terms.
The use of virtual machines utilizing a hypervisor is what a lot of people in the industry would consider being a “heavy load”. When utilizing a hypervisor, the end user is giving resources of the hardware (I.E. CPU, memory, Storage) directly to that machine. This takes a significant amount of management from the system administrator. Additionally building this out takes a significant amount of time depending on the complexity of said network! How do we fix this and increase efficiency you ask? Let me introduce you to containerization.
Containerization, originally implemented at scale by google, addresses the need for both speed and efficiency. So, what’s the difference? Well, containers remove the need for a hypervisor living between the operating system and the hardware. Let’s say I want to start multiple instances of Linux boxes. I simply install a Linux instance on my hardware and then download the software required to run containers. An example of these would be docker or Kubernetes.
Docker, in my honest opinion, for users who are new to containers provides a great resource for getting started. It’s so lightweight that you can run it on a Raspberry Pi4, which will cost you about $100. Utilizing DockerHub will give you access to images to run almost everything you could think of running in your mind. Kubernetes, at its most basic level, allows a user to deploy multiple containers at once, further increasing efficiency!
I hope that you find this quick write-up useful!