When I first read about EC2 offering from Amazon, I didn’t quite understand it. The service provided by them is an example of IaaS (Infrastructure as a Service) but why do you start the definition with that is a Web Service for Computing capacity in the cloud rather than explaining the infrastructure offer first?. I didn’t get it, so as many others. There were so many questions like whether they are the regular web hosting providers or they do any special service etc. There are other providers like Rackspace, Go Grid and many others who explain it upfront but not Amazon. Anyway, for the folks out there who are still struggling to get a grip, let me try to explain it in a simple way.
Amazon EC2 can be explained by comparing with a Web hosting Provider. So What is the difference between a normal Web hosting Provider and the other Cloud Providers?. The difference comes in the flexibility. With a normal provider you are bound to a contract, the minimum is at least a month but with the Cloud providers you don’t enter into any contract rather they provide service by hours. Suppose if you need the platform/infrastructure only for certain period of time it could be hours or days, you can utilize their service only for the time you use it. For example if you are doing a product launch and you anticipate an immediate spike in traffic for certain days, the Cloud providers are the way to go. Not all Cloud Hosting Solutions offer as Amazon’s by hours or days however the concept of hosting, scalability is common between them.
Okay, now let’s get to the details of how this works. In order to understand how to use them, you need to have a little understanding on Load balancing. Once you sign up for EC2 and figure out the options and based on your needs you have to set up some instances and Amazon provides you with IP address(es) which you can use it for load balancing between your server and Amazon servers. If you want the load balancing to be handled by Amazon itself you configure your EC2 instances pointing to the their load balancer and use the DNS name provided by them to set it up in your server’s load balancer. And if you want more control of the instances Amazon provide the web service that enables you to handle the instance management yourself.
I recently encountered a question, whether we can use shared hosting to be configured to Amazon instance, and my answer was ‘No’, since this involves in configuration of load balancers, you should have some control over your servers which you don’t get from a shared hosting.
So that’s it for now. Amazon EC2 offers lot more than what is explained here, so for detailed explanation you can check out their website.