Cost Optimization as Major Architectural Consideration for Cloud Application
-
Upload
udayan-banerjee -
Category
Technology
-
view
1.571 -
download
0
description
Transcript of Cost Optimization as Major Architectural Consideration for Cloud Application
Cost Optimization as
Major Architectural Consideration
for
Cloud ApplicationUdayan Banerjee
[email protected]://setandbma.wordpress.com
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
New
Technology
Adoption
New Capability
SimplificationCost
Saving
Cloud
Computing
New Capability
Simplification
Cost
Saving
Cloud
Computing
New Capability
Simplification
Cost
Saving
You have no case
if hardware is already in
place
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
Elastic Capacity – Pay for what you actually use
Economy of Scale – Hardware, Infrastructure & Management
Productivity through Sharing – Better utilization of Resources
«»
Dedicated Server Hosting vs. Cloud On-demand Hosting
«»
Dedicated Server Hosting vs. Cloud On-demand Hosting
For Fixed capacityPrices are comparable
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
Lo
ad
Bursting
Time
Lo
ad
Growing
Time
Lo
ad
Cyclic
Time
Lo
adOn and Off
Time
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
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
Acquiring and releasing resources • What resource?• What is the unit?• How are you charged?
Depends of the provider
Google App Engine
Google App Engine
Acquiring and releasing resources • What resource?• What is the unit?• How are you charged?
Depends of the provider
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
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
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
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
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
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
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
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
Traditional thinking – Larger problem = LARGER machine
Cloud thinking – Larger problem = MANY machines
Traditional thinking – Larger problem = LARGER machine
Cloud thinking – Larger problem = MANY machines
Think Distributed
ThinkParallel
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 …
New Breed of Algorithm
New Breed of Languages
March 1, 2010
March 11, 2010
?
March 1, 2010
March 11, 2010
?Managing distributed in
RDBMS have remained
a Technology Challenge
New Breed of Persistence Mechanism
Lesser Processing at Server
= Cost Saving
Lesser Processing at Server
= Cost Saving
Offline working Local storage 2 way communication with
server Rich Text Editor Support for 2D drawing
HTML5 ?
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
What happens if the cost structure changes?
?
What happens if the cost structure changes?
?How do you know
which design pattern is more efficient for
cloud?
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?
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?
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
Cost Optimization as
Major Architectural Consideration
for
Cloud ApplicationUdayan Banerjee, CTO – NIIT Technologies Ltd.
[email protected]://setandbma.wordpress.com