The emerging platform-as-a-service market continues to heat up, with new offerings (and new takes on what PaaS actually means) forming rapidly. From Java and .NET to Python and Ruby, PaaS offerings now cover all of the major languages, but the future may be more about all of these languages used together rather than each one standing on its own within a dedicated PaaS cloud.
John Rymer, principal analyst at Forrester Research, said that limiting PaaS’ scope could limit appeal. “If what you’re trying to do is entice the widest possible audience of developers to your platform, then a single-language strategy is anathema to that.”
Indeed, many successful PaaS companies and emerging PaaS offerings are already tending toward expanding their supported environments. Heroku, for example, has long been the poster child for Ruby PaaS. But in mid-July, the Salesforce.com-owned company announced that it has begun supporting Clojure in its PaaS offering, expanding the appeal of the platform beyond just Ruby users.
Byron Sebastian, general manager of Heroku, said that more platforms supported means more choice for developers. “When you’re building distributed applications—where there might be a Web front end or some machine intelligence and data analysis involved—when you’re building a complex distributed system, not only do you want different types of data stores and a combination of Web processes and distributed processes, but you might also want to implement them in different processes,” he said.
“We felt Clojure made sense for our customers; it’s got a lot of mind share, it’s another step in the path we’re taking, which currently includes Ruby, Node.js and Clojure. We will continue adding more and more languages there.”
VMware is also modifying its own PaaS strategy to have a broader scope. Originally, the company discussed a Java- and Spring-based PaaS offering from its SpringSource division. But later this summer, VMware will introduce a desktop-hosted version of Cloud Foundry (called Micro Cloud), the company’s latest PaaS offering, which aims to include far more than just Java stacks. Micro Cloud is designed to give developers a way of building cloudy PaaS-based applications on their desktops.
DotCloud is another multi-environment PaaS company. Originally, this startup was part of the Y Combinator technology incubator/angel investor group. The company is out of hiding and offering its varied PaaSes to the public. Solomon Hykes, CEO of DotCloud, said that his company was built specifically to offer an ever-expanding range of PaaS environments.
Unfortunately, this approach takes time and effort to build out, he said. As such, DotCloud is slowly adding more stacks and options over time, with the end goal being to offer hosting for almost any application out there.
“The key is to do things service-by-service. The way DotCloud is organized, we break your application into services,” said Hykes. “We inspect your code and we detect what these services are that you need. Say you have a Django front end, Python back-end workers, and a MySQL database, with memcached. Each service we deploy separately, then we link them together so they all have access to each other’s info. The key is that everything is separated by services. Each service we augment with automation that describes how to scale and how to implement high availability. There is no universal magic.
“The common sense not so long ago was that you would have to be stupid to support more than one language,” said Hykes of PaaS. “Our response was, ‘There is no choice.’ It’s very gratifying to see now more and more big players following us in that route.”
One size fits one
That’s not to say there is no appeal to a very specific PaaS offering. In these early days of PaaS, a tightly controlled, managed single-language PaaS can still offer many advantages over traditionally hosted software. Companies like AppHarbor and CloudBees are tightly integrated with their hosted languages, .NET and Java, respectively.
The advantage of a dedicated PaaS, said Michael Frist, cofounder of AppHarbor, is that the system can be honed and benefits can be placed within easy grasp of the developer. This approach also allows for more integration with the build and deploy cycle.
AppHarbor, said Frist, is all about calling .NET developers back from the brink of Ruby. “I think what’s been happening is the .NET community has been pushing a lot of good developers to Ruby because developers don’t want to worry about the hassle of servers,” he said. “.NET developers have sort of been defecting to Ruby on Rails because deployment is handled very well by Heroku. We want to stop those defectors by hosting .NET.”
“We call ourselves Heroku for .NET,” said Frist. “For most of the decisions we’ve made, we’re taking our cues from Heroku. You use whatever version-control system you currently use to collaborate with your colleagues. We then build the code, apply unit tests and distribute load-balanced servers. Deployment isn’t something you have to think about and use, it’s just part of your workflow.”
This is the approach also taken by CloudBees, which is based on the Jenkins continuous integration tool. CloudBees offers developers a simple way to build and deploy their applications to a Java PaaS, and despite the limited scope of the platform, the benefits available to developers undoubtedly aid with agility and can decrease the time from build to deployment.
Stephen O’Grady, principal analyst at RedMonk, said that developers are currently “kicking the tires” on PaaS, and he added that newcomers to the space that are receiving attention from his clients tend to be more broadly applicable platforms, rather than the constrained ones.
“We’re seeing an uptick in interest,” he said. “Pieces like Cloud Foundry and [Red Hat’s] OpenShift are beginning to show up as popular topics of discussion.
“I think what the platform market comes down to is that the initial wave of platforms like Force.com and Google AppEngine were very prescriptive and very constrained. You can’t choose the operating system or database, and that turned off a lot of developers. What we’ve seen for the past 12 to 24 months is…Heroku being acquired. It’s composed of standardized pieces, but on top of that we’ve seen Cloud Foundry and OpenShift emerge.
“They also support a variety of languages and runtimes. Cloud Foundry, for example, offers some combination of Spring, Node.js and Rails to make the platforms as widely adoptable as possible. I think a lot of the anemic adoption we saw initially was due to constraints placed by platform provider.”
O’Grady felt that there was also another important reason current PaaS offerings stand out from existing offerings from Google and Salesforce.com: portability. He said that PaaS offerings “have to be composed of pieces that are replicable elsewhere.
“If I use Force.com, and I get frustrated with their pricing, I can’t recreate that environment elsewhere. If I’ve written an application there, migrating somewhere else is a challenge. Contrast that with Cloud Foundry, which is an open-source project that I can replicate elsewhere. I think a lot of the interest in private clouds is driven by concerns around ongoing operational costs, availability concerns, [the working environment], and so on.”
What’s next for PaaS
Heroku’s Sebastian said that PaaS may seem like it’s in its early days, but for some competitors in the market, it’s quite mature and widely used. “We see that PaaS has been surging over the last nine months. From our perspective, it’s real, it’s here, it’s now,” he said.
“I know other vendors in the market are talking about how it’s still early days, but we’re seeing that it is real. In my new job running the overall platform for Salesforce.com, the number of conversations I have with CIOs has increased. We have high-level discussions, and it’s amazing to see all the interest in cloud platforms. They’re all asking, ‘How do we get started? What should we be doing?’ I’ve been in the platform business for a long time—since Java and .NET were taking off—and what’s really driving that is people recognition that architectures are changing.”
DotCloud’s Hykes said that PaaS is changing the application server market from the ground up, even though it hasn’t yet taken over mainstream enterprise development. “PaaS is the disruptor that is disrupting the overall application server market. Anyone doing PaaS today is a startup,” he said.
“They are startups with different trade-offs, but we don’t see ourselves going after them. We’re all a bunch of startups going after the WebLogics and Oracles of the world.”