Cloud Computing enables a whole new dimension for improved business continuity. What’s adding to its success: it is constantly getting less expensive. Intelligent systems control the current demand as closely as possible, avoiding over- or under-provisioning. This ensures the use of exactly the amount of ressources necessary.
These so called elastic clouds encounter varying workloads by allocating and removing resources in an automatical manner. By this they are differentiating themselves from previous computing concepts, such as parallel computing or grid computing. The dynamic variation can help to reduce costs, but also aims at maximizing the response time of a request and trying to use resources in the most economical manner.
The following four directives are key to building an elastic cloud application:
- Scalability – the cloud computing application must allow applications to scale in size, complexity and resource usage
- Resource Adaptability – the framework dynamically harnesses resources as they become available, adapts to loss or failure of allocated resources and still allows the system to be executed without interruption
- Fault tolerance – the framework allows the application to continue to run despite of hardware failures, communication failures and other errors. It must dynamically rerun failed tasks or must migrate them to other sites in the event of such failures.
- Portability & Plattform Independency – the framework deploys and runs the application on different cloud computing plattforms with minimal intervention by the user
Examples of elastic cloud and IaaS (Internet as a Service) environments are Amazon ec2 , Microsoft windows azure and Google computing.
Still a challenge for elastic cloud computing is that elasticity takes time. In the very moment a website becomes popular, new ressources have to be added, e.g. by acquiring a virtual machine. The mechanism is heavily depended on factors such as image size, data center location and number of virtual machines to be added. It might take up to several minutes until such a system is ready to use.
Keeping the time gap in mind, there are a lot of advantages connected with cloud computing addressing better scalability, better run-time resource adaptability, higher fault tolerance and a chance to reduce costs while at the same time requiring less effort and intervention from the user.
Sources
http://en.wikipedia.org/wiki/Elasticity_(cloud_computing)
http://www.cse.nd.edu/~ccl/research/papers/elasticreplex_cloudcom11.pdf



