There was legitimate debate at one point whether the style of cloud computing often called Platform-as-a-Service (PaaS) was really going to take off in a big way.
The aim of PaaS is to supply developers with a set of services that they can use to build scalable applications without doing all the underlying grunt work themselves.
Such a platform might automatically add additional capacity in response to increased load. Or it could offer various middleware services, such as databases and application servers. (The National Institute of Standards and Technology has a definition document that I and many others use to help make sure we're all on the same page when it comes to the types and characteristics of cloud computing.)
As is always the case with such things, the lines between what is a platform and what is just infrastructure and what is end-user hosted software blur a bit. But, in the main, platforms are a higher level of abstraction than infrastructure but don't offer something that's directly useful for end-users out of the box.
The questions about PaaS were at least two-fold.
For one thing, while cloud infrastructure has a fairly clean correspondence to physical and virtual infrastructure in a data center and Software-as-a-Service is just hosted software in many respects, PaaS doesn't map especially well to familiar concepts. It's partially related to middleware but also includes forms of background automation that haven't historically existed.
There's also the lock-in concern. Cloud infrastructure services like Amazon EC2 and S3 aren't standardized in a formal way. But their interfaces are straightforward enough that a third-party like RightScale can map them across different providers. Alternatively, others can treat them as effectively a de facto standard and mimic them for their own implementations as Eucalyptus is doing.
But PaaS is more vendor specific and the more layers of specialized function, the more specific it becomes. But this doesn't concern everyone. For example, Tobias Klauder of digital advertising agency Razorfish told me that he generally endorsed the idea of vendors competing on the basis of unique differentiation that users need. As he put it: "I don't see benefit to getting the exact thing from three different providers; then you're just competing on price, not features." And the reality is that moving from one vendor's middleware and other supporting application infrastructure to another's has never been an easy and transparent process.
However, upon reading a recent post by fellow CNET Blog Network writer James Urquhart, it's becoming clear to me that PaaS is an important component of cloud computing.
Microsoft's commercial launch of Azure at its Professional Developer Conference was, by all appearances, a big hit. I've personally viewed Azure as a major bellwether for PaaS, given the large Microsoft development community. If Azure clicks with .Net developers, it bodes well for the PaaS concept.
James also notes that "Ruby on Rails platform service vendor Heroku reportedly hosts more than 40,000 applications now. At its Dreamforce conference in San Francisco, Salesforce.com mentioned it had approximately 135,000 applications running on its Force.com platform" and that "anecdotal evidence suggests there is a large body of Web application developers running on both the Java and Python instances" of Google App Engine.
Google App Engine's relatively low profile was one reason to be somewhat skeptical of PaaS a year ago. Today, I'm still unconvinced App Engine is living up to some of the early expectations that surrounded it. Nonetheless, in the context of clear PaaS advances elsewhere, it's another data point for an at least moderately popular offering.
To these, I'd add that cloud infrastructure is expanding and morphing into something that looks more like a platform. Newer Amazon services such as Elastic MapReduce and Relational Database Service blur the line between what is infrastructure and what is something more. Arguably, Simple Queue Service already did this from the early days but the new services can increasingly handle the mechanics of scaling an application transparently to a developer.
In fact, given such this apparent demand for more abstraction and higher-level services, I wonder if we're starting to see cloud infrastructure essentially morph into a platform.
Microsoft's Server and Tools Business did the virtual conference thing for industry analysts last week. Fellow analyst Judith Hurwitz ably describes the limitations of this format. I concur with much of what she writes.
That said, I give Microsoft props for trying. A lot of companies have canceled or decided not to hold in-person events this year without making any real effort to put together an alternative. Limited interactivity and engagement aside, some of the pre-recorded videos were informative, STB President Bob Muglia was in typical energetic form, and I had good telephone discussions on a variety of topics.
Here are some of my take-aways and observations.
"Costs less" was a big part of Microsoft's pitch. This is consistent with the theme of its consumer advertising. It's also consistent in that Microsoft chooses targets for comparison with some care. For example, Microsoft isn't so much emphasizing low cost in the context of general scale-out infrastructure (where Linux and other open-source software is most widely deployed and popular today). Rather, Bob Muglia emphasized being able to put together solutions with partners at a fraction of the cost of proprietary software; he especially emphasized business intelligence, which has been the focus of a great deal of SQL Server development over the past few years.
Hyper-V. Muglia said that the "first year of Hyper-V being out has been significantly better than I expected." He also noted that it has been "gaining share every day." Of course, Microsoft would have to gain a lot of share to seriously dent VMware's dominance. That said, Microsoft's virtualization solutions (together with those of competitor/partner Citrix) will often be the low-effort path for Microsoft shops. Hyper-V gets a big boost this fall when it gets Live Migration as part of the Windows Server 2008 R2 release. This is Microsoft's counterpart to VMware's VMotion (which allows running VMs to be moved to another physical server without interruption). Even Microsoft will now pretty much admit that this technology is table stakes for a serious virtualization deployment.
Cloud computing was, of course, much discussed in the course of the day. There are a number of aspects to this but I'll focus here on Azure, which I discussed with Steven Martin, the senior director of developer platform product management. Microsoft describes the Azure Services Platform, to use its full name, as a "cloud operating system" that provides a set of services such as SQL database access. A few points from our conversation:
- I hear a lot of concerns about security and privacy in off-premise cloud deployments. Martin notes that payroll was one of the first widely outsourced enterprise applications and Salesforce.com customer relationship management is the poster child for software as a service. Your employee and your customer data--few things are more confidential. This is a great point. It's not that we shouldn't be concerned about cloud security but the reality is that we've been letting third parties access much of our data for years.
- What additional types of services might we see for Azure? Martin highlighted commerce services such as a shopping cart and B2C (business-to-consumer) as something "we talk a lot about." Reporting and compliance was another area he mentioned. "Potentially" but more in the vein of "if customers demand them" is database models other than the existing SQL Data Services. In general, Microsoft sees Azure as bridging internal .NET development and an external cloud so they're probably hesitant to head in directions that don't fit as well with an internally hosted environment.
- One final interesting angle is the intersection between an abstracted cloud computing platform like Azure and multi-core/parallel programming. As I've previously written in a different context, it seems that one of the ways that we'll make it possible for application programmers to deal with the inherent difficulty of writing parallelized code is to provide them with abstractions that handle a lot of the low-level rocket science. Azure and other systems in a similar vein could well turn out to be appropriate abstractions for this purpose.
Those are just the highlights. Other topics we covered included client virtualization (Microsoft seemed more open to possibilities than in the past), Silverlight ("barely nine months in... and will continue to see a gloves off nasty fight with Adobe"), and Microsoft's continued focus on management as its big differentiator around virtualization in general.
What strikes me most about the admittedly somewhat selective set of things that I have highlighted is that it's generally forward-looking. Yes, Windows Server is still at the core of much that STB does, but there's also substantial focus on virtualization, cloud computing, and Web-centric approaches in general. That's a substantial change from a few years ago.
- prev
- 1
- next





