With the advent of cloud computing came the dawn of new terms for acronym savvy geeks to drool over, one of the most famous groups of these acronyms are the ‘aaS’ acronyms. These are the acronym that start with a letter or two and then end with an ‘aaS’.
Cloud computing isn’t fully defined right now, formal definitions usually naturally evolve once adoption rates reach a certain threshold. At the moment that threshold isn’t yet reached, so we don’t yet have a fully agreed upon definition. However, it’s a common understanding that the cloud comes in various flavors, 3 ‘major’ flavors to be exact. Iaas, Paas and Saas.
The ‘aaS’ stands for ‘as a Service’ , and it means that whatever it was that preceded it now can be treated as a service, and before we begin to move into that, it’s important to define what exactly a service is and why is everybody offering stuff as a service.
In the realm of selling stuff, the general categorization of ‘things you can sell’ is basically products or services. No matter what you sell, regardless of where and when you’re selling it, everything you sell is either a product (an actual tangible ‘thing’) or a service (less tangible but requiring effort). So basically every business revolves around the sale of either a product or a service or both.
So what is a service, wikipedia suggest the following definition:
The generic clear-cut and complete, concise and consistent definition of the service term reads as follows:
A service is a set of one time consumable and perishable benefits
-delivered from the accountable service provider, mostly in close coaction with his internal and external service suppliers, effectuated by distinct functions of technical systems and by distinct activities of individuals, respectively,
-commissioned according to the needs of his service consumers by the service customer from the accountable service provider,
-rendered individually to an authorized service consumer at his/her dedicated trigger, and, finally, consumed and utilized by the triggering service consumer for executing his/her upcoming business activity or private activity.
Don’t let the semantics confuse you, to me a service is simply “something that someone else is willing to do for you” usually for a price.
In terms of the “aaS” acronyms go, it basically means someone else is offering to run and maintain it as a service to you. More importantly, “aaS” acronym also suggest that the service is charged on a per-use basis, so from a financial perspective that changes the expense of operating it from a Capital Expense (one large chunk of cash to begin with) to a Operating Expense (smaller chunks of cash on a frequent basis). However, that’s a topic for a different post.
Now here’s the 3 most popular “aaS”-es.
Software as a Service (SaaS), simply means someone is willing to run and maintain the software level of the application for you as a service. Usually this includes the software and the accompanying data. A good example would be GMail, Hotmail, Yahoo! Mail..etc. The mail application is the software, and the accompanying data is your email. Google runs everything from the ground up including storing your data securely and hosting the underlying application. You don’t have to worry about ANYTHING except use the software itself.
Infrastructure as a Service (IaaS), simply means someone is willing to run and maintain only the Infrastructure portion for you. This usually includes running the servers and their racks, including ensuring power is supplied to the servers, security for the data center and even replacing old hard-drives. All this means you can focus on running your application and not worry about the hardware, someone else is willing to do that for you.
So for instance you could run an email application on an IaaS landscape and not worry about the hardware, but you’d still need to be on top of things like software patches, OS upgrades, Anti-Virus definitions, and the general software side of things. However in an SaaS model, you don’t have to worry about this because the service provider is already doing this for you.
Platform as a Service (PaaS), is somewhere between the two. A good example would be Windows Azure, however it’s still a bit murky as most people aren’t too familiar with Windows Azure. In a PaaS environment you don’t have to worry about the Infrastructure, but you still have to worry about the software…somewhere from the OS up.
The best way to visualize this is through a wonderful diagram (which I stole off the “Windows Azure Platform: Cloud Development Jump Start” presentation I peek at over at silverlighthack.com)
In Software as a Service is the highest level of service anyone can offer you, everything is being looked after except the actual running of the software. Now you can in a sense outsource that as well….but where’s the fun in that.
In IaaS, someone runs the hardware for you, while you look after the software. The cut-off point is very clear here, with a good example being Amazon EC2.
Platform as a Service is pretty murky, it’s easier to envision it as something between SaaS and IaaS than it is to give it a clear definition.
To put things into perspective, before the advent of Cloud there was already something along the lines of DCaaS (which is Data Center as a Service), which meant someone was willing to run your Data Center for you, although it would still be an actual physical machine that they would look after.
Cloud computing, strictly speaking only starts when you have visualization. So you’re buying computing power (at the very least) and that is a virtual machine rather than an actual machine (which is what DCaaS is about). That’s my definition at least and at least now you know what the ‘aaS’ acronyms begin.
There’s also some newer acronyms like MaaS (monitoring as a Service) and CaaS (communications as a Service) as well as the extremely generic XaaS (anything as a Service). These newer services are beginning to take shape, and will continue to shape IT landscapes for time to come.