Technical Blog

1 Post tagged with the amazon tag

Unless you've been hibernating the past few years, you're probably aware of Amazon Cloud Computing Infrastructure. Maybe you're even wondering if you could deploy your favorite ecommerce application "in the cloud" and finally reach the sky ;-)

 

The short answer is yes, you can.

 

What's really behind Amazon EC2?

 

If you've ever used a virtual machine a la VMWare or Xen, then you're already an EC2 expert. The true power of EC2 is its web service layer, which allows you to dynamically start, deploy, and run pre-configured virtual images, or so-called Amazon Machine Images (AMIs). If you don't want to deal with the web services directly, Amazon recently released a web console (see https://console.aws.amazon.com/) to perform most AMI-related activities.

 

But what about Elastic Path deployment?

 

Elastic Path deployment is pretty much the same. You need to produce some kind of infrastructure design, deciding your targeting production environment and typology (OS, number of CPUs, RAM) as well software stack (web application container, DBMS). The biggest difference is that instead of purchasing hardware, you think in terms of AMIs.

 

You can create your own AMI (http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/) or start from an existing one and tailor it to your needs by installing any required software. So as far EP deployment is concerned, all you have to do is to follow the deployment guide to set up and configure your app servers, db servers, etc. ...

 

Once you have a configured AMI, you need to bundle it (http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/). This ensures that your installed software and configuration is persisted (all changes made to a running instance are lost in the event of a crash or if you terminate it). That's one difference with VMWare images. The bundled AMI becomes your master AMI that you will use to launch new instances in response to load increases.

 

Once you've configured your AMI for your web layer, app server and db layer, all you need to do is to start your default set of AMI instances, configure your load balancer and proxy, and deploy your EP war files... and hope you're good to sell!

 

Any known limitations while deploying on Amazon EC2?

 

There is one major limitation when it comes to clustering and sticky/shared session in clustered app server farms: currently, EC2 doesn't support any broadcast mechanism. You can always store user sessions in the database so that they can be "replicated" between running app server instances. Or you can leverage Open Terracota technology for sticky session replication. Have a look at this pretty nice post for more details: http://blog.decaresystems.ie/index.php/2007/02/12/amazon-web-services-the-future-of-datacenter-computing-part-2/.

 

 

Stay tuned for a complete step by step deployment on Amazon EC2, including dynamically scalling for your traffic load. So don't forget your credit card ;-)

0 Comments Permalink