SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Enterprise Applications in the Cloud:

                           Analysis of Pay-per-use Plans




               Leonid Grinshpan, Oracle Corporation (www.oracle.com)



The Cloud-computing paradigm is attractive to businesses not only because of its
technological, logistical, and environmental advantages over traditional IT frameworks.
For the most part its magnetic pull has its roots in economy—Clouds are also well
suited to save IT cost as they implement pay-per-use policies.

While relocating enterprise applications (EA) into the Cloud, the corporations have to
be aware of the cost associated with Cloud services and its dependence on dynamically
changing EA workloads. The same is true for Cloud providers: they have to know the
revenue derived from each hosted EA. This article provides guidance to Cloud users
and Cloud providers on cost/revenue estimates. It explores cost/revenue models for two
pay-per-use plans: pay-per-resource and pay-per-transaction. A modeling approach is
based on methodology described in the author’s book [Leonid Grinshpan. Solving
Enterprise Application Performance Puzzles: Queuing Models to the Rescue, Willey-IEEE
Press, 2012. http://www.amazon.com/Solving-Enterprise-Applications-Performance-
Puzzles/dp/1118061578/ref=ntt_at_ep_dpt_1].

The pay-per-resource plan charges for the hardware capacity an EA uses at any given
time. Typically, resources are priced per hour; below is an excerpt from a price list by
OpSource, a company providing Cloud and managed hosting services:
[http://www.opsource.net/Services/Cloud-Hosting/Pricing]
Hourly price for application X on pay-per-resource plan is calculated by formula:

  price of one resource unit per one hour * number of resource units assigned to application X

One resource unit represents one CPU as well as fixed amount of RAM and storage (for
example, 1 GB). Network hardware and bandwidth are also priced per usage.

The pay-per-transaction plan charges per each transaction processed by the Cloud. As
an example, Cloud application LinkedIn charges a minimum of $2.00 per transaction
that takes a user to an advertised Web page.

Hourly price for application X on pay-per-transaction plan is calculated by formula:

price of one transaction * number of transactions per hour processed by Cloud for application X

In order to determine the hourly price of each plan, we have to determine the number of
resource units assigned to application X, as well as the number of transactions per hour
processed by the Cloud for application X. Both numbers are the functions of intensity of
demand from application users as well as architecture and specifications of hosting
hardware. The perfection in Cloud management is achieved when, at any given
moment for each application, this logical equation is true: Demand = Resources. A
provider is losing revenue when Demand > Resources (application “appetite” for
capacity is not satisfied), and customer is priced unfairly when Demand < Resources
(application is overprovisioned).

In Cloud that hosts EA (EAC), Demand is highly dynamic with peaks and valleys and
the Cloud management system has to permanently synchronize Resources with
Demand. Synchronization includes the following steps that have to be executed in the
shortest time to maximize Cloud profitability: 1) identification of an excess or shortage
of hardware resources; 2) forecasting the size of additional or excessive resources by
modeling; 3) using modeling to estimate an impact of resources reallocation (change
management); 4) effecting changes by reprovisioning resources.

Step 1 is implemented by monitoring usage of Cloud hardware and EA transaction
times. Steps 2 and 3 require modeling; Step 3 is a must-have in multi-tenant Clouds.
Step 4 can be executed quickly if it requires reprovisioning of resources within the
existing virtual machine (VM); the step is more complicated and lengthy if the new VM
has to be deployed and an additional instance of EA has to be installed on it.


Cost/Revenue Model

The queuing model on Figure 1 represents a Cloud hosting three EAs (App A, App B,
App C) on three physical servers. EAs have their own users accessing applications over
the network. Each Cloud’s physical server has 24 CPUs and is broken down by three
VMs with 8 CPUs. The users, network and VMs are modeled by dedicated nodes.

The workload for the cost/revenue model is defined in Table 1. We assume for clarity’s
sake that the workload of each application consists of transactions identified by
application name. One user executes a transaction a number of times per hour indicated
in the last column of Table 1. The model is analyzed for the total number of users for all
three applications ranging from 100 to 1000.

                                                                                    Table 1
                           Workload 1 for Cost/Revenue Model

                                                                                  Number of
Transaction name                  Number of users per application                 transaction
                                                                                  executions
                                                                                    per user
                                                                                    per hour
