Cloud Application Design Paradigm Shift
Posted by Rob Risetto on June 01, 2015
I recently read the SQL Server Blog article Data-intensive Applications in the Cloud Computing World by Mark Souza, General Manager, Windows Azure Customer Advisory Team and it really drove home the concept that moving applications into the Cloud is not just about moving an application and related database to respective virtual
machines running in the cloud.
The article highlights that there is a paradigm shift in designing applications for the cloud, all data doesn’t have to be stored in a traditional relational database.
For scalability, we should be looking at using NOSQL databases for inserting processing/auditing history, message queuing for asynchronous processing and caching engines at edge locations to eliminate unnecessary database access, built-in mail subsystem for notifications and auto-scaling of web/application servers to cater for peaks and lows.
Both Windows Azure and Amazon Web Services provide numerous application building blocks that cover message queuing, caching engines with near user edge locations, emailing/notification systems and NoSQL engines. Add into the mix the various persistent and blob storage options, auto-scaling engines, the cloud providers Hadoop/Data Warehousing solutions for big data processing and of course the traditional relation database engine and you have a rich tool kit that enables a multitude of new design options for application scalability, robustness and to lower costs.
So what are some of the ways to you can lower your costs?
Firstly you don’t have to build the plumbing/building blocks so less development time and therefore your release to market can be faster.
Secondly you can design/deploy your application to auto scale so it only consumes the resources it needs when it needs it.
Thirdly if you take the workload pressure off the traditional relational database (e.g. SQL Server, Oracle) then you don’t have to provision as many CPUs and therefore your licensing costs will be lower.
These are just some of the ways you can reduce costs, there are in fact many more areas of savings and benefits that can be realised once developers have integrated the Cloud concepts within their application.