« Julian Browne on Space-Based Architecture | Main | Even Analysts Face Open Source Questions »

August 23, 2007

Scaling Stateful Applications on Amazon EC2

A lot of people have been writing about how cool the Amazon EC2 service is -- and it is. On his blog, Mike Nicholls does a particularly good job of explaining the advantages EC2 gives to start-ups and entrepreneurs in cost-effectively and easily scaling their business.

I agree with every word Mike says, but there are is a major issue he does not address. It is that even if you have a cost-effectively scalable infrastructure, the fact remains that you need to build your app in a way that it can easily scale-out across many machines -- and grow (preferably linearly), as needed. This is a particularly big challenge when you are trying to build stateful, low-latency or data-intensive applications (or a combination thereof).

For those who have been following this blog, or GigaSpaces in general, you know that it is exactly that challenge we are addressing with Space-Based Architecture and the GigaSpaces eXtreme Application Platform.

Now, we are marrying the two together -- the scalable cost-effective infrastructure of Amazon EC2 with the linear scalability of Space-Based Architecture, including for stateful, high-performance apps. You can utilize the full benefits of SBA, or just the In-Memory Data Grid.

Dekel Tankel and Alon Lahav in my team at GigaSpaces have been doing a great job on this and just today made available a public AMI (Amazon Machine Image) for the GigaSpaces XAP platform. We're still working on improvements and optimizations, but it is ready for people to start playing around with.

  • You can find the GigaSpaces AMI here.
  • General description in the Amazon Web Services Solution Catalog here.
  • Detailed paper with set up instructions and code examples here (PDF).

We're already working with a couple of beta customers on EC2, including some folks who are building a Web 2.0 social networking type site.

And as Luke Flemmer at Lab49 points out, it's a great environment for testing distributed apps.

So please try it out and let me know what you think (and remember it's kinda beta-ish).

BTW, Jason Carreira and others asked for this on this TheServerSide thread. Well, folks, here it is, as Nati promised...

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/743706/21059107

Listed below are links to weblogs that reference Scaling Stateful Applications on Amazon EC2:

» Create a problem from Startups & Online Business
One of my commenters Gevas Scaling Stateful Applications on EC2 on the EC2 Story and Entrepreneurs made some comments about me not mentioning the architecture aspects of building a web application. He is right, I did only put a paragra... [Read More]

» Bringing Data Awareness to the Grid (and Amazon EC2) from Nati Shalom's Blog
For those who aren't familiar with the concept of Grid Computing, a brief primer: Grid is a well known paradigm designed to reduce the time it takes to perform a batch job through distributed parallelization. How does it work? Most [Read More]

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Hi

Its Mike Nicholls here, thanks for the comments. I agree, I did gloss over the architecture issue. (I mentioned it, ie "Somewhere along the way you realise that your application wasn’t built to deal with this many people and make a few architectural changes to the way it works.

Ideally someone would spend a lot more time thinking about this issue (Im a business guy so Im aware of it, but more worried about creating this problem than solving it) however from an entrepreneurial perspective, I have seen developers (come to think of it, technicians in general)labour for months about technical details whilst not even thinking about if the dog will eat the dog food (or if they will survive).

I think its important, but lets create a traffic problem, then when the idea proves to be something the dog wants to eat, work out how to solve the technical scalability issues.

Thanks

Mike

Well, too many sites face the problem of success, i.e., not being able to handle the traffic. The two things are not contradictory. With products like GigaSpaces you can easily build your app for small scale and grow as needed without changing the app.

Post a comment

If you have a TypeKey or TypePad account, please Sign In