App A transaction    50   100   150   200   300   400   350    400   450   500         10
App B transaction    25   50     75   100   150   200   175    200   225   250         20
App C transaction    25   50    75    100   150   200   175    200   225   250          5
 Total number of    100   200   300   400   600   800   700    800   900   1000
       users
Figure 1 Model 1 of a Cloud hosting three enterprise applications;
        each physical server hosts three virtual machines.
To solve the model we have to specify the profile of each transaction (Table 2). The
transaction profile is a set of time intervals (service demands) a transaction has spent in
all processing units it has visited while served by the application.
                                                                                    Table 2
                                Transaction Profiles (seconds)

                            Time in      Time in Web       Time in App   Time in Database
                         Network node    server node       server node     server node
     App A transaction       0.001             0.4              2.0            5.0
     App B transaction      0.0015             0.2              1.0            5.0
     App C transaction      0.003              0.4              5.0            5.0



The workload identifies an intensity of requests generated by application users, while
the transaction profile characterizes the time interval a single transaction will use Cloud
resources. Table 3 specifies maximum transaction times acceptable by Service Level
Agreements (SLA):

                                                                                            Table 3
             Maximum Acceptable Transaction Times per SLA (seconds)

                                                     Time (seconds)
                           App A transaction               8.0
                           App B transaction              7.00
                           App C transaction             12.00



To solve the model we specify the modeled hardware resources:




We also specify the workload and transaction profiles for all EAs:
We solve the model for workloads featuring a number of users ranging from 100 to
1000. Figure 1 shows transaction times as a function of the number of users. The
maximum accepted by SLA transaction time for App A is seven seconds; it is marked
by character A and reached for 800 users. The maximum accepted by SLA transaction
time for App B is eight seconds; it is marked by character B and reached for 900 users.
Figure 2 Transaction Times (seconds) for App A, B, C

The three following charts (Figures 3, 4, 5) characterize the percentage of utilization of
system servers by each application.




                    Figure 3 Utilization of System Servers by App A
Figure 4 Utilization of system servers by App B




                    Figure 5 Utilization of system servers by App C



We can find out the number of CPUs consumed by each application as a function of the
number of users. One CPU accounts for 100% / 8 = 12.5%; the number of CPUs per VM
rounded up to the next integer is presented in a table below.
Number of CPUs in Use by Each Application in Each Server

                                                    Total number of users
            Server name         100   200    300   400   500    600   700   800   900   1000
                                            Application A
       Web server A             1     1       1      1      1    1     1    1     1       1
       Application server A     1     1       1      1      2    2     2    3     1       3
       Database server A        1     2       3      3      4    5     5    7     7       8
       Total number of CPUs     3     4       5      5      7    8     8    11    9      12
                                            Application B
       Web server B             1     1       1      1      1    1     1    1     1       1
       Application server B     1     1       1      1      1    1     1    2     2       2
       Database server B        1     2       3      3      4    5     5    7     7       8
       Total number of CPUs     3     4       5      5      6    7     7    10    10     11
                                            Application C
       Web server C             1     1       1      1      1    1     1    1     1        1
       Application server C     1     1       1      1      1    1     2    2     2        2
       Database server C        1     1       1      1      1    2     2    2     2        2
       Total number of CPUs     3     3       3      3      3    4     5    5     5        5

This table defines the number of CPUs in use by each application depending on the
number of its users. Visual interpretation of this table is as follows:



     Number of CPUs per App A                                   Number of CPUs per App B




                                          Number of CPUs per App C
The number of CPUs in use depends on the workload (in our case, a changing
component of the workload is the number of users). As we can see, because the Cloud’s
price per application is a function of the number of CPUs in use by that application, it
ultimately depends on the application’s workload fluctuation.

Our model helps to determine the hourly cost of Cloud services for each application as
a function of the number of users of the pay-per-resource plan (see chart on Figure 6,
we assume that the cost of one CPU per hour is $1.00).




       Figure 6 Hourly cost of Cloud services as a function of the number of users
            of the pay-per-resource plan (cost of one CPU per hour is $1.00)


A similar cost analysis can be executed for the pay-per-transaction plan using the
model-generated data in Tables 4 and 5.

                                                                                     Table 4

                 Cloud Throughput per Application (transactions/sec)

                                               Total number of users
 Application     100      200     300    400      500    600     700   800    900     1000
