Ever since cloud services appeared, we’ve heard about their different types: Platform as a Service, Infrastructure as a Service etc. While those terms help us understand a service’s capabilities – and traditional target audience – I wonder whether those terms have now been overtaken by the pace of innovation and risk causing us to overlook their capabilities? Are we moving into an era where infrastructure services to some audiences are platform services to another, and vice versa?
My suggestion is now maybe the time to start using more generic names, such as cloud services, that stop us overlooking capabilities we may not always have considered - and I may have spotted a vendor already trying to do just that.
It all started with….
Generally speaking, cloud services started with Software as a Service, SaaS, and people often quote Salesforce.com as the one that started the ball rolling. Then, Platform as a Service, PaaS, arrived: fully managed services that expose their functionality via an API. It was at this point I started seeing people trying to shoehorn their infrastructure requirements into the PaaS solutions of the time – and it was never going to work. They were the wrong services for those requirements and in the end people saw it was hopeless trying so gave up.
Then to meet that need, Infrastructure as a Service, IaaS, arrived. Virtual servers and networking allowed infrastructure teams to build their own virtual data centres inside someone else’s data centre and self-provision, pay-per-use and access from anywhere.
The complete set of services each with their own audience
Now, we have a complete set of SaaS, PaaS and IaaS from the major cloud service providers, especially Microsoft and Amazon. Their breadth of capability coverage now means almost every IT requirement can be met by one of their services, the challenge is knowing which as there’s a lot to choose from these days and the list is only going to get longer.
For a while I’ve been giving the guidance that developers should focus adopting on PaaS services and infrastructure teams IaaS. There’ll always be some crossover but that general guidance won’t lead you too far wrong.
That guidance made sense until I tried to find separate lists of Microsoft Azure’s IaaS and PaaS services - and couldn’t. Everything comes under the single heading of “Azure Services”, Microsoft don’t publicly define their cloud services as PaaS or IaaS. Yes you can see them grouped into what you know are infrastructure capabilities and application services, but they’re not explicitly labelled. As a comparison, Amazon do group their cloud services by infrastructure and platform.
Why Microsoft’s approach starts to makes sense
If you suggested a development team use an infrastructure service they may worry about configuring and maintaining it. If you suggested an infrastructure team use a platform service they may worry about the loss of configuration influence.
However, let’s consider some grey areas. If a virtual machine is provisioned by an infrastructure team and they install their software and monitoring agents then it’s being used as Infrastructure as a Service. But what if an automated testing tool provisions a virtual machine, installs its testing software and then destroys it when the test’s complete? We could almost think of that as being used like other Platform as a Service services. It may not meet the “official” definition of PaaS but we can start to see how it meets the day-to-day expectations of PaaS.
The same confusion may also occur with a storage service. If it’s used to provide storage to virtual machines it meets our understanding of IaaS, if it’s used by an application service to read and write files it may well meet our understanding of PaaS.
To conclude my current thought is whether after several years of trying to define what cloud services are we could be at the point where the terminology has become too detailed? Instead, I now find that every service offers a balance of capability, configuration and outsourced management, and whether that ratio is a strength or weakness now depends on the situation rather than the audience.