Sponsored By

Morphing Along With Amazon EC2Morphing Along With Amazon EC2

I've been curious about the way <a href="http://aws.amazon.com/ec2" target="_blank">Amazon.com's Elastic Compute Cloud</a>, or EC2, can be used to create SaaS applications.&nbsp; This week I spoke to the folks at <a href="http://mor.ph/" target="_blank">Morph Labs</a>, who're doing exactly that using an open source software stack.&nbsp; If the idea of using EC2 sounded intriguing but you blanched at the idea of trying to work directly with it, these guys have one way to fix that.</p>

Serdar Yegulalp

March 19, 2008

4 Min Read

I've been curious about the way Amazon.com's Elastic Compute Cloud, or EC2, can be used to create SaaS applications.  This week I spoke to the folks at Morph Labs, who're doing exactly that using an open source software stack.  If the idea of using EC2 sounded intriguing but you blanched at the idea of trying to work directly with it, these guys have one way to fix that.

David Abramowski, the CEO, and Guy Naor, CTO, explained what Morph Labs does with its Morph Application Platform.  MAP allows you to "deploy, deliver, and manage" Web applications through EC2, without having to work with EC2 directly.  Their first big platform makes use of Ruby on Rails, so someone with a Rails app can simply drop it into MAP and get up and running in minutes.  So far they've been working with a beta-test group of about a hundred users, and are confident enough with the system as it is that they plan to roll out the production version of MAP by the end of the month.

The whole thing is, of course, built on open source -- they use CentOS Linux for the OS (like Zoho does); their database solution is PostgreSQL 8.3 for the sake of high availability; Nagios for monitoring; OpenBSD for their firewall; Apache clustering; Mongrel for app servers; and so on.  Ruby on Rails is only the first application platform of many that Morph plans to support in time, so they're by no means limiting themselves to this alone.  (Their term for getting use out of all these tools is "harvesting", which to me is a little more flavorful a word than "leveraging".)

Morph basically serves as a kind of "middleware" for EC2.  The best analogy would be that of a managed hosting company: the hosting company worries about your hardware (and typically your data backups), and you worry about what you most need to worry about -- the stuff running on your server.  The scaling of usage is all transparent -- they add more EC2 instances as needed, which is economical for both them and their users.  The analogy I drew (which they agreed with completely) was that this also allows computing power to be provisioned for a user as flexibly as we now provision, say, bandwidth -- and in a way that's even more dynamic than a traditional virtual server instance.

Morph's implementation charges by the day and allows demand scaling on a daily basis, and by July or so they plan to offer auto-elasticity -- in essence, "burstable" computing, something that Morph didn't feel they could have attempted realistically on their own without something like EC2 supporting them.  If you have a site that's really active only a couple of months out of the year, for instance (say, around Christmas or tax time?), this is a handy way to provision load for that one part of the year without overpaying for CPU capacity that you don't use the rest of the time.

Morph also has things tuned so that they can derive something like 80% to 90% usage from a given EC2 instance, so they don't have to create more instances than they need, either.  The instances also allow them to provide high availability for the applications in question, at a cost of about a dollar a day for their current clients.  They do have their own clutch of physical servers, but those are used mainly for routing reliably into EC2 and monitoring the health of the instances hosted there.

The other big advantage of using Morph on top of EC2, again, is manageability.  As great as EC2 may be, most people want to deploy applications on it and not just operating system instances.  According to David, Ruby developers may be great at creating an app, but aren't always too keen on how to actually deploy it on a particular system.  Morph is designed to close that gap, and there's a deployment demonstration on Morph's site that shows how simple the whole process is.

My long-term theory is that compute-cloud technology may not ever replace standard hosting, but it already seems to provide a set of solutions that have a ready market and aren't easily addressed with fixed pieces of iron.  Morph certainly seems to think so -- and is well-convinced that open source is the way to build something like that.  Proprietary systems never even figured into their business model.  As David put it: "Can you imagine dealing with Microsoft's licensing when you try to launch a cloud instance for only two hours?"  Not me.

Next step: talking to Amazon directly about EC2 under the hood.  Stay tuned.

About the Author(s)

Serdar Yegulalp


Follow Serdar Yegulalp and BYTE on Twitter and Google+:

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like

More Insights