Thursday, July 2, 2009

Can Joyent Create a PaaS Platform More Cost-effective than Amazon EC2?

At last week's Enterprise 2.0 Conference in Boston, I had the opportunity to talk to James Duncan, Director of Platform Strategies at Joyent. Joyent is a cloud computing vendor in the IaaS (infrastructure-as-a-service) market. They sell virtualized servers called Joyent Acclerators, which customers use for running Web applications.

The idea behind IaaS is that customers can grow or shrink their infrastructure dynamically. Expecting a surge of business, or need to crunch vast amounts of data for a rush project? No problem. IaaS lets you instantly access as many servers as you need: 50, 500, even 5000 or more. Project over? Again, no problem. Shut down the servers at once. You've managed to meet your computing needs without buying, configuring, and managing racks of servers yourself.

In January, Joyent bought Reasonably Smart, a cloud computing start-up that James and his business partner Bryan Bogensberger had founded the previous summer. First on their own and now at Joyent, James and Bryan have been developing the Smart Platform, a PaaS solution that lets programmers develop server applications in JavaScript and then deploy these applications to the cloud using Git, an open source version-control system. Now branded as a Joyent solution, the Smart Platform is ready to go into a private Beta test.

I asked James why he chose JavaScript as the programming language for the new platform. Why choose a language famous for improving interactivity in a browser, instead of a language more commonly associated with server-side applications, such as Python or Perl or Java?

He pointed out that JavaScript was designed from the outset to deliver a lot of functionality in a secure, self-contained environment (known in programming as a "sandbox"). Secure autonomy is a great feature for applications and services running in a shared environment such as a data center, where virtual servers from several customers might be running on the same machine. He also pointed out that more money is going into training and documentation work on JavaScript than into other popular languages, such as Ruby, PHP, and Python. And, of course, JavaScript is a proven language, already popular with lots of programmers, who have been using it for years to develop sophisticated client-side Web applications. Now these programmers can apply their knowledge of JavaScript to the development of fast, efficient server applications that run in the cloud.

The Smart Platform offers a couple of other advantages that cloud computing users may find attractive.

First, the platform is open source. Joyent hopes that customers will like Joyent's PaaS services so much, they'll subscribe to Joyent and pay them to run the platform. But customers and even non-customers are free to move the entire stack in-house. Running the platform in house could be helpful for developing prototypes, running private clouds (shared, elastic services run entirely behind the firewall), or combining private and public clouds, as needed. Also, by making the platform open source, Joyent expects to ease customers' concerns about being locked in to a particular PaaS vendor. (Vendor lock-in has been much discussed lately in cloud computing circles.)

Another important advantage of the Smart Platform is that it's truly priced like a utility: customers pay only when an application is servicing requests. They pay nothing when is present on a virtual server, but inactive (that is, not processing data or interacting with other applications). This utility pricing model has the potential to make Joyent far more cost-effective than even Amazon's highly affordable Elastic Cloud Compute (EC2) service.

James offered this example. Let's say you're hosting your Web site in the cloud for a month. On Amazon, you would pay for the Amazon Machine Image (the Amazon virtual server) for the entire month, even if the Web site gets only a few hits and actually active for a few seconds or minutes.

On the Joyent Smart Platform, in contrast, you would pay only for those few seconds or minutes of activity; you would pay nothing for all the time the server is hosted on the Smart Platform inactive. As a result, your bill should be a small fraction of what it would be from Amazon.

Pricing based on activity rather than deployment could make a big difference for customers whose hosted applications are active only sporadically. It could also be attractive for customers who have forgotten to decommission servers once a project is over and have then been surprised to receive a big bill from a cloud service provider.

If you're interested in participating Beta of the Joyent Smart Platform, visit www.reasonablysmart.com.