DotCloud has become the latest platform-as-a-service provider to add features typically associated with infrastructure-as-a-service offerings, this time by enabling vertical scaling, the company said Tuesday.
Typically, PaaS providers allow horizontal scaling, where customers deploy code on multiple servers and add more servers as they need them, with traffic distributed across the servers.
"The problem is that not every part of your app can scale that way," said Solomon Hykes, founder and CEO of DotCloud.
For instance, databases require vertical scaling when they grow. To scale vertically, developers add RAM or compute power, rather than new servers.
PaaS providers don't typically support databases, so vertical scaling isn't crucial to their customers, Hykes said. "We carry the more ambitious burden of running all the important parts of your app," Hykes said.
Support for vertical scaling is one way that this PaaS service is approaching the kind of control more often associated with IaaS offerings. With IaaS, like Amazon Web Services, users are able to add RAM and compute as needed and choose which development libraries and software versions they want to use, while PaaS offerings don't usually offer such granular controls.
"We expose more and more control as we figure out how to expose that without making developers' lives more complicated," Hykes said. "Anyone can give you access to an Amazon server. The hard part is giving you the equivalent power without the complexity of using AWS directly."
In addition to vertical scaling, DotCloud is also announcing support for Websockets, a protocol that allows for fast real time communications, and support for MongoDB 2, a popular NoSQL database.
All three new capabilities are aimed at a certain group of developers who are building apps in a new way, Hykes said.
Other PaaS providers have also started adding features that give their customers more control over the platform. OpenLogic late last year started letting customers choose their own database software and version of development environments like Tomcat. Their customers can also run the PaaS on Amazon Web Services or Rackspace.
Adding support for multiple development languages is also part of offering customers additional flexibility, and most PaaS providers now support multiple languages.