It is great to run production applications in the cloud where one can easily provision additional servers when the need arises, and these servers can be released when they are no longer needed. Applications can be engineered to automatically trigger these changes in response to some defined situations (utilization, transaction rate, time of the day etc.,). Rules engines can be further refined to take cost into consideration when making these adjustments.
The economies of operation in the cloud are rapidly erased if the application requires a large number of servers (sized to meet peak or near peak demand, a.k.a excess capacity) to be operational at all times. It is therefore cost prohibitive to operate a production application if it does not make full use of the “On Demand” nature of resources in the cloud. Greg Arnette describes this in his recent blog post describing the new thinking that is required in order to build an application for cloud deployment, something he calls “gaming the cloud with elastic applications”. Greg writes that:
“A simple fact proven through real-world experience: “Net new” software stacks, designed with cloud operating principles firmly rooted in the core design, are a “must have” to take advantage of cloud computing economics and reliability.”
The term “Elastic Application” seems to best describe this new design paradigm. [...]