Tuesday, August 24, 2010

Natural Synergy between Cloud Computing and the new Mobile Web

I was recently trying to write a document on how mobile applications will impact the hospitality industry in the coming years. Naturally one of the key technology areas that I talked about was HTML5 and its impact in the coming years. This implied that mobile web applications were likely to dominate n the coming years with the advancement of technology and the browsers, bandwidth (3g, 4g) etc. etc.

We already know that the number of smart phones is exceeding or about to exceed the number of PC’s and this is growing by the day. With the increase in mobile usage predicted by almost every analyst in town, we can easily conclude that mobile web applications which are to be created in the coming years will be accessed by a far higher number of users than the regular web ever had.

This means we are back to the era of the server side development taking dominance with the expectation that the web application will be scalable, able to take on load and yet deliver the agreed upon performance. There was a brief lull in this when people were busily developing native mobile apps. This is because in a native app most of the processing happens on the client and the application connects to the server only for data fetches. So people were busy creating beautiful looking native apps, taking advantage of the device’s features. But we can safely predict that this lull is over and server side architecting is back in fashion and how!!

With the number of smart phones increasing by the day, it is expected that the number of mobile users accessing a web site is a huge, increasing and variable load. During peak hours or periods this load is likely to increase further. Assuming that the application design is optimized, scale is achieved by procuring the required hardware. In the case of traditional hardware design we always followed the maxim of procuring hardware for peak usage. In this case predicting peak usage will be tough as it is apparent that the load is going to increase on a daily basis for a reasonably popular web site. Also this is bound to be a costly affair and introduce tremendous maintenance overheads.

Now comes cloud computing into the picture. Cloud computing as we all know has the capability of providing users with computing resources servers, storage, networks etc. and it is expected that they can be rapidly provisioned and released with minimal effort from the service user or the service provider, at a cost of course. The mantra is the cost savings that cloud computing provides without the need for upfront infrastructure procurement and maintenance. I.e. in the cloud way of managing infrastructure, an enterprise needs to rent only that much resource as needed for immediate use. Resources can be provisioned just in time and immediately released when no longer required.

Studies indicate that if a web application always has a uniform load there is no cost benefit in moving it to the cloud. Cost savings are achieved only in cases of dynamic load, by acquiring and releasing resources. So applications which have uneven load patterns become candidate applications which can derive cost saving from cloud deployment. More uneven load patterns will imply more scope for cost saving.

Thus it is a no brainer to conclude that mobile web applications or business services expected to cater to mobile usage are ideal candidates for being deployed on the cloud as it gives them cost savings as well as helps them cater to dynamically varying loads smoothly.

Another thought which comes into my mind is the security worry that enterprises have about deploying applications on public clouds. With mobile applications, it is likely that they may not be very critical applications and hence can be deployed safely onto the cloud.

Hence my conclusion.. What do you think??