Cloud Platform Services: A Simple Taxonomy
Monday, March 31, 2008
If the next great application platform battle is for dominance in the cloud—and it is—it’s worth trying to categorize the services those platforms will provide. We’re all familiar with platforms for on-premises applications, which commonly have three fundamental parts:
Cloud platforms are beginning to address all three of these areas. Here are some examples in each one:
- Computing Services, providing a way to run logic. These services might be quite basic, such as those provided directly by an operating system such as Windows or Linux. Computing services can also offer more, such as the higher-level services provided by a Java EE server or the .NET Framework.
- Data Services, allowing applications to store and work with data. Once again, these can be simple, such as an ordinary file system, or more complex, such as the services provided by SQL Server, Oracle, and other relational databases.
- Integration Services, making it easier to connect applications and data. These might include communication services, the ability to run workflows that control the integration, and others. Plenty of on-premises products offer these today, including WebSphere Process Server, BizTalk Server, and many others.
There are connections between these categories in cloud platforms too, much like the connections in on-premises platforms; Amazon's EC2 relies on S3 for storage, for instance. We're also seeing hints of other kinds of services that a cloud platform will need. BizTalk Services includes an identity service, for example, something that's logically distinct from integration but is nonetheless required to provide cloud-based integration.It’s early days for cloud platforms, and so nothing out there currently provides anything like the completeness, maturity, or unity of today’s on-premises platforms. All the vendors mentioned above (and others) are racing toward this goal, however, so don’t expect today’s fragmented world to last. Cloud platforms will one day provide the same kind of solid environment for creating hosted applications that on-premises platforms offer today. Anybody who cares about enterprise software should keep a sharp eye on this space.
- Computing Services: The most visible example of raw operating system services today is Amazon’s Elastic Compute Cloud (EC2). By hosting Linux virtual machines, EC2 lets organizations run pretty much any Linux software they’d like in the cloud. For higher-level services, one good example is Saleforce.com’s Force.com. Intended to support a specific kind of business application, Force.com has attracted a significant number of ISVs. Microsoft provides something similar with its CRM Live offering, also targeting a specific kind of business application rather than the more general support offered by the .NET Framework or a Java EE server.
- Data Services: For basic data access, Amazon is once again the most visible: Its Simple Storage Service (S3) works much like a file system in the cloud. Amazon also offers structured data access with SimpleDB, as does Microsoft with its recently announced SQL Server Data Services. It’s worth noting that these two offerings both work with hierarchical rather than relational data, each providing its own (non-SQL) query language.
- Integration Services: Amazon's Simple Queue Service (SQS) provides a simple offering for cloud-based integration. Microsoft takes a somewhat different approach with BizTalk Services, providing connectivity and identity services today with support for cloud-based workflow promised soon.