One of the principal issues discussed regarding Cloud Computing is scalability. Many look to CC as the answer to their scaling needs, others are skeptical and question CCs capability to scale.
The scalability issue centers on the compute model. We have already seen the breakdown of CC into the three compute models of Hosted Services (thin client, centralised architecture, data and capabilities exclusively in the cloud), Attached Services (traditional desktop client, client-server architecture, data and extended capabilities in the cloud), and Rich Internet Services (rich client, p2p architecture, data and capabilities distributed, clients part of the cloud). This categorisation helps one to map these models to various platforms and architectures. For example, Web 1.0 is an analogy of the Hosted Service model, whilst Web 2.0/3.0 can be compared to the Rich Internet Service model.
The issues surrounding scalability in CC can be easily analysed through these models. Experience has clearly shown that thin client models scale best for applications with simple capabilities and data models - those most often associated with task workers. Thick client models scale best for applications with complex data models, processing and capabilities - applications targetted for everyone else. The same applies for CC. Complex applications require a greater level of interactivity with data - users working with macro-micro-nano views of data, graphics-intensive applications, disconnected or intermittently connected clients, high levels of integration between systems all involve greater requirements on concurrency, processing and data management. As Web 2.0 developed out of the growing desire to bring complex applications to the Web and to support their requirements, Rich Internet Services are being developed to do the same for the Cloud.
When organisations first made their forays into CC, they began with Hosted Services as a replacement for Desktop applications. Whilst this made sense with task worker apps, which have a relatively low interactivity with data, this failed visibly with mobile professionals, "hot desktop"-ers, contract/outsoruced staff and telecommuters, which typically have high interactivity with data. Principally, these failures were characterised by an impedance mismatch between rich client requirements and user experience, and the data and network architecture of Hosted Services. High data interactivity drives complex data models, and often is the motivator for CDM, in applications; such applications can only scale when they distribute the burden of processing complex data models. This scalability is lost in the Hosted Services model, since all processing must take place on the server. When this is coupled with the challenging UX requirements of such applications, which include resolving inconsistencies between many online transaction processes, the resource requirements exponentiate. With Hosted Services, long-lived sessions holding open anywhere from 250 MB to 1.5 GB of memory will strangle concurrency and performance.
Users began to demand a solution to this, and developers came to the same conclusion they did for data intensive web apps, mobile apps and MMOR games - a greater and more balanced distribution of processing across the broader topology, which itself meant returning to the innovations of 15 years ago and managing clients and servers alike as equivalent nodes in the network. This breaks down the definitions and barriers between client and server which results in greater scalability. When clients are defined based on the sequence and direction of messages/requests, this enables heretofore client hardware to be used both as consumers and providers in CC. With the inherent efficiencies of presentation and resource management of today's mobile client hardware, the benefits are hard to miss. When web apps themselves followed this path to greater scalability, one must wonder why it has taken as long as it has for consumers, developers and providers alike to reach the same conclusion.
Similar parallels can be found in virtualization. Gartner makes some pointed observations about this in their
report from October 2008, firmly predicting a downturn in VDI adoption as the cost/benefit ratio becomes clearly with time and experience. I would equally support such a prediction for Hosted Services.