IaaS and PaaS -- A Specialization of Services and Terminology

| | Comments (0) | TrackBacks (1)

I was talking with Darrell Johnsrud the other day about cloud computing, and he shared an insight about Platform as a Service (PaaS) that he had that I think is spot on.  He said that the current services that the different cloud vendors are providing are very generic and cater to a wide array of problem domains.  If you think about Amazon's, Google's, and Microsoft's services, they are very universal.  Broadly speaking, you have data storage (SimpleDB, SQL Services), computational capacity (EC2, GAE, Azure Compute Services), storage (S3, GAE, and Azure Storage Service), queuing (SQS), service bus, workflow, access control (Microsoft's .NET Services), and others.  All of these types of services are needed by many, many systems in various domains.  The capabilities provided by these services are necessary for almost all enterprise caliber solutions. 

That said, however, the platform that you need to support the applications of specific domains are a lot more specialized.  Yes, TV stations and financial institutions need data storage, compute capacity, and storage, but they also need low-level services that are specific to their business arena.  For example, the platforms build to support TV stations and financial institutions will each include a transfer service.  The platform that solves the problems of broadcasters will need to include such a service that transfers digital files (e.g., movie clips, audio files, teleprompter script documents, etc.).  On the other hand, however, the transfer service included in any platform built to meet the needs of banks will move money from one account to another using various means (e.g., wire, ACH, etc.).

As cloud computing takes shape, I believe that companies will come along with specialized platform services like these transfer services to support the applications of specific domains, scale to Internet levels, and have a pay-per-use business model.  Because of this, I think that it is important for practitioners to begin differentiating between these and the lower-level ones provided by cloud vendors.  These base services are what constitutes Infrastructure as a Service (IaaS) and the market-specific ones form for a PaaS offering.  Using this distinction, we can clearly say that services that cater to various domains are (in the cloud computing context) infrastructure services and those that support a wide array of applications tailored to meet the needs of a particular market are platform services.  This specialization, Darrell said, and I agree, will naturally come about over time.