| certifications | cloud - Graeme Messina
Where Linux Meets Virtualization and the Cloud
The Linux operating system is used in many different capacities including file servers, application servers for both on-prem systems, and even in the cloud. The CompTIA Linux+ exam covers topics like virtualization and how to install Linux as both a virtual machine and as a physical system.
This means that it is important for IT professionals to understand cloud technologies and how they tie in with the Linux operating system as well. In this post, we will discuss what Linux is used for in the cloud, and why that’s important for IT professionals to understand even if they don’t use Linux themselves.
Cloud computing is a technology that everyone has accepted as part of modern business. But not many people know that most cloud systems are underpinned by Linux systems, thanks to their reliability and scalability. We want to examine these technologies as they relate to the Linux+ certification.
Linux: (Nearly) Out of the Box Virtualization
Linux plays a vital role in infrastructure systems like web and file servers. Linux systems are among the most common cloud systems in use today, thanks to Linux's stability and ability to run virtual environments. Virtual machines can run multiple operating systems on one physical machine — and Linux is used for this purpose on a massive scale in recent years.
A server that hosts multiple virtual machines is often called a hypervisor, and hypervisors can run in a few different ways. The first configuration is called a bare metal hypervisor. This is a virtual machine host that runs the virtualization environment directly off of its own hardware and it cannot run anything else other than the virtualization platform directly.
This means that all of the virtual machines that are created within this environment have a more direct method of access to the hardware on the hypervisor. And they don't need a traditional operating system to mediate between the virtual machines and the physical hardware of the hypervisor. The result is a high performance platform that can be used in production to host virtual machines, such as a cloud provider or data center.
Another way to run virtual machines off of a hypervisor is to install a standard operating system on it and then install a virtual machine host application onto it. This means that the server's operating system is responsible for allocating resources to the hypervisor, which in turn allocates resources to the virtual machines. This is normally used in a testing or sandbox environment. This is due to there being significant performance sacrifices that are made due to the operating system's overheads.
A lot can be done with these VMs that would otherwise require two or more computers: testing software without affecting other programs; running legacy applications like Windows XP under Ubuntu 12 LTS while keeping them isolated from each others’ data files so they don't infect your system drive if something goes wrong during installation.
Online systems such as web and application servers often act as the backbone for an organization’s network, and Linux is perhaps one of the most popular operating systems for this purpose. Linux shines as a solid virtualization platform with multiple format templates that it supports via virtualization software. These include:
- VM – Virtual Machine
- OVA – Open Virtualization Format
- OVF – Open Virtualization Format
- YAML – YAML Ain't Markup Language
- Container images – Used with virtualization technologies like Docker
Each of these examples have their own specific function in virtualization. Some of them contain entire virtual machines, while others contain configuration data about the elements that make up the virtual machine. The Hypervisor that you use will determine which file type you will use for your virtual machine.
Linux in the Cloud
Linux is a versatile operating system that gives its users many possibilities when it comes to configuration options. Linux is scalable, which means that it can be built into redundant clusters that give you a much better chance of maintaining uptime in the event of system or hardware failures.
This makes it an excellent choice for creating networked nodes that can take over from one another when things go wrong. Load balancing clusters with failover features are relatively straightforward to setup with Linux as well.
Cloud servers are used for creating online services such as file storage, email, and even remote desktop environments. Linux can host the virtual machines that run these technologies, and many of these services can be installed and maintained relatively easily. The issue is that the equipment and services that you need to run a setup like this is prohibitively expensive for most average users.
Modern cloud platforms now allow you to host your own Linux virtual machines in the cloud, which makes it far more accessible for the general public. All of the initial hypervisor costs and data center costs are all taken care of by your provider, which minimizes the costs that you will incur when you build your own platform.
Google Cloud Platform, Microsoft Azure and Amazon Web Services all use Linux systems on their back end to help power the cloud infrastructures that they each respectively offer. Linux is used because of the way that it easily integrates with hardware, is scalable and is primarily open source. This means that licensing costs are dramatically reduced, although some point out that what you save in licensing you often spend in hiring, training and upskilling support staff to maintain this equipment.
Linux Cloud Configuration Options
Linux has a lot of configuration options available to it in the cloud. The Linux+ exam covers some of these items and teaches you about storage considerations like thin vs thick provisioning and persistent volumes. These are important when you are configuring your own cloud instance as the way that data is stored and accessed will determine what kind of applications your cloud is being used in.
Networking is another large area of knowledge that you will need to understand in order to properly configure a cloud instance of your favorite Linux distro. You will need to understand technical considerations like network bridging, overlay networks and how NAT will affect your installation. If you are hosting a cloud instance then it needs to be properly segmented from the rest of the online world, and doing that will require that you understand how all of these different items are configured.
Other tools that you should be familiar with include libvirt for managing your virtualization platform, virsh for managing guests in your hypervisor and how the vmm guest agent works within your system.
Linux systems in the cloud are far more prevalent than many people think. In a server role, Linux can be stripped away to the bare essentials, which isn't the most flashy or attractive state for most average users.
Much of the Linux environment can be configured from the terminal, making it a very utilitarian in its application. Configuring Linux systems takes a lot of knowledge about both the operating system and the network environment that you are introducing it to.
This makes it a very valuable skill for you to learn if you plan on supporting cloud infrastructure in the future. Learning Linux terminology and concepts covered by the Linux+ certification exam is a good way to start your journey toward a career with Linux-based systems in the cloud.