One of the most important terms associated with cloud computing is virtualization; a technique through which cloud service providers are able to turn individual servers inside a data center into multiple units.
How is that possible? Software. Virtualization software to be exact.
Virtualization software works by creating multiple virtual operating systems that data centers are able to run on a single server — simultaneously. While you may be running the latest copy of Microsoft Windows or Apple’s OS X on either your personal or work computer, servers inside data centers are actually capable of running several copies of an operating system at the same time. What this means is that instead of being limited to just one set of tasks running at a time, servers can be running dozens if not hundreds of tasks across those multiple operating systems, all on one computer, all at the same time.
If it helps you think about how this works, remember, the servers inside data centers aren’t desktop computers plugged into monitors and aren’t being used by people individually. It’s quite the opposite. Servers are massive resources being controlled in large groups, which usually means that since they don’t need to display anything, and aren’t being used individually, the servers inside data centers are free to perform unusually taxing and complicated computing tasks.
However, virtualization software would be dead in the water without the right hardware to back it up. In fact, there are certain requirements that modern servers have to have in order for this technology to function both efficiently and without sacrificing performance. One such requirement is the ability for modern servers to have multiple cores. In the old days, computers only had one core, which meant it could only be crunching one set of numbers or performing one operation at a time. If another task needed to get done, you’d have to wait for the computer to finish whatever it was currently working on.
Today, even netbooks have at least two cores, and desktop computers for graphics and video professionals often have 12 or more. This means that modern computers can perform a plethora of tasks simultaneously, and all of them at top speed. It’s these kinds of multi-core systems that are often specifically designed for the task of virtualization. In short, a 12-core server is actually designed to be able to run up to 12 simultaneous copies of an operating system without significantly slowing down.
Another requirement that comes with the modern day server is lightning fast storage, in the form of Solid State hard drives (often called SSDs). With so many operating systems and tasks running at the same time, servers that use virtualization need to be able to both access and manipulate data incredibly fast. Therefore, a server running multiple virtualized operating systems may contain several SSDs in order to run at top speed.