Application A    0.14      0.27   0.41   0.54     0.68   0.82   0.95   1.09   1.22      1.36
Application B    0.13      0.27   0.40   0.54     0.67   0.81   0.94   1.07   1.21      1.34
Application C    0.03      0.07   0.10   0.14     0.17   0.21   0.24   0.27   0.31      0.34
Table 5

                   Cloud Throughput per Application (transactions/hour)

                                                  Total number of users
 Application        100      200     300    400      500    600     700   800    900     1000
Application A        504       972   1476   1944     2448   2952   3420   3924   4392      4896
Application B        468       972   1440   1944     2412   2916   3384   3852   4356      4824
Application C        108       252    360    504      612    756    864    972   1116      1224



Chart on Figure 7 shows hourly cost of Cloud services for each application as a function
of the number of users of the pay-per-transaction plan (we assume that cost of one
transaction is $0.01).




       Figure 7 Hourly cost of Cloud services as a function of the number of users
                of the pay-per-transaction plan (cost of one transaction is $0.01)


Both charts let compare two pricing plans. The pay-per-transaction plan features a
linear increase in hourly cost when the number of users increases; it enables a provider
to forecast revenue without running models every time the number of users changes.
The pay-per-resource plan exhibits more complicated behavior with linear as well as
flat segments, making useless linear extrapolation. Moreover, this plan charges not only
for CPUs, but for other hardware assets, and calculation of its cost is more complicated
and requires monitoring of usage of all hardware components of the Cloud.

With cost-revenue models at hand, a provider can forecast the Cloud’s profit as a
function of the applications workload, pricing plan and Cloud’s maintenance expenses.

Takeaway from the Article


   1. The most popular pay-per-use plans offered by Cloud providers are pay-per-
      resource and pay-per-transaction.
   2. The pay-per-transaction plan is characterized by a linear increase in hourly cost
      when the number of users increases.
   3. The pay-per-resource plan demonstrates more complicated dependence of its
      cost from a number of users with linear as well as flat segments; that makes
      linear extrapolation misleading.
   4. Cost-revenue queuing models assist providers with forecasting the Cloud’s
      profit as a function of the application’s workloads, pricing plan and the Cloud’s
      maintenance expenses.



About the Author


Leonid Grinshpan has worked as an Oracle consultant for the last 15 years and was
hands-on engaged in performance tuning and sizing of enterprise applications for
various corporations (Dell, Citibank, Verizon, Clorox, Bank of America, AT&T, Best
Buy, Aetna, Halliburton, Pfizer, Astra Zeneca, Starbucks, etc.).

Contenu connexe

Similaire à Enterprise applications in the cloud: analysis of pay-per-use plans

Iwsm2014 performance measurement for cloud computing applications using iso...
Iwsm2014   performance measurement for cloud computing applications using iso...Iwsm2014   performance measurement for cloud computing applications using iso...
Iwsm2014 performance measurement for cloud computing applications using iso...Nesma
 
Cloudsim & greencloud
Cloudsim & greencloud Cloudsim & greencloud
Cloudsim & greencloud nedamaleki87
 
Cloudsim & Green Cloud
Cloudsim & Green CloudCloudsim & Green Cloud
Cloudsim & Green CloudNeda Maleki
 
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...IJAEMSJORNAL
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6Sravanthi N
 
Methodology Of Enterprise Applications Capacity Planning
Methodology Of Enterprise Applications Capacity PlanningMethodology Of Enterprise Applications Capacity Planning
Methodology Of Enterprise Applications Capacity PlanningLeonid Grinshpan, Ph.D.
 
Developing for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with BluemixDeveloping for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with BluemixRoberto Pozzi
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureVARUN SAXENA
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureVARUN SAXENA
 
Paper id 27201431
Paper id 27201431Paper id 27201431
Paper id 27201431IJRAT
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Nima Badiey
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbourIT
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w EngineeringRajan Shah
 
Desktop to Cloud Transformation Planning
Desktop to Cloud Transformation PlanningDesktop to Cloud Transformation Planning
Desktop to Cloud Transformation PlanningPhearin Sok
 
Final_Poster
Final_PosterFinal_Poster
Final_PosterAccenture
 
