Are there Other "as-a-Service" Cloud Offerings?
As already described in the previous few articles NIST defines three different service models for the cloud - IaaS, PaaS and SaaS. However if you look at the Wikipedia article about cloud computing you will notice that there are quite a few more "as-a-service" models mentioned there. Lot of vendors are using those to differentiate their offerings but there are two problems that arise:
- First, those additional models are not officially recognized by any standardization authority and
- Second, and maybe more important, those new acronyms add to the confusion among the novice cloud users
The proliferation of service models confuses even people with long experience with the cloud and doesn't help with the adoption. If you look closely you will notice that all of the new "as-a-service" models are just a subset of one of the three main service models - IaaS, PaaS and SaaS. Let's look at them one by one!
- Network-as-a-Service (or NaaS) - The network is the lowest level in the application stack and its configuration and management has always been considered infrastructure component. NaaS is just the networking part of IaaS. Network-as-a-Service is not new as a concept - Akamai, Limelight and the TelCos have been offering networking services for more than decade already, either as Content Delivery Networks (CDNs), Virtual Private Networks (VPNs) or leased lines (bandwidth).
- Storage-as-a-Service (or STaaS) - Storage is the next level in the application stack and similar to the Network layer it should be considered infrastructure.
- Security-as-a-Service (or SECaaS) can be looked at from two different points of view. The first one is as a platform component (think of authentication and authorization services) that one can use when building new applications. The other one is as Software-as-a-Service that one uses on subscription basis for example to anti-virus and anti-malware detection.
- Data-as-a-Service (or DaaS) - even Wikipedia's article mentions that Data-as-a-Service is a cousin of SaaS - data and software quite often go together. The difference here is that instead monetizing their investment in code (software) through a service model, vendors also monetize their investments in data through the same service model.
- Desktop-as-a-Service (or DaaS) - the first thing you need to be careful here is the overuse of the acronym DaaS. Nowadays where tablets have become mainstream having powerful desktop on demand that is accessible from anywhere becomes a necessity. Nevertheless though Desktop-aaS can be looked at from two different points of view - either part of the infrastructure (or IaaS) that enables new types of applications or as a software-as-a-service where the software is the operating system that it runs. The concept is not new at all - it even reminds us about the old days when we had big supercomputers with multiple terminals connected to them. In addition services like remote desktop access and terminal servers have been available for decades.
- Integrated-Developmen-Environment-as-a-Service (or IDEaaS) - this is just specialized type of software-as-a-service (i.e. one targeted to developers). There are numerous examples here but maybe most prominent ones are Cloud9 and Orion however we should not think of the IDEs as editors only but also as a whole development infrastructure. I would add Atlassian, GitHub and Microsoft's hosted TFS into that category.
- Database-as-a-Service (or DBaas) - Database normally sits between the Operating System and the Middleware in the application stack and its logical place will be as part of the platform (PaaS)
- Test-Environment-as-a-Service (or TEaaS) - test environments are just specialized infrastructure or can be easily simulated on platform-as-a-service. Hence TEaaS blends easily in either IaaS or PaaS.
- API-as-a-Service (or APIaaS) - in my humble opinion this one is quite confusing. The whole problem is that majority of the functionality in the cloud is exposed as APIs (hence it warrants the as-a-services part in its name) and this acronym will be no more descriptive than saying "service-as-a-service". I will certainly require more clarifications from a vendor who has such offering.
- Backend-as-a-Service (or BaaS) - BaaS became very popular with the development of mobile applications. In essence though BaaS is a platform-as-a-service that offers services specific for mobile applications (like location based or check-in services for example). Good example for BaaS is Buddy.
- Integration-Platform-as-a-Service (or IPaaS) - As its name says this is just an integration PaaS and you can consider every PaaS vendor that offers Service Bus and messaging functionality as a IPaaS vendor too.
The lesson here is to look at any new "as-a-service" model as something that can easily be described with the three main cloud computing service models. Some of the acronyms above are legit vendor offerings that complete the cloud computing picture (NaaS or Data-aaS for example) while others are just another name for one of the three main service models (like BaaS and IDEaaS) used by vendors for differentiation.