Cost Optimization As Major Architectural Considerations for Cloud Application

Although it is generally believed that the biggest challenge of architecting a cloud application is security and reliability, there is another major dimension which is generally overlooked, which is, cost optimization. In response to a poll by Tech Republic on “What is the main risk with cloud computing?”, 59% of the participants identified data security to be the main concern and 20% thought it was reliability of the cloud services. The fact that the applications need to be designed differently to take advantage of cloud and thus reduce cost did not even enter into the consideration.

Traditionally, actual cost of deployment has never directly been considered as a parameter of architectural tradeoffs. Specific parts of the application may get tuned based on the result of load testing. Post deployment, tuning may also happen if the response time is unacceptably slow. Since the hardware and software is a capital expenditure, the sizing is done to take care of future needs and initially there will always be unutilized capacity. So, once the initial investment is made, there is no incentive for spending effort on optimizing the application.

But, when the application is deployed in the cloud it is no longer true. CIOs are taking a serious look at cloud computing for its promise of cost saving through “pay for what you use” philosophy. This implies:

Don’t pay for unutilized resources.

Less resource consumed means more saving.

So, for any cloud application, there will always be an incentive to build and optimize applications to consume lesser resources. Not only is there a paucity of available benchmarks and guidelines, but also the cloud scenario itself is constantly changing. To top that, major cloud platforms differ from each other and the right approach for one may be ineffective and even wrong for another. The best practices will evolve over a period of time but in the mean time, what does an architect do?

In this session, Udayan Banerjee, CTO – NIIT Technologies will provide useful indicators on how to approach this problem. He will:

Review the important platform specific considerations that needs to be taken into account

Provide pointers on how to approach the problem of cost optimization

Udayan Banerjee is responsible for exploring emerging technologies, assessing the impact and giving shape to the technology roadmap for the organisation. He is an engineering graduate from Indian Institute of Technology (IIT), Kanpur and has been working in Indian IT industry for over 30 years in different capacities. During this period, he has been associated with many global enterprises. Udayan is the head of the Technology Innovation Centre (TIC) at NIIT where the centre is instrumental in creating several productivity tools, application frameworks and solution accelerators. The results from his involvement in the area of Model-Driven Development and Rich Internet Application have been made public in form of open source projects. He has published several papers at international conferences. The publications cover a diverse range of topics such as Cloud Computing, Service Oriented Architecture, Web2.0, RIA, Knowledge Management, Code Comprehension & Transformation, Agile Methodologies, Mobile Computing and Model Driven Software Engineering. He also maintains a blog http://setandbma.wordpress.com where he expresses his view on the impact of emerging technologies on enterprises and what strategy should enterprises use to adapt themselves to the emerging environment.