Programming Without Coding Technology (PWCT) Features - Programming Paradigm
Programming Without Coding Technology (PWCT) Features - Programming ParadigmProgramming Without Coding Technology (PWCT) Features - Programming Paradigm
Programming Without Coding Technology (PWCT) Features - Programming ParadigmMahmoud Samir Fayed
 
Dynamic congestion management system for cloud service broker
Dynamic congestion management system for cloud service  brokerDynamic congestion management system for cloud service  broker
Dynamic congestion management system for cloud service brokerIJECEIAES
 

Similaire à Enterprise applications in the cloud: analysis of pay-per-use plans (20)

Iwsm2014 performance measurement for cloud computing applications using iso...
Iwsm2014   performance measurement for cloud computing applications using iso...Iwsm2014   performance measurement for cloud computing applications using iso...
Iwsm2014 performance measurement for cloud computing applications using iso...
 
Cloudsim & greencloud
Cloudsim & greencloud Cloudsim & greencloud
Cloudsim & greencloud
 
Cloudsim & Green Cloud
Cloudsim & Green CloudCloudsim & Green Cloud
Cloudsim & Green Cloud
 
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...
Performance Improvement of Cloud Computing Data Centers Using Energy Efficien...
 
Methodology of virtual machines sizing
Methodology of virtual machines sizingMethodology of virtual machines sizing
Methodology of virtual machines sizing
 
Scheduling in CCE
Scheduling in CCEScheduling in CCE
Scheduling in CCE
 
TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6TechTalk_Cloud Performance Testing_0.6
TechTalk_Cloud Performance Testing_0.6
 
Methodology Of Enterprise Applications Capacity Planning
Methodology Of Enterprise Applications Capacity PlanningMethodology Of Enterprise Applications Capacity Planning
Methodology Of Enterprise Applications Capacity Planning
 
Developing for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with BluemixDeveloping for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with Bluemix
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and Future
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and Future
 
Paper id 27201431
Paper id 27201431Paper id 27201431
Paper id 27201431
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 Wrap
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w Engineering
 
Desktop to Cloud Transformation Planning
Desktop to Cloud Transformation PlanningDesktop to Cloud Transformation Planning
Desktop to Cloud Transformation Planning
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Programming Without Coding Technology (PWCT) Features - Programming Paradigm
Programming Without Coding Technology (PWCT) Features - Programming ParadigmProgramming Without Coding Technology (PWCT) Features - Programming Paradigm
Programming Without Coding Technology (PWCT) Features - Programming Paradigm
 
Dynamic congestion management system for cloud service broker
Dynamic congestion management system for cloud service  brokerDynamic congestion management system for cloud service  broker
Dynamic congestion management system for cloud service broker
 

Plus de Leonid Grinshpan, Ph.D.

Conceptual models of enterprise applications as instrument of performance ana...
Conceptual models of enterprise applications as instrument of performance ana...Conceptual models of enterprise applications as instrument of performance ana...
Conceptual models of enterprise applications as instrument of performance ana...Leonid Grinshpan, Ph.D.
 
Enterprise applications in the cloud: a roadmap to workload characterization ...
Enterprise applications in the cloud: a roadmap to workload characterization ...Enterprise applications in the cloud: a roadmap to workload characterization ...
Enterprise applications in the cloud: a roadmap to workload characterization ...Leonid Grinshpan, Ph.D.
 
Model based transaction-aware cloud resources management case study and met...
Model based transaction-aware cloud resources management   case study and met...Model based transaction-aware cloud resources management   case study and met...
Model based transaction-aware cloud resources management case study and met...Leonid Grinshpan, Ph.D.
 
Solving enterprise applications performance puzzles queuing models to the r...
Solving enterprise applications performance puzzles   queuing models to the r...Solving enterprise applications performance puzzles   queuing models to the r...
Solving enterprise applications performance puzzles queuing models to the r...Leonid Grinshpan, Ph.D.
 
Enterprise applications in the cloud: improving cloud efficiency by transacti...
Enterprise applications in the cloud: improving cloud efficiency by transacti...Enterprise applications in the cloud: improving cloud efficiency by transacti...
Enterprise applications in the cloud: improving cloud efficiency by transacti...Leonid Grinshpan, Ph.D.
 
Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Leonid Grinshpan, Ph.D.
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsLeonid Grinshpan, Ph.D.
 
