WebScale and CloudComputing Defined
By alkagupta on Oct 03, 2008
Cloud Computing: There are multiple definitions of CloudComputing, here is one from Forrester Research: A pool of highly scalable, abstracted infrastructure, capable of hosting end-customer applications, that is billed by consumption. Another simple one by Appistry: Cloud computing consists of shared computing resources that are virtualized and accessed as a service, through an API on a pay-to-use basis, delivered by IP-based connectivity, providing highly scalable, reliable on-demand services with agile management capabilities.
WebScale: Not sure when and how this term was coined but is quite popular in the Sun marketing community. I like to define it as that segment of applications that need to scale to millions of users on the web. These applications would be of the likes of YouTube and Facebook. Such apps are being deployed increasingly in a cloud computing environments. This is because a lot of these apps need to scale dynamically depending on the unpredictable peak loads. Classic example is that of Animoto which had to scale from 50 EC2 instances to 4500 instances in 3 days after it was launched due to the unexpected increased demand of the app by the end users. On the other extreme, some of the Web applications may not take off, in which case, the application provider has no long term commitment with the cloud hosting provider for leasing the infrastructure. Hence that upfront deployment costs can be avoided.