Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cost Optimization as Major Architectural Consideration for Cloud Application

2,076 views

Published on

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. That 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?

Published in: Technology
  • Just walk into any IT department, mention Erlang and see the reaction ...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • hmm... LISP has been used in many enterprise apps, specially airline industry. All major airlines industry price calculation software run on LISP. As for Erlang, it has been the backbone of telecom sector for years. All major Ericsson and Nokia systems run on Erlang... So both languages are not that much new to 'business IT community'...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Agreed that these languages are not new but for the business IT community they are as good as new.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dont understand how can you call Functional programming and Erlang as new breed. Erlang has been around since early 90's and functional programming has been around since 1950's...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Cost Optimization as Major Architectural Consideration for Cloud Application

  1. 1. Cost Optimization as Major Architectural Consideration for Cloud Application<br />Udayan Banerjee<br />udayan.banerjee@niit-tech.com<br />http://setandbma.wordpress.com<br />
  2. 2. Service provider with LARGE number of networked computer systems …<br />Allowing you to use a SLICE of that processingpower and storage …<br />SHIELDING your program and data from others sharing the same service, and<br />Charging you only for your ACTUAL USAGE<br />
  3. 3.
  4. 4.
  5. 5. You have no case <br />if hardware is already in place<br />
  6. 6. Match movement to cloud <br />with <br />Your hardware replacement cycle<br />You have no case <br />if hardware is already in place<br />
  7. 7. Elastic Capacity – Pay for what you actually use<br />Economy of Scale – Hardware, Infrastructure & Management<br />Productivity through Sharing – Better utilization of Resources<br />
  8. 8. Dedicated Server Hosting vs. Cloud On-demand Hosting<br />«<br />»<br />
  9. 9. Dedicated Server Hosting vs. Cloud On-demand Hosting<br />For Fixed capacity<br />Prices are comparable<br />«<br />»<br />
  10. 10. For You<br />Elastic Capacity – Pay for what you actually use<br />Economy of Scale – Hardware, Infrastructure & Management<br />Productivity through Sharing – Better utilization of Resources<br />For the Cloud Service Provider<br />
  11. 11. Cyclic<br />Bursting<br />Growing<br />On and Off <br />Load<br />Load<br />Load<br />Load<br />Time <br />Time <br />Time <br />Time <br />
  12. 12. Cyclic<br />Bursting<br />Growing<br />On and Off <br />Load<br />Load<br />Load<br />Load<br />Variable Load = Acquire and release resources when needed<br />Time <br />Time <br />Time <br />Time <br />
  13. 13. Cyclic<br />Bursting<br />Growing<br />On and Off <br />Load<br />Load<br />Load<br />Load<br />Variable Load = Acquire and release resources when needed<br />Time <br />Time <br />Time <br />Time <br />Infrastructure should support it<br />Application should be designed for it<br />
  14. 14. Acquiring and releasing resources <br /><ul><li>What resource?
  15. 15. What is the unit?
  16. 16. How are you charged?</li></ul>Depends of the provider<br />Google App Engine<br />
  17. 17. Acquiring and releasing resources <br /><ul><li>What resource?
  18. 18. What is the unit?
  19. 19. How are you charged?</li></ul>Depends of the provider<br />Google App Engine<br />
  20. 20. Acquiring and releasing resources <br /><ul><li>What resource?
  21. 21. What is the unit?
  22. 22. How are you charged?</li></ul>Depends of the provider<br />You have 4 parameters to juggle with<br />Google App Engine<br />
  23. 23.
  24. 24. For Elastic Capacity -<br />Peak load should require more than 1 CPU<br />
  25. 25. Google App Engine<br />
  26. 26. For Elastic Capacity -<br />Taken care by cloud OS<br />You have no control<br />Google App Engine<br />
  27. 27.
  28. 28. For Elastic Capacity -<br />Considerations similar to Amazon<br />
  29. 29.
  30. 30. Traditional thinking – Larger problem = LARGER machine<br />Cloud thinking – Larger problem = MANY machines<br />
  31. 31. Traditional thinking – Larger problem = LARGER machine<br />Cloud thinking – Larger problem = MANY machines<br />Think Distributed<br />Think<br />Parallel<br />
  32. 32. Traditional thinking – Larger problem = LARGER machine<br />Cloud thinking – Larger problem = MANY machines<br />Think Distributed<br />Think<br />Parallel<br />Changed Paradigm for …<br />Efficiency = Cost Saving<br />
  33. 33.
  34. 34. New Breed of Algorithm<br />
  35. 35.
  36. 36. New Breed of Languages<br />
  37. 37. March 1, 2010<br />?<br />March 11, 2010<br />
  38. 38. March 1, 2010<br />Managing distributed in RDBMS have remained a Technology Challenge<br />?<br />March 11, 2010<br />
  39. 39. New Breed of Persistence Mechanism<br />
  40. 40.
  41. 41.
  42. 42. Lesser Processing<br /> at Server <br />= <br />Cost Saving<br />
  43. 43. Lesser Processing<br /> at Server <br />= <br />Cost Saving<br />HTML5 ?<br /><ul><li>Offline working
  44. 44. Local storage
  45. 45. 2 way communication with server
  46. 46. Rich Text Editor
  47. 47. Support for 2D drawing</li></li></ul><li>
  48. 48. What happens if the cost structure changes? <br />?<br />
  49. 49. What happens if the cost structure changes? <br />?<br />How do you know which design pattern is more efficient for cloud?<br />
  50. 50. What happens if the cost structure changes? <br />?<br />Are there more cost saving potential post deployment? <br />How do you know which design pattern is more efficient for cloud?<br />
  51. 51. What happens if the cost structure changes? <br />Does EC2, GAE & Azure work in similar way? <br />?<br />Are there more cost saving potential post deployment? <br />How do you know which design pattern is more efficient for cloud?<br />
  52. 52.
  53. 53. Cost Optimization as Major Architectural Consideration for Cloud Application<br />Udayan Banerjee, CTO – NIIT Technologies Ltd.<br />udayan.banerjee@niit-tech.com<br />http://setandbma.wordpress.com<br />

×