Methodology of enterprise application capacity planning by real life examples
Methodology of enterprise application capacity planning by real life examplesMethodology of enterprise application capacity planning by real life examples
Methodology of enterprise application capacity planning by real life examplesLeonid Grinshpan, Ph.D.
 

Plus de Leonid Grinshpan, Ph.D. (9)

Conceptual models of enterprise applications as instrument of performance ana...
Conceptual models of enterprise applications as instrument of performance ana...Conceptual models of enterprise applications as instrument of performance ana...
Conceptual models of enterprise applications as instrument of performance ana...
 
Performance testing wreaking balls
Performance testing wreaking ballsPerformance testing wreaking balls
Performance testing wreaking balls
 
Enterprise applications in the cloud: a roadmap to workload characterization ...
Enterprise applications in the cloud: a roadmap to workload characterization ...Enterprise applications in the cloud: a roadmap to workload characterization ...
Enterprise applications in the cloud: a roadmap to workload characterization ...
 
Model based transaction-aware cloud resources management case study and met...
Model based transaction-aware cloud resources management   case study and met...Model based transaction-aware cloud resources management   case study and met...
Model based transaction-aware cloud resources management case study and met...
 
Solving enterprise applications performance puzzles queuing models to the r...
Solving enterprise applications performance puzzles   queuing models to the r...Solving enterprise applications performance puzzles   queuing models to the r...
Solving enterprise applications performance puzzles queuing models to the r...
 
Enterprise applications in the cloud: improving cloud efficiency by transacti...
Enterprise applications in the cloud: improving cloud efficiency by transacti...Enterprise applications in the cloud: improving cloud efficiency by transacti...
Enterprise applications in the cloud: improving cloud efficiency by transacti...
 
Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...Beyond IT optimization there is a (promised) land of application performance ...
Beyond IT optimization there is a (promised) land of application performance ...
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applications
 
Methodology of enterprise application capacity planning by real life examples
Methodology of enterprise application capacity planning by real life examplesMethodology of enterprise application capacity planning by real life examples
Methodology of enterprise application capacity planning by real life examples
 

