Yesterday was the workshow day for Mix 10. Great day indeed! I attended the Silverlight boot camp in the morning and the “Building Cloud Services with Windows Azure Platform” sessions in the afternoon. I’ll post on Silverlight 4 later on but for now, what caught my attention was the presentation on Azure by Chris Auld from Intergen.
As technical director, I’m obviously concerned with technological progress and making sure we invest money only where the ROI justifies it. I’ve been using EC2 since its inception, mostly for making sure I can scale easily without incurring actual expenses on projects that might realize a profit. Basic equation: nothing to write mom about. But after attending Chris Auld’s presentation, I realize I did not get the Cloud right. Coding for high volume and high availability is not enough on the cloud. Partitioning and denormalizing for performance as one does in a non-cloud environment is not only not enough but will bite you big time when your next invoice comes.
Therefore, while the economic aspect of cloud do relate to scaling and managing upfront costs, it also relates to managing the architecture such as to leverage the possibilities of cloud computing and working with the “pay as you go” nature of that beast. Cloud changes the way one thinks of scaling as well as the way one thinks of his data. For example, denormalization and duplications need to be considered at least as much as the parallel and asynchronous dimensions of the cloud application. Batch jobs, queues, blobs and CSS sprites are all tools one need to consider in his architecture when thinking of cloud. What you store and where you store it is also a consideration. For example, Binaries in SQL Server can make sense but it doesn’t in SQL Azure as we pay by the GB of space.
So what I take from yesterday’s workshop is that cloud is about maths: performance will not be an issue as long as you apply sound development methods. Success though, will come by figuring out the economic aspects of the beast and adjusting the application architecture accordingly. In the end, I think one could feel justify to think of Cloud as a game changer. It will not be so much a divide between those who are on the cloud and those who are not but between those who can leverage the cloud and those who get bitten by it.