cost optimization as major architectural consideration for cloud application
DESCRIPTION
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 resourcesLess resource consumed means more savingSo, 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?TRANSCRIPT
![Page 1: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/1.jpg)
Cost Optimization as
Major Architectural Consideration
for
Cloud ApplicationUdayan Banerjee
[email protected]://setandbma.wordpress.com
![Page 2: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/2.jpg)
Service provider with LARGE number of networked computer systems …
Allowing you to use a SLICE of that processing power and storage …
SHIELDING your program and data from others sharing the same service, and
Charging you only for your ACTUAL USAGE
![Page 3: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/3.jpg)
New
Technology
Adoption
New Capability
SimplificationCost
Saving
![Page 4: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/4.jpg)
Cloud
Computing
New Capability
Simplification
Cost
Saving
![Page 5: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/5.jpg)
Cloud
Computing
New Capability
Simplification
Cost
Saving
You have no case
if hardware is already in
place
![Page 6: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/6.jpg)
Cloud
Computing
New Capability
Simplification
Cost
Saving
Match movement to cloud with
Your hardware replacement cycle
You have no case
if hardware is already in
place
![Page 7: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/7.jpg)
Elastic Capacity – Pay for what you actually use
Economy of Scale – Hardware, Infrastructure & Management
Productivity through Sharing – Better utilization of Resources
![Page 8: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/8.jpg)
«»
Dedicated Server Hosting vs. Cloud On-demand Hosting
![Page 9: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/9.jpg)
«»
Dedicated Server Hosting vs. Cloud On-demand Hosting
For Fixed capacityPrices are comparable
![Page 10: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/10.jpg)
Elastic Capacity – Pay for what you actually use
Economy of Scale – Hardware, Infrastructure & Management
Productivity through Sharing – Better utilization of Resources
For You
For the Cloud Service Provider
![Page 11: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/11.jpg)
Lo
ad
Bursting
Time
Lo
ad
Growing
Time
Lo
ad
Cyclic
Time
Lo
adOn and Off
Time
![Page 12: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/12.jpg)
Lo
ad
Bursting
Time
Lo
ad
Growing
Time
Lo
ad
Cyclic
Time
Variable Load = Acquire and release resources when needed
Lo
adOn and Off
Time
![Page 13: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/13.jpg)
Lo
ad
Bursting
Time
Lo
ad
Growing
Time
Lo
ad
Cyclic
Time
Variable Load = Acquire and release resources when needed
Lo
adOn and Off
Time
Infrastructure should support it
Application should be designed for it
![Page 14: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/14.jpg)
Acquiring and releasing resources • What resource?• What is the unit?• How are you charged?
Depends of the provider
Google App Engine
![Page 15: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/15.jpg)
Google App Engine
Acquiring and releasing resources • What resource?• What is the unit?• How are you charged?
Depends of the provider
![Page 16: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/16.jpg)
Google App Engine
Acquiring and releasing resources • What resource?• What is the unit?• How are you charged?
Depends of the providerCPU Storage Bandwidth Data I/O
You have 4 parameters
to juggle with
![Page 17: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/17.jpg)
CPU Storage Bandwidth Data I/OChoose from 9 available virtual machine configuration
Charged for the duration the machine in ON
Charged for the provisioned storage
Charged on actual volume
Charged on actual volume
![Page 18: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/18.jpg)
CPU Storage Bandwidth Data I/OChoose from 9 available virtual machine configuration
Charged for the duration the machine in ON
Charged for the provisioned storage
Charged on actual volume
Charged on actual volume
For Elastic Capacity -Peak load should
require more than 1 CPU
![Page 19: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/19.jpg)
CPU Storage Bandwidth Data I/OCharged based on actual CPU cycles used
Limit imposed on peak usage & total usage
Up to a level it is free
Charged for the actual data volume
Up to a level it is free
Charged on actual volume
Up to a level it is free
Charged on actual volume
Up to a level it is free
Google App Engine
![Page 20: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/20.jpg)
CPU Storage Bandwidth Data I/OCharged based on actual CPU cycles used
Limit imposed on peak usage & total usage
Up to a level it is free
Charged for the actual data volume
Up to a level it is free
Charged on actual volume
Up to a level it is free
Charged on actual volume
Up to a level it is free
For Elastic Capacity -Taken care by cloud OS
You have no controlGoogle App Engine
![Page 21: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/21.jpg)
CPU Storage Bandwidth Data I/OCharged for the duration an application is deployed
No specific option to select virtual machine configuration
Charged for the provisioned storage
Charged on actual volume
Charged on actual volume
![Page 22: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/22.jpg)
CPU Storage Bandwidth Data I/OCharged for the duration an application is deployed
No specific option to select virtual machine configuration
Charged for the provisioned storage
Charged on actual volume
Charged on actual volume
For Elastic Capacity -Considerations similar
to Amazon
![Page 23: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/23.jpg)
Cloud Computing is about cost saving
═ No variable load – no cost saving
═ Match Unit of scalability & Size of application
═ Pricing dictates tradeoff between CPU, Storage, Bandwidth & Data I/O
Think distributed – think parallel – it is different
═ Look beyond Relational Databases
═ Richer client – lesser server load – reduced cost
═ Measure – Measure – Measure
═ Learning from one platform not transferrable to another
Cost optimized design will become a moving target
![Page 24: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/24.jpg)
Traditional thinking – Larger problem = LARGER machine
Cloud thinking – Larger problem = MANY machines
![Page 25: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/25.jpg)
Traditional thinking – Larger problem = LARGER machine
Cloud thinking – Larger problem = MANY machines
Think Distributed
ThinkParallel
![Page 26: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/26.jpg)
Traditional thinking – Larger problem = LARGER machine
Cloud thinking – Larger problem = MANY machines
Think Distributed
ThinkParallel
Algorithm Efficiency
Persistence Mechanism
Application Distribution
Design Pattern
Efficiency = Cost Saving
Changed Paradigm for …
![Page 27: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/27.jpg)
![Page 28: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/28.jpg)
New Breed of Algorithm
![Page 29: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/29.jpg)
![Page 30: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/30.jpg)
New Breed of Languages
![Page 31: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/31.jpg)
March 1, 2010
March 11, 2010
?
![Page 32: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/32.jpg)
March 1, 2010
March 11, 2010
?Managing distributed in
RDBMS have remained
a Technology Challenge
![Page 33: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/33.jpg)
New Breed of Persistence Mechanism
![Page 34: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/34.jpg)
![Page 35: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/35.jpg)
![Page 36: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/36.jpg)
Lesser Processing at Server
= Cost Saving
![Page 37: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/37.jpg)
Lesser Processing at Server
= Cost Saving
Offline working Local storage 2 way communication with
server Rich Text Editor Support for 2D drawing
HTML5 ?
![Page 38: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/38.jpg)
Cloud Computing is about cost saving
═ No variable load – no cost saving
═ Match Unit of scalability & Size of application
═ Pricing dictates tradeoff between CPU, Storage, Bandwidth & Data I/O
Think distributed – think parallel – it is different
═ Look beyond Relational Databases
═ Richer client – lesser server load – reduced cost
Cost optimized design will become a moving target
═ Learning from one platform not transferrable to another
═ Measure – Measure – Measure
![Page 39: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/39.jpg)
What happens if the cost structure changes?
?
![Page 40: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/40.jpg)
What happens if the cost structure changes?
?How do you know
which design pattern is more efficient for
cloud?
![Page 41: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/41.jpg)
What happens if the cost structure changes?
?How do you know
which design pattern is more efficient for
cloud?
Are there more cost
saving potential post deployment?
![Page 42: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/42.jpg)
What happens if the cost structure changes?
?How do you know
which design pattern is more efficient for
cloud?
Does EC2, GAE & Azure
work in similar way?
Are there more cost
saving potential post deployment?
![Page 43: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/43.jpg)
Cloud Computing is about cost saving
═ No variable load – no cost saving
═ Match Unit of scalability & Size of application
═ Pricing dictates tradeoff between CPU, Storage, Bandwidth & Data I/O
Think distributed – think parallel – it is different
═ Look beyond Relational Databases
═ Richer client – lesser server load – reduced cost
Cost optimized design will become a moving target
═ Learning from one platform not transferrable to another
═ Measure – Measure – Measure
![Page 44: Cost Optimization as Major Architectural Consideration for Cloud Application](https://reader035.vdocuments.us/reader035/viewer/2022070319/55846992d8b42a7f1d8b528a/html5/thumbnails/44.jpg)
Cost Optimization as
Major Architectural Consideration
for
Cloud ApplicationUdayan Banerjee, CTO – NIIT Technologies Ltd.
[email protected]://setandbma.wordpress.com