Pricing cloud IaaS computing services

The economics of cloud computing has recently attracted increasing attention. In particular, a topic which is still under debate is how prices charged to customers for cloud resources are formed, since alternative pricing rules could be considered. Based on three pricing schemes inspired by those used by Amazon EC2, the main global cloud service provider, in the paper we address two main issues. First we present a methodology for the relevant parameters of the pricing rules to be determined in an optimal way, that is to maximise the provider’s revenue. Moreover, we discuss reasons for co-existence of three pricing rules, rather than fewer, to access the cloud. Our findings suggest that this may be due to a larger coverage of the potential demand, since customers applying for cloud services vary in their willingness to pay for the job, the time length of the service, the computational power requested etc. Furthermore, the pricing rule in the so-called, spot market, can provide the platform with useful information on the customers willingness to pay for cloud services. This is because in the spot market users offer a price for service, but pay less than that if their request is satisfied.


Introduction
One of the most remarkable phenomena in information technologies that took place over the last few years is cloud computing [1]. The possibility of profitable use of IT excess capacity by some providers, matched with the need by customers to save on buying IT infrastructures for software services, data storage etc. led to a flourishing market where potential users can successfully satisfy their demand for such requests. Its use is increasingly so wide spread that cloud computing is claimed to be the 5th utility, joining electricity, gas, telephony and water [2].
The main types of services, though not the only ones, typically available in the cloud are: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS), whose definition and features have been widely discussed in the literature [2][3][4][5][6][7][8][9][10]. In the paper we shall focus on pricing rules in IaaS. However, cloud computing is a continuously evolving market [11,12] and more recently, to optimise the use of exisiting resources, the additional activity of Function as a Service (FaaS) is also taking place. Such service is developing under the so called serverless computing, where specific functions are performed without an explicit reference to infrastructure [13][14][15][16][17][18][19].
Because of its business potentials in recent years the economics of cloud computing began to attract major attention, from a number of different perspectives such as the providers' revenues and their market shares, the impact on employement and GDP, the pricing strategies [20][21][22][23][24][25][26][27][28][29][30]. As the range of services available in the cloud increases, a main issue which keeps being debated is the pricing policies adopted by the providers, which fundamentally affect their service profitability.
In this article we discuss the design of such price policies, focusing on pricing schemes that take inspiration from Amazon EC2 provision of IaaS; the reason is twofold. First, Amazon is the main global IaaS provider, with about 15.5$bln revenues and 48% share of the world market in 2018, against about 5$bln revenues and 15.5% market share by Microsoft [31], its main competitor. Moreover, although in the market there is a range of alternative proposals, its pricing schemes are akin to those used by other providers and the findings may therefore have a general interest.
Broadly speaking, the Amazon EC2 cloud platform adopts three main pricing rules. The first is the so called pay-as-you-go (PAYG) rule, where users are charged a monetary amount possibly based on two components: a fixed component plus a variable part depending on the length of time the cloud resource is used for.
The second pricing scheme is still based on a unit, hourly, rate however without the certainty that a request for service will be satisfied by the provider. For this reason is called on demand (OD), since users in this case decide not to pay a flat rate to make sure their need will be satisfied.
As a third possibility users could make a request for platform resources on the spot market (SM) [32,33], where machine capacity currently idle is made available by the provider to potential customers. The spot market is characterised by the spot price, determined by the platform considering supply and demand of service [34]. As well as for the OD price scheme, there is a positive probability that the request will not be accepted if the price offered is below the spot price. Moreover, in SM there is also a positive probability that the job will be discontinued once it started. This suggests that both OD and SM may be undesirable for jobs which customers are unwilling to delay.
In the paper we investigate how users may select among the three pricing rules and, based on this, how the provider could determine the relevant parameters value of the price schemes. Our goal is mostly exploratory, as we confine ourselves to introducing a methodology and discuss few examples. The main formal constructs and quantities of the paper could then be estimated from the available data sets.
The paper is structured as follows. In Section 2 we discuss some related work. In Section 3 we introduce the three pricing schemes and start comparing them from the user's perspective. The discussion will represent the basis for the subsequent sections. In Section 4 we consider the provider perspective with both complete and incomplete information on the job value, and time length, and discuss how optimal pricing rules can be defined to take into account such uncertainty. Section 5 compares the provider's revenue generated by PAYG and OD with SM. Yet, depending upon the nature of the uncertainty on the spot price, as well as on considerations related to what we call SM interruption costs for the users, such comparison may not be straightforward. Section 6 contains some concluding remarks.
Because of such variety of criteria it is natural to ask which pricing schemes could be more profitable, and under what conditions, for the providers. Moreover, why are providers using different price rules at the same time and how are the relevant parameters of pricing schemes determined. Intuitively such range of possibilities is offered to capture the different preferences and needs of the customers, as well as demand intensity, for which a variety of options may be preferable.
However, so far such questions have only received partial answers. More specifically, Ma and Huang [41] investigate the optimal users' submission strategy under such mixture of available pricing schemes. Huang et al. [60] interpreting the possibility of an interrupted job, as in the Amazon EC2 spot market, as a damaged service, discuss the advantages of hybrid markets, where fixed price and spot market cloud instances coexist. Hoy et al. [61] argue how co-existence of the spot market and reserve prices instances in Amazon EC2 could be due to the users' different risk attitudes.
Yet, no attempt seems to have been made to discuss how providers may proceed to determine such pricing rules in an optimal way. In particular, for a given price scheme how they should define its parameter values. Moreover, we further ask why could it be optimal for a provider to have different pricing rules coexisting at the same time. This is what we address in the rest of the paper where, with no major loss of generality, to keep the exposition simple we shall only consider time length of resource use as a criterion underlying the price charged.
The three pricing schemes from the user perspective In this section we introduce the three pricing schemes adopted by Amazon EC2 for IaaS, initially taking the user point of view, which will then form the basis for modelling the provider optimal determination of the pricing rules. To focus on the main message the discussion will concentrate on the essential features of such pricing schemes. Indeed, the model could then be amended to include further elements and additional details.
Consider a user who wishes to run a job, at a particular date in time, with economic value v > 0, which needs τ = 0, 1, 2, 3. . units of machine time in the cloud. More specifically, v is the maximum monetary sum the user is willing to pay to run the job. To simplify the exposition, without losing much generality, in the paper we assume τ to be known by the user. In reality this may not be the case, since the customer may be uncertain about the time length needed for the job. One way to take such user uncertainty into account would be to introduce a probability distribution over the possible time durations of the job. A further source of uncertainty, which we do not discuss in the paper, could be whether or not the machine capacity purchased by the user will be enough to run the job. In Amazon the issue could be coped with by choosing types of services with automatic scaling. The reason why τ = 0 is also included will be clear below. Therefore, a job is defined by a pair j = (v, τ). Formally a job defines the user type, about which the provider may have different degrees of information.
The above definition of a job could be enriched in at least two directions. The first may be to add a third component j = (v, τ, σ), where σ would stand for the size of occupied machine space. Such more general notion could allow discussing how time and size might, if at all, replace each other to execute a job. A second direction may be to define v = v(τ, σ), that is with the value as a (possibly increasing) function of needed time and space. However, since our main goal is to discuss a methodology, without much loss of generality we keep the notion of a job as simple as j = (v, τ). Moreover, still for simplicity we shall not deal with multiple sequential jobs, which could be introduced without much altering the main framework.
Pay-as-you-go (PAYG) only pricing scheme According to PAYG customers can reserve the use of machine time by paying a flat rent for a given period a > 0, and then pay a time unit (hourly) fee b > 0 for use, so that a job with processing time length of τ = 0, 1, 2, 3, units would have a total cost given by and its average cost per unit of time by a for τ ¼ 0; ( Therefore with a flat, constant, rent component even if τ = 0, that is no jobs executed, the customer will have to pay a. Yet, once the rent has been paid the longer τ the lower the cost component imputable to the fixed part. Indeed, for large enough τ the average cost will tend to coincide with the (marginal) unit cost b of the job. Notice that a decreasing average cost implies increasing returns of scale, with respect to τ, for the user.
Assuming risk neutrality, it follows that a customer payoff related to the job j = (v, τ) would be . Therefore, PAYG can be considered by a user only if the job execution time is short enough, lower than an increasing linear function of v.
Intuitively, the more valuable is the job the longer could be its time length to generate a positive profit.
Clearly, jobs such that a > v would never find it profitable to apply for PAYG.

On-demand (OD) only pricing scheme
The second criterion bears some similarity with PAYG, as it is still a linear function of the job time length, however based on a user asking to run the job on demand, that is without paying a flat rate to reserve machine time. As a consequence, the request for resources has positive probability 1 > 1 − θ > 0 to be rejected. For simplicity, without major loss of generality, we assume 0 < θ < 1 to be constant though, more realistically, it may depend upon τ. Moreover, θ could be strategically chosen by the provider, a possibility which we do not analyse in the paper. In this case, the cost for the customer will be a random variable defined as where c > 0 is the unit cost, and his expected cost given by Hence the customer expected payoff (profit) when operating on demand is which is instead non-negative for τ ≤ v c . The average (expected) cost will now be constant, rather than decreasing in τ, and given by

PAYG and OD pricing schemes
When both PAYG and OD are available, as compared to pay as you go the customer would prefer to run job j = (v, τ) on demand if his payoff is non-negative and (2) is larger than (1). Namely if and therefore if v is sufficiently small, though not too small. If (θc − b) > 0 then the right hand side of (3), as a function of τ, is a negatively sloped line taking positive values over the time domain 0 ≤ τ ≤ a ðθc−bÞ . Alternatively, if (θc − b) ≤ 0 then the function a 1−θ − ðθc−bÞ 1−θ τ is either constant or a positively sloped line in τ and, for this reason, always positive.
Likewise, if the user would prefer to submit for PAYG implying that there are jobs j = (v, τ), with low v and large τ, which the customer neither wants to run as PAYG nor as OD, since his expected profit could be negative in both cases.
Hence, broadly speaking, (3) suggests that OD is less attractive for jobs with either high value and/or high machine time. Intuitively, this is because customers who need to execute these jobs could not run the risk of having their request rejected when applying on demand.

The spot market (SM) only without interruption costs
As a third option the customer may buy machine time on the spot market where idle resources are offered by the provider at each date. As well as for PAYG and OD, SM is characterised by a variety of options and rules, notably on how to access the resources and terminate the job. However, for the purpose of this paper what follows is a sufficiently rich description of the main SM features, as originally proposed by Amazon. For this reason, as we shall see below, even with complete information at each date we consider a single, and the same, spot price for all the requesting users.
For a job of time length τ > 0, acquisition of machine time and related payment work as follows. Suppose s t ≥ 0, with t = 0, 1, . . , τ − 1, is the spot price at time t for consuming a unit of machine time, from t to t + 1, where at each date such price is determined by the provider considering demand-supply interaction, and possibly other elements. Then, at t = 0 the customer has to bid a unit price q without knowing s t . After having bid, the spot price becomes known to the user and if q ≥ s t the customer obtains access to machine time, however paying s t rather than the submitted offer q, until inequality q ≥ s t remains true for t = 0, 1, . . , τ − 1. In reality, even if q ≥ s t , access could be denied or delayed if resources are not available when requested. However, with no major loss of generality, to simplify the exposition in the paper we assume that q ≥ s t is a necessary and sufficient condition for accessing cloud resources via SM.
If at some date t ≤ τ − 1 it is q < s t then the job will be terminated and, again for simplicity, we could assume that machine time paid until then is lost and that the job will have to start again. An alternative, more realistic, version instead would be to assume that the job is discontinued, and data stored by the provider-user, until q ≥ s t becomes true again, if ever. For example, suppose the job starts at t = 0 and that q ≥ s t until t = t ′ < τ. Then assume q < s t at dates t such that t ′ < t ≤ τ + t ′′ , with t ′′ > 0, and subsequently q ≥ s t at times τ + t ′′ < t ≤ 2τ + t ′′ − t′. This means that the job would be discontinued for τ + t ′ ′ − t′ time units and could not be completed until date 2τ + t ′′ − t′.
This pricing framework is akin to second price Vickrey type-of-mechanisms ( [62]; Hurwicz-Reiter, 2006 [63-67];) where truth telling, namely bidding one's value, is a weakly dominant strategy. Indeed, as we shall see below, this is because we assume the user to be uninformed (uncertain) about the spot price value and its formation, since he does not know how many requests the platform receives and how many cloud resources are available. Because of such uncertainty we suppose that strategic thinking could not take place, and the decision on which q to offer based on the idea that the spot price s t is an exogenous random variable. It follows that, for a user, deciding which price to submit is like bidding in a second price auction against nature choosing s t . In this case, for no unit price q≠ v τ the user's payoff is strictly higher than when q ¼ v τ , regardless of the level of s t . Therefore, we assume truthful bidding to be the case and the unit price submitted by the user equal to q ¼ v τ . However, as we said, when the user submits his own price he does not know what the current spot price is. Thus, since the customer is uncertain about the spot price, we assume he treats s t as a sequence of independent and identically distributed random variables, with distribution function F(s), density function f(s) = F ′ (s) and s ≥ 0.
Suppose the customer pays no cost in case of job interruption. Then when such functions correctly represent the distribution of the spot price, for both the user and the provider, it follows that the customer's payoff Π s (v, τ), for a job of time length τ, when buying machine time on the spot market, is given by  precisely because the user bids the job value. Notice that the expected cost for the customer will be which, unlike PAYG and OD pricing rules, as well as depending on τ depends also on v, since the price offered to access resources on the cloud via SM is related to the job value.
It is important to point out again that definition (5) disregards interruption costs, in the sense that if the job is discountinued before its completion then (5) assumes that monetary resources invested until then is not completely lost. Perhaps this is because the job will be finalised later, or because money spent until then is considered as sunk, and so not part of the expected payoff computation. Below we shall also discuss how the presence of such costs could affect the main findings.

PAYG, OD and SM pricing schemes
Define EΠ p, d, s (v, τ) to be a customer expected payoff when the three pricing rules coexist. Then the following statement summarises the previous considerations.
Proof Immediate. Indeed, though expressions (3) and (4) imply that there could be jobs for which the user has negative payoffs in both PAYG and OD, expression (6) implies that those jobs can obtain non-negative expected profits by relying on SM.
The proposition could be rephrased as the following characterisation of SM Corollary 1 SM, without interruption costs, complements PAYG and OD criteria by guaranteeing that any job j = (v, τ) can obtain non-negative expected profits.
Therefore, with no interruption costs SM may be interpreted as an institutional mechanism attempting to attract those jobs that otherwise would not apply to the platform, if PAYG and OD only were available. Finally (1), (2) and (6) suggest that the user profits are all decreasing in τ, with the probability of a customer being served playing a role in (2) and (6) only.

The spot market (SM) only, with interruption costs
The above definition of the user costs in SM does not consider the possibility that if a job is interrupted, before completion, the whole amount paid by the user until then will be lost. In this paragraph we briefly see how interruption costs may affect previous findings.
Consider a generic date t, with 0 < t ≤ τ − 1, such that s i < v τ for i = 0, 1, . . , t − 1 and s t > v τ . Then, until t − 1 the customer pays P t−1 t¼0 s i however without completing the job. Therefore, in this case the user's expected cost Ec s(i) (v, τ, t) is given by however without enjoying any profit since the job would be discontinued before its completion. Full consideration of all such sunk costs would lead to total expected costs as defined by Therefore, the customer expected profit is now there is no guarantee that (7) would be positive for all v. Indeed, with interruption costs we can now state the following Proposition 2 In a SM with interruption costs, for a given τ and some v it is possible that EΠ s(i) (v, τ) < 0.
To see this, as an example, suppose the user is completely uncertain about 0 ≤ s ≤ 1 which, for this reason, he models as a uniform random variable with density f(s) = 1, and distribution function given by F(s) = s. Then, with τ = 1, 2, from (7) we obtain which illustrates the statement. The example seems to suggest that with interruption costs negative expected profits are more likely to emerge with longer, low value, jobs.

Waiting time costs
Before going to the next section it is worth pointing out that costs, for users, could also be due to how long they have to wait before job completion, or to a delay beyond τ. For example, with PAYG the overall cost could be formulated as where w(τ), an increasing function of τ, is the user's cost for waiting τ units of time for job execution. However, explicit consideration of such costs would not basically alter the main findings of the analysis, which is why we decided to keep costs expressions in their simplest form.

Optimal PAYG and OD pricing rules without SM
Based on the previous section we now proceed gradually, supposing first that the spot market is not available, to discuss the optimal choice of the parameters by the provider, in the PAYG and OD expressions. We do so by comparing the pricing schemes under alternative information on v and τ, assuming first complete information by the platform on these two quantities. Though informationally very demanding for the provider, and for this reason highly unrealistic, complete information represents an interesting benchmark in the analysis.
Excluding SM initially will allow us to begin with a simpler framework, as well as to better discuss the implications of the presence of SM on the provider's payoff.

Complete information on v and τ
If for, each single job, v and τ were known by the provider then with PAYG his revenue would be and so the optimal value of the parameters a and b is found simply by solving the following problem That is parameter values should be incentive compatible, granting the user a non negative payoff. It follows that any pair a and b satisfying a ¼ v−bτ is optimal. Therefore, because of complete information the provider would extract full rent from the customer obtaining as revenue the whole value v. Hence, in this case his revenue would not depend upon the job time length but on the job value only.
As a consequence, in this extreme case, the platform would adjust the parameters to different customers depending upon v and τ. For example, consider the job j = (v = 10; τ = 5); then any combination of parameters a, b ≥ 0 satisfying a ¼ 10−5b is optimal for the job. For this reason, although each single job would induce such combination, there could be parameters that might be optimal for more than one job.
With OD the provider's expected revenue would be and, in analogy with (8), maximised by choosing c to satisfy which implies that PAYG would be ex-ante, before the user submits a request, preferable for the provider. However ex-post, conditionally upon the customer having been served, both PAYG and OD would generate the same revenue v.

Incomplete information on v and complete information on τ
Suppose now the provider knows τ but he's uncertain about v, a rather more realistic assumption since users would typically hide their willigness to pay to the provider. Such uncertainty can be modelled assuming v to be a random variable for the platform, with distribution function G(v), density function G ′ (v) = g(v) and v ≥ 0. For this reason, in this section we shall determine the parameter levels as depending on τ only, and not on v.
In so doing we are not explicitly considering incentive compatibility constraints [68,69] for each v. This is because our main goal is to discuss a methodology and, for the purpose of this paper, the chosen approach would allow us to keep the analysis at a tractable level without losing much content, along lines akin to those recently advocated by [70]and Hartline [71] From (3) and (4), for given v and τ, it follows that the customer would prefer PAYG to OD when v is large enough. Therefore, if c > b the provider's expected revenue ER p, d (τ) will be that is Given τ, the provider must decide whether the parameters a, b, c should be fixed in such a way that τ ≤ a ðc−bÞ Dimitri Journal of Cloud Computing: Advances, Systems and Applications (2020) 9:14 Page 6 of 11 or τ > a ðc−bÞ . Below we discuss conditions under which the former inequality is preferable for the platform To see this first differentiate (9b), with respect to a + bτ, to obtain the following first order condition where γðvÞ ¼ gðvÞ 1−GðvÞ is the hazard rate of the random variable v. Then the following result holds Proposition 3 Suppose (9b) is maximised by (10). Then, for any given τ, it is optimal for the provider to choose parameters a, b, c in such a way that τ ≤ a ðc−bÞ : Proof Consider (9a). Since τ ≤ a ðc−bÞ , hence cτ ≤ a + bτ, it follows that In analogy with (9b), this implies that the right hand side of the above inequality cτ(1 − G(cτ)) is maximised by cτ solving the first order condition Therefore, since (10) maximises (9b), by setting cτ as in (13), and a, b such that cτ ≤ a + bτ, the provider can obtain at least as much as the maximum level of (9b), which proves the result.
As an example, consider again v to be uniformly distributed on the unit interval. It follows that (9a) and (9b) become Consider first (14b) and notice that it is maximised by providing an expected revenue for the platform equal to 1 4 : That is, for any τ, if a, b, c are set in such a way that equality (15) and inequality τ > a ðc−bÞ are satisfied, then the provider obtains as expected revenue 1 4 . Inequality (12) in this case becomes Since the right-hand side of (16) takes as maximum value 1 4 , at cτ ¼ 1 2 , inequality (16) implies that for any τ, fixing c ¼ 1 2τ , a and b such that 1 2 ¼ cτ ≤ a þ bτ , it is always possible for the provider to obtain an expected revenue at least as large as 1 4 . To find the optimal (expected revenue maximising) values of a, b and c we partially differentiate (14a) with respect to to a+bτ and c, under the constraint b < c ≤ a τ þb θ . Now, for given a, b and τ, the first order condition related to (14a) with respect to c gives Differentiating (14a) with respect to a + bτ, and taking the related first order condition, we obtain (20), and solving for (a + bτ) and cτ, provides It is immediate to check that the second order condition for a maximum of (14a) is satisfied and so (21) is a solution of the problem.
Finally, notice that (a + bτ) is decreasing in θ while cτ is increasing, and that both tend to 1 2 as θ tends to 1. Moreover, inserting (21) into (14a) provides an expected revenue for the platform equal to ER p;d ðτÞ ¼ 1 3þθ > 1 4 ; for all θ < 1.
The example suggests that, for any τ, it would be optimal for the provider to set the parameter values in a way that such parameters should depend upon τ, hence job specific. For instance, consider c; if τ = 10 and θ ¼ 1 2 then c ¼ 3 70 while if τ = 20 then c ¼ 3 140 . Finally notice that, in this case, it is also best for the platform to exclude from PAYG and OD jobs with values v < 1 3 . To conclude, if instead is b ≥ c then the provider expected revenue is Þg v ð Þdv regardless of the value of τ.

Incomplete information on v and τ
In case the provider would neither know v nor the time length τ, that a submitted job will take, then τ too could be treated as a random variable. With no major loss of generality, to simplify the exposition, we assume τ to be a continuous random variable, independent of v, with distribution function H(τ) and density function H ′ (τ) = h(τ). Hence, if c > b the provider expected revenue ER p, d could now be expressed as the sum of two components Parameters a, b and c maximising (22) and (23) now will no longer be job specific, that is will be the same for all pairs j = (v, τ). This is what in fact Amazon EC2 proposes to customers since parameters, in its pricing schemes, do not change with v nor with τ. Obtaining a closed form solution for the optimal values of a, b, c may be cumbersome even for manageable density functions h(τ), such as the exponential. Yet, in general, they would depend on θ.

Optimal PAYG and OD pricing rules with SM
In this chapter we add SM to PAYG and OD, to see how it may affect the provider's expected revenue, when the three pricing systems are all in place.
Under complete information and no interruption costs it is straightforward to compare the customer profit under PAYG or OD with profit τFð v τ Þ τ−1 R v τ 0 FðsÞds , obtainable in SM. Indeed, from Section 4.1 it follows that with PAYG and OD the provider will extract the maximum willingness to pay of the user who would obtain zero profit. For this reason, customers should prefer executing the job on the spot market since their expected profit will always be positive. Therefore, the presence of SM in this case would typically lower the provider's payoff, with respect to when PAYG and OD only are available.
However, if interruption costs are taken into account the customer choice may depend upon v, since in SM his expected profit may be negative.
With incomplete information on v, and complete information on τ the analysis becomes more articulate than without SM.

SM with no interruption costs
Before stating a main finding of this section consider again the user's expected payoff given by FðsÞds are, respectively, the user's expected revenue and expected cost.
In what follows it is useful to reformulate (24) adding and subtracting v to obtain the user's adjusted expected cost, because the factor v½1 −Fð v τ Þ τ is added to the expected cost to keep the expected payoff unaltered when the expected revenue is v rather than vFð v τ Þ τ . Below, expressions (25) and (26) will be used to facilitate comparison with PAYG and OD.
When v is uncertain, expression (26) becomes However, we assume that the provider's expected revenue ER s (v, τ) in SM coincides with the user's expected cost and is given by t¼0 s t f s 0 ð Þ:: f s τ ð Þds 0 :: to which again we add and subtract v to obtain Then, analogously, define the adjusted expected cost in this case as The introduction of the adjusted expected costs allows us a direct comparison of (1), (25) and (27) since, for each v, all them are expressed as v minus a quantity Based on the above considerations we can now formulate the following result.
Proof For any given v, the user now has three options, with SM always inducing positive profits. Therefore, his payoff would be Hence, the provider's revenue is given by Because SM introduces an upper bound on the platform revenues, without SM the provider may obtain a higher payoff. As a consequence, under the basic assumptions adopted, the model without interruption costs conveys a somewhat counterintutive conclusion. Indeed, adding SM to PAYG and OD may lower the provider's revenue. However, if interruption costs are taken into consideration things may change.

SM with interruption costs
To see that with interruption costs Proposition 3 may fail to hold consider again the example following Proposition 2, with EΠ sðiÞ ðv; τ ¼ 3Þ ¼ 5v 4 162 − v 2 18 − v 3 54 < 0 , which would make SM unattractive for customers.
To summarise, the model suggests that coexistence of PAYG, OD and SM could be justified by bidders incorporating interruptions costs in their expected payoff computations, which may favour the use of PAYG or OD rather than of SM

Discussion and conclusions
In the paper we compared three main pricing schemes for cloud services, taking inspiration from those adopted by Amazon for its EC2 cloud platform, providing IaaS services. Though related to Amazon, the analysis can be of more general interest, for analogous pricing rules used by other cloud services providers. We compared PAYG, OD and SM pricing rules and discussed how the relevant parameters could be optimally determined by the provider. We analysed when it is preferable for the provider to propose both the PAYG and OD systems. We then discussed how coexistence of the three pricing rules could be explained by assuming that some bidders take into explicit consideration the costs to be paid when in SM a job is not completed, and the monetary resources invested until then lost by the customer. Indeed, without considering interruption costs the model suggests that adding SM to PAYG and OD may generate lower expected revenues to the provider, which would make it difficult to justify the presence of SM.
Moreover SM can also be important for the provider to try evincing the distribution of job values in the market. Indeed, since in the model SM may induce truthful bidding by the customers, that is offers based on their true job value, price offers received by the platfom in the spot market could be useful to estimate and reconstruct the value distribution of jobs executed in the cloud. Such estimate could then be used to appropriately calibrate the parameters in PAYG and OD. To summarise, in our view the main contribution of the paper, for the platforms providing IaaS, is the proposed methods on how to determine the revenue maximising parameter values of the pricing rules. Despite the potential difficulties in estimating some of the relevant elements of the analysis, such as the distribution functions F, G and H, we believe the model may provide useful insights to cloud computing operators when deciding how to price resources.
To better focus on the methodology, in the paper we did not discuss in detail the role of possible resource constraints for the provider. Yet, some insights are already embodied in the model. Indeed, the constant term in the PAYG scheme allows users to hedge against the risk that machine time may be rejected when requested. If resources were surely available, at any time, such term may not be justified.
The framework we considered for price setting is static, but it provides suggestions on its dynamic extension. Indeed, if pricing rules parameters reflect the characteristics of users' demand for running jobs they would change over time according to how the jobs nature and distribution, in the population of users, would evolve.
We conclude with some considerations on energy consumption and cloud computing. This is an issue which is currently raising a major concern [72,73] because of the increasing energy use that ICT, hence cloud computing, are making. In our analyses we did not explicitly considered energy costs which, if included, would define the provider objective function as revenues minus such, and possibly others, costs. Likely, energy costs would be increasing in the execution time of a job and machine resources occupied.