May 8, 2011
Do you keep every single light on in your house even though you are fast asleep in your bedroom?
Of course you don't. That would be an abject waste. Then why do most firms deploy peak capacity infrastructure resources that run around the clock even though their applications have distinct usage patterns? Sometimes the applications are sleeping (low usage). At other times, they are huffing and puffing under the stampede of glorious customers. The answer is because they have no choice. Application developers and infrastructure operations pros collaborate (call it DevOps if you want) to determine the infrastucture that will be needed to meet peak demand.
- One server, two server, three server, four.
- The business is happy when the web traffic pedal is to the floor.
For example, an eCommerce shopping website might experience peak traffic between Cyber Monday and the end of the year. To meet the peak load, DevOps decides to deploy the maximum hardware plus a fudge factor to meet the demand. This infrastructure consumes electricity, power, and capital to meet the peak shopping period, even though it is July!
Thankfully, solutions to this wasteful nightmare are on the way.
Enter Cloud Computing: Put The Pedal To The Metal Only When Needed To Save Serious Cash
The power of cloud economics is elasticity — the ability to pay for resources only when they are needed and to scale infrastructure up and down on demand. Need 10, 20, or 500 more virtual infrastructure resources (such as server instances) to accommodate peak traffic generated by a Super Bowl commercial? No problem. You can provision and pay for more virtual resources from your friendly neighborhood cloud provider or from your firm’s internal cloud infrastructure. And, when the traffic subsides to normal levels, you can just as easily deprovision infrastructure resources to the minimum number you need to accommodate your application’s performance and workload.
Cloud computing is not all rainbows and butterflies though.
First of all, cloud infrastructure resources can be more expensive than your own infrastructure, especially if you have a sustained load. Public cloud providers such as Amazon EC2 can be much more expensive in these cases. But, if you have very volatile load, then cloud computing can save you both capital expense and operational expense compared to deploying your own infrastructure to handle the the peak.
Cloud Is Buzzword Without Elastic Application Platforms
You understand that cloud infrastructure, whether public or private, can be provisioned and deprovisioned on-demand. You save money when your application is "asleep" because you only pay for the minimum rather than maximum needed to meet peak demand. The trick, though, is to do this automatically. You can't be sitting by a traffic monitor dashboard and manually provisioning and deprovisioning cloud resources. This must be automated.
Elastic application platforms (EAPs) are the solution. EAPs run on top of cloud infrastructure. You deploy your application to the EAP, and it monitors traffic and automatically provisions and deprovisions cloud resources as needed. My colleague John R. Rymer and I have published a full research report on EAP for Forrester clients (non-clients can read the executive summary).
We are fast approaching the “crossing the chasm” moment for EAPs.
Only a handful of vendors are offering comprehensive EAPs today, but Microsoft is in the game with its Azure platform. So are GigaSpaces with XAP, Red Hat with OpenShift, VMware with Cloud Foundry, and many others. Elastic application platforms threatened entrenched application server business for IBM WebSphere and Oracle WebLogic, but we expect them to come to the party loaded for bear and with competitive capabilities.