002 - DevOps Basics: Understanding Operating Systems and Virtualization

002 - DevOps Basics: Understanding Operating Systems and Virtualization

Let's begin with our first concept in the DevOps journey: the Operating System.

So, what is an Operating System, and what do we need to know about it for DevOps?

Introduction to Operating System

Have you ever wondered how software runs on your system or how your mouse and keyboard interact with the software on your screen? There is a crucial layer between hardware and software known as the Operating System (OS). The OS is responsible for numerous tasks, including resource management, allocation, and process management, determining how much resources each task requires. At the core of every OS is the Kernel, which acts as the heart of the system. The Kernel manages system resources, facilitates communication between hardware and software, and ensures that different applications and processes can run smoothly and efficiently.

Image Credit: TechWorld with Nana

Different operating systems have their own unique kernels. For example, the Linux operating system uses the "Linux Kernel," which is essential to all Linux distributions and even powers Android devices.

You might wonder why understanding this is important for DevOps. In server environments, having an operating system that efficiently manages resources and is lightweight is crucial. While Windows Server OS is an option, Linux is the preferred choice globally. A recent study shows that about 70% of servers worldwide run on Linux because of its efficiency and reliability.

now coming to second concept which is what is virtualization?

Introduction to Virtualization

What if you want to run different operating systems? You might think you need separate systems and different hardware for each one. But what if I told you that you can run multiple operating systems on a single piece of hardware using virtualization?

Yes, you can run multiple operating systems on a single piece of hardware using virtualization. You can share your main host system's resources using a “Hypervisor”. With a hypervisor, you can allocate your host machine's resources to run a different operating system, which operates independently from other operating systems without affecting them. There are many hypervisors, but they are generally categorized into two main types: “Type 1” and “Type 2”. Type 2 is mostly used on personal computers, like VirtualBox, while Type 1 allows you to run different operating systems directly on the hardware without needing a guest/host operating system. Type 1 hypervisors are mostly used on an industrial scale, such as in cloud services like AWS.

I hope you now have a basic understanding of operating systems and virtualization. Next, I will continue from here, but before that, you can set up Linux using VirtualBox if you want to practice hands-on with me throughout the journey. Feel free to reach out to me with any questions.

Summary

This article introduces the basic concepts of operating systems and virtualization as they relate to DevOps. It explains the role of the operating system in managing resources and processes, emphasizing the importance of the Linux OS for server environments due to its efficiency and reliability. The discussion then shifts to virtualization, highlighting how it allows multiple operating systems to run on a single hardware setup using hypervisors, with a distinction between Type 1 and Type 2 hypervisors. The article encourages hands-on practice by setting up Linux using VirtualBox.