Dernier

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Dernier (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Enterprise applications in the cloud: analysis of pay-per-use plans

  • 1. Enterprise Applications in the Cloud: Analysis of Pay-per-use Plans Leonid Grinshpan, Oracle Corporation (www.oracle.com) The Cloud-computing paradigm is attractive to businesses not only because of its technological, logistical, and environmental advantages over traditional IT frameworks. For the most part its magnetic pull has its roots in economy—Clouds are also well suited to save IT cost as they implement pay-per-use policies. While relocating enterprise applications (EA) into the Cloud, the corporations have to be aware of the cost associated with Cloud services and its dependence on dynamically changing EA workloads. The same is true for Cloud providers: they have to know the revenue derived from each hosted EA. This article provides guidance to Cloud users and Cloud providers on cost/revenue estimates. It explores cost/revenue models for two pay-per-use plans: pay-per-resource and pay-per-transaction. A modeling approach is based on methodology described in the author’s book [Leonid Grinshpan. Solving Enterprise Application Performance Puzzles: Queuing Models to the Rescue, Willey-IEEE Press, 2012. http://www.amazon.com/Solving-Enterprise-Applications-Performance- Puzzles/dp/1118061578/ref=ntt_at_ep_dpt_1]. The pay-per-resource plan charges for the hardware capacity an EA uses at any given time. Typically, resources are priced per hour; below is an excerpt from a price list by OpSource, a company providing Cloud and managed hosting services: [http://www.opsource.net/Services/Cloud-Hosting/Pricing]
  • 2. Hourly price for application X on pay-per-resource plan is calculated by formula: price of one resource unit per one hour * number of resource units assigned to application X One resource unit represents one CPU as well as fixed amount of RAM and storage (for example, 1 GB). Network hardware and bandwidth are also priced per usage. The pay-per-transaction plan charges per each transaction processed by the Cloud. As an example, Cloud application LinkedIn charges a minimum of $2.00 per transaction that takes a user to an advertised Web page. Hourly price for application X on pay-per-transaction plan is calculated by formula: price of one transaction * number of transactions per hour processed by Cloud for application X In order to determine the hourly price of each plan, we have to determine the number of resource units assigned to application X, as well as the number of transactions per hour processed by the Cloud for application X. Both numbers are the functions of intensity of demand from application users as well as architecture and specifications of hosting hardware. The perfection in Cloud management is achieved when, at any given moment for each application, this logical equation is true: Demand = Resources. A provider is losing revenue when Demand > Resources (application “appetite” for capacity is not satisfied), and customer is priced unfairly when Demand < Resources (application is overprovisioned). In Cloud that hosts EA (EAC), Demand is highly dynamic with peaks and valleys and the Cloud management system has to permanently synchronize Resources with Demand. Synchronization includes the following steps that have to be executed in the shortest time to maximize Cloud profitability: 1) identification of an excess or shortage
  • 3. of hardware resources; 2) forecasting the size of additional or excessive resources by modeling; 3) using modeling to estimate an impact of resources reallocation (change management); 4) effecting changes by reprovisioning resources. Step 1 is implemented by monitoring usage of Cloud hardware and EA transaction times. Steps 2 and 3 require modeling; Step 3 is a must-have in multi-tenant Clouds. Step 4 can be executed quickly if it requires reprovisioning of resources within the existing virtual machine (VM); the step is more complicated and lengthy if the new VM has to be deployed and an additional instance of EA has to be installed on it. Cost/Revenue Model The queuing model on Figure 1 represents a Cloud hosting three EAs (App A, App B, App C) on three physical servers. EAs have their own users accessing applications over the network. Each Cloud’s physical server has 24 CPUs and is broken down by three VMs with 8 CPUs. The users, network and VMs are modeled by dedicated nodes. The workload for the cost/revenue model is defined in Table 1. We assume for clarity’s sake that the workload of each application consists of transactions identified by application name. One user executes a transaction a number of times per hour indicated in the last column of Table 1. The model is analyzed for the total number of users for all three applications ranging from 100 to 1000. Table 1 Workload 1 for Cost/Revenue Model Number of Transaction name Number of users per application transaction executions per user per hour App A transaction 50 100 150 200 300 400 350 400 450 500 10 App B transaction 25 50 75 100 150 200 175 200 225 250 20 App C transaction 25 50 75 100 150 200 175 200 225 250 5 Total number of 100 200 300 400 600 800 700 800 900 1000 users
  • 4. Figure 1 Model 1 of a Cloud hosting three enterprise applications; each physical server hosts three virtual machines.
  • 5. To solve the model we have to specify the profile of each transaction (Table 2). The transaction profile is a set of time intervals (service demands) a transaction has spent in all processing units it has visited while served by the application. Table 2 Transaction Profiles (seconds) Time in Time in Web Time in App Time in Database Network node server node server node server node App A transaction 0.001 0.4 2.0 5.0 App B transaction 0.0015 0.2 1.0 5.0 App C transaction 0.003 0.4 5.0 5.0 The workload identifies an intensity of requests generated by application users, while the transaction profile characterizes the time interval a single transaction will use Cloud resources. Table 3 specifies maximum transaction times acceptable by Service Level Agreements (SLA): Table 3 Maximum Acceptable Transaction Times per SLA (seconds) Time (seconds) App A transaction 8.0 App B transaction 7.00 App C transaction 12.00 To solve the model we specify the modeled hardware resources: We also specify the workload and transaction profiles for all EAs:
  • 6. We solve the model for workloads featuring a number of users ranging from 100 to 1000. Figure 1 shows transaction times as a function of the number of users. The maximum accepted by SLA transaction time for App A is seven seconds; it is marked by character A and reached for 800 users. The maximum accepted by SLA transaction time for App B is eight seconds; it is marked by character B and reached for 900 users.
  • 7. Figure 2 Transaction Times (seconds) for App A, B, C The three following charts (Figures 3, 4, 5) characterize the percentage of utilization of system servers by each application. Figure 3 Utilization of System Servers by App A
  • 8. Figure 4 Utilization of system servers by App B Figure 5 Utilization of system servers by App C We can find out the number of CPUs consumed by each application as a function of the number of users. One CPU accounts for 100% / 8 = 12.5%; the number of CPUs per VM rounded up to the next integer is presented in a table below.
  • 9. Number of CPUs in Use by Each Application in Each Server Total number of users Server name 100 200 300 400 500 600 700 800 900 1000 Application A Web server A 1 1 1 1 1 1 1 1 1 1 Application server A 1 1 1 1 2 2 2 3 1 3 Database server A 1 2 3 3 4 5 5 7 7 8 Total number of CPUs 3 4 5 5 7 8 8 11 9 12 Application B Web server B 1 1 1 1 1 1 1 1 1 1 Application server B 1 1 1 1 1 1 1 2 2 2 Database server B 1 2 3 3 4 5 5 7 7 8 Total number of CPUs 3 4 5 5 6 7 7 10 10 11 Application C Web server C 1 1 1 1 1 1 1 1 1 1 Application server C 1 1 1 1 1 1 2 2 2 2 Database server C 1 1 1 1 1 2 2 2 2 2 Total number of CPUs 3 3 3 3 3 4 5 5 5 5 This table defines the number of CPUs in use by each application depending on the number of its users. Visual interpretation of this table is as follows: Number of CPUs per App A Number of CPUs per App B Number of CPUs per App C
  • 10. The number of CPUs in use depends on the workload (in our case, a changing component of the workload is the number of users). As we can see, because the Cloud’s price per application is a function of the number of CPUs in use by that application, it ultimately depends on the application’s workload fluctuation. Our model helps to determine the hourly cost of Cloud services for each application as a function of the number of users of the pay-per-resource plan (see chart on Figure 6, we assume that the cost of one CPU per hour is $1.00). Figure 6 Hourly cost of Cloud services as a function of the number of users of the pay-per-resource plan (cost of one CPU per hour is $1.00) A similar cost analysis can be executed for the pay-per-transaction plan using the model-generated data in Tables 4 and 5. Table 4 Cloud Throughput per Application (transactions/sec) Total number of users Application 100 200 300 400 500 600 700 800 900 1000 Application A 0.14 0.27 0.41 0.54 0.68 0.82 0.95 1.09 1.22 1.36 Application B 0.13 0.27 0.40 0.54 0.67 0.81 0.94 1.07 1.21 1.34 Application C 0.03 0.07 0.10 0.14 0.17 0.21 0.24 0.27 0.31 0.34
  • 11. Table 5 Cloud Throughput per Application (transactions/hour) Total number of users Application 100 200 300 400 500 600 700 800 900 1000 Application A 504 972 1476 1944 2448 2952 3420 3924 4392 4896 Application B 468 972 1440 1944 2412 2916 3384 3852 4356 4824 Application C 108 252 360 504 612 756 864 972 1116 1224 Chart on Figure 7 shows hourly cost of Cloud services for each application as a function of the number of users of the pay-per-transaction plan (we assume that cost of one transaction is $0.01). Figure 7 Hourly cost of Cloud services as a function of the number of users of the pay-per-transaction plan (cost of one transaction is $0.01) Both charts let compare two pricing plans. The pay-per-transaction plan features a linear increase in hourly cost when the number of users increases; it enables a provider to forecast revenue without running models every time the number of users changes. The pay-per-resource plan exhibits more complicated behavior with linear as well as flat segments, making useless linear extrapolation. Moreover, this plan charges not only
  • 12. for CPUs, but for other hardware assets, and calculation of its cost is more complicated and requires monitoring of usage of all hardware components of the Cloud. With cost-revenue models at hand, a provider can forecast the Cloud’s profit as a function of the applications workload, pricing plan and Cloud’s maintenance expenses. Takeaway from the Article 1. The most popular pay-per-use plans offered by Cloud providers are pay-per- resource and pay-per-transaction. 2. The pay-per-transaction plan is characterized by a linear increase in hourly cost when the number of users increases. 3. The pay-per-resource plan demonstrates more complicated dependence of its cost from a number of users with linear as well as flat segments; that makes linear extrapolation misleading. 4. Cost-revenue queuing models assist providers with forecasting the Cloud’s profit as a function of the application’s workloads, pricing plan and the Cloud’s maintenance expenses. About the Author Leonid Grinshpan has worked as an Oracle consultant for the last 15 years and was hands-on engaged in performance tuning and sizing of enterprise applications for various corporations (Dell, Citibank, Verizon, Clorox, Bank of America, AT&T, Best Buy, Aetna, Halliburton, Pfizer, Astra Zeneca, Starbucks, etc.).