Too often, the vast majority of online articles and blogs concerning the Cloud talk about the technology through the guise of generalization, as if saying "the Cloud" multiple times succinctly and clearly explained everything about "the Cloud."
Well, as a believer in the more knowledge you have the better, below is a quick starter course in Cloud education aimed at peeling back the layers of "Cloud computing" to introduce you to SaaS, PaaS, and IaaS. In this entry of "How the Internet Works," the Cloud is broken down into its core elements.
Like an onion, the Cloud has layers. Not just made up of catchy marketing terms and lingo which goes out of its way to remain obtuse, Cloud computing is comprised of three major layers: SaaS, PaaS and IaaS. Of the three, IaaS is the foundation; SaaS is the top layer, functioning off both PaaS and IaaS. Interestingly enough, although SaaS is normally represented in graphics as the smallest layer of Cloud infrastructure, it is anything but.
In this installment of "How the Internet Works" I will explain, from the foundation up, what the layers of the Cloud accomplish and how each respective layer—IaaS, PaaS, SaaS—operates/feeds into one another.
IaaS: Infrastructure as a Service
IaaS, or Infrastructure as a Service, refers to the hardware, network equipment, and web hosting servers which web hosting companies rent out to consumers. The IaaS layer of Cloud computing is comprised of all the hardware needed to make Cloud computing possible. Used day in and day out by network architects (sometimes called NOCs) and web hosting professionals, the IaaS layer is the physical foundation of Cloud Computing which can be and is leased out to users to run their own Cloud-based services.
The IaaS layer of Cloud Computing is physical hardware. Regardless of what anyone tells you, the Cloud is based on physical computing hardware (servers, nodes, PDUs, blades, hypervisors, cooling gear, etc.) stored in a data center (also called a DC) operated by network architects, network engineers, and web hosting professionals/companies. The big takeaway here: The Cloud is physical, and without the IaaS layer, neither PaaS nor SaaS would be possible.
PaaS: Platform as a Service
PaaS, or Platform as a Service, refers to the middle layer of the Cloud used for development by web developers, programmers, and coders. The PaaS layer of the Cloud is used to create applications, programs, software, and web tools. PaaS works by developers renting raw hardware from an IaaS provider, which can then be used as the platform to build software, applications, programs and web tools.
In most cases, developers will purchase the PaaS layer of the Cloud from infrastructure providers like RackSpace, Amazon EC2, Linode, Digital Ocean, and the like. The purchased infrastructure will come with pre-installled developer tools like Apache, MySQL, Ruby, LAMP Stack, Dokku, and GitLab.
The majority of providers sell PaaS-level servers to consumers on a per-resource allocation. Whereas you might purchase a car with 255 horsepower, leather seats, and heated rear-view mirrors, developers will purchase a Cloud server with a specific allotment of RAM, disk space, CPU cores and bandwidth. A typical Cloud server might look like 4GB of RAM, 60GB of disk space, 4 CPU cores and 8TB of bandwidth.
The big takeaway here: The PaaS layer of the Cloud is based on the IaaS layer of the Cloud, and is used to build the highest layer of the Cloud, SaaS applications.
SaaS: Software as a Service
SaaS, or Software as a Service, is the topmost layer of the Cloud. SaaS serves as the layer of the Cloud which the vast majority of consumers use. Built on top of both IaaS and PaaS, Software as a Service provides applications, programs, software, and web tools to the public for free or for a price. Accessible via a computer, tablet, or smartphone, the SaaS layer of the Cloud encompasses the largest and most accessible layer of Cloud computing.
Every time you use the Google Play Store, iOS App Store, Dropbox, Salesforce, Adobe Cloud Suite, Spotify, or any other Cloud-based software which is stored in a web server located in a data center halfway around the world, you are accessing the SaaS layer of the Cloud.
As alluded to, the basic premise of SaaS is user-friendly software, accessed via a computing device of choice, and stored on a server. A perfect example of SaaS is Microsoft Office 365. Without Microsoft Office 365, a company would be forced to:
- Purchase individual copies of software or software bundles, driving up per-seat cost
- Worry about per-seat software upkeep
- Purchase new versions of software based on a per-seat basis
With SaaS-enabled Microsoft Office 365:
- SaaS eliminates per-seat software purchases. Companies purchase/rent a license to utilize a single version of the software in question which is stored, maintained, and updated on a central server.
- SaaS eliminates the need for software maintenance, upkeep, or upgrade. As the software is hosted by a parent company, the parent company updates the software, and that update filters down the line automatically.
- SaaS is scalable. Without SaaS, a company continually purchases new copies of software for new employees. With SaaS, a company rents the license to the software from the hosting company. With new employees, the software license is scaled to meet demand.
The big takeaway here: The SaaS layer of the Cloud is based on both the IaaS and PaaS layers of the Cloud, and is used to provide applications to the market at a lower cost and with a lower local hardware resource need. SaaS is scalable, more affordable, and easier to maintain than traditional software bundles.