Thursday 3 January 2013

What really is Elastic Cloud?

I have been lately hearing more and more about Elastic Cloud and like all other enterprise solutions regarding which I have already posted in this blog, it really took me a while to distinctly identify this one from the already discussed cloud infrastructure.

So what exactly is elastic cloud? With due credits to http://aws.amazon.com/ec2/, elastic cloud infrastructure provides users or the cloud computing environment with greater flexibility and scalability. As businesses start-up on the cloud, they need fewer virtual servers and fewer disks for the storage of business-critical data. As the businesses expand, they will need more resources and Elastic Cloud framework provides exactly this requirement.

I can illustrate the above with an example. A social networking website like facebook initially started off with tens of users, then it became hundreds, then thousands and so on. Currently, there are over a billion facebook users and I can estimate that at least half a billion facebook users are active and online at any time. They are active in that they either keep posting status updates, pull the updates from their friends on their feeds, upload new pictures or simply browse through the existing pictures. There is a whole lot of data that is constantly being processed in these activities and it would have been really difficult for a company like facebook to plan and procure the hardware support infrastructure to accommodate the needs of so many users well before-hand.

Here is where the Elastic Cloud environment gives ever-growing companies like facebook momentary respite. In this framework, businesses pay as they use. So if initially facebook procured 1000 servers and 1000 disks, and paid a monthly rental of USD 10000 for the same, with increased need they can scale up their resources by making the additional payments. Elastic Cloud infrastructure service providers like Amazon Web Services(AWS) facilitate this scalability.

What we need to note here is that the program code should be made transparent to the dynamic increase in the number of resources. E.g. if the code has been written for 100 disks in a way that it references disks by an identifier, it may not facilitate this dynamic increase in storage and care must be taken to avoid exactly this.  That's what imparts elasticity to an Elastic Cloud and services like AWS mask the operating system and the programming language used by the user from the underlying hardware infrastructure.

I think I have missed another vital point. Elastic Cloud is also intelligent enough to automatically scale-up at times of heavy load by using a paradigm like Elastic Map Reduce (again with due credits to Amazon)http://aws.amazon.com/elasticmapreduce/. This means that if during the hours 4 AM to 7 AM, you have only 100 users and this increases to a million past 7, the cloud will automatically deploy more processors to provide for this increased need for computation.

What's strikingly impressive is its inherent flexibility. Services like AWS have made possible many new start-ups and have enabled them to grow at their pace without much initial planning. This has truly revolutionized businesses that can start very quickly today without having to wait for the procurement and thereby setup of the hardware infrastructure. In my opinion, this is just the beginning. We are going to see many more similar innovations in this decade. So stay alert and awake!


No comments:

Post a Comment