In this month, I got two papers to be published in conference proceedings. The former one will be published in the conference proceedings of IEEE ISPA 2012 in Spain as I blogged on last week. The later one will be in the proceedings of ECTI-CON 2012. This ECTI-CON 2012 is a conference that will be held in Hua Hin, Thailand (venue: Courtyard by Marriott at Cha-am Beach) on May 16-18, 2012. Interestingly, the proceedings of ECTI-CON will be available in IEEE Xplore.
Let me introduce the paper we submitted to ECTI-CON 2012.
The paper title is “Profit Maximization Model for Cloud Provider Based on Windows Azure”. The authors are Sivadon Chaisiri (me, the main author), Assoc. Prof. Bu-Sung Lee (my supervisor & my boss), and Asst. Prof. Dusit Niyato (my cosupervisor).
The paper proposes a profit maximization model for a cloud provider. Suppose there’s a cloud provider (small/medium cloud provider). Basically, the cloud provider does not own a data center (also physical computational resources). In particular, the provider rents computational resources (e.g., servers and storage) in Microsoft’s Windows Azure. In Windows Azure, there are compute instances (i.e., virtual servers). Currently, five types of compute instances are available, namely Extra Small, Small, Medium, Large, and Extra Large. Each type features different resource capacities (also computational performance).
Now the cloud provider can own (virtual) computational resources located in Microsoft’s data centers. The provider can integrate value-added services (namely cloud services) to the rented resources in Windows Azure. Then, the provider can sell the cloud services to customers and earn a profit. Here, a cloud service could be on-line game, video streaming, MapReduce platform, and web/application hosting platforms. The computational model of this cloud provider could be considered as Platform-as-a-Service (PaaS) and/or Software-as-a-Service (SaaS).
Well, it’s a simple and common idea that a cloud provider makes a profit by renting resources in other cloud providers’ facilities (i.e., Microsoft’s addressed in this paper) and integrating more cloud services into the rented resources. The challenge is that the way how the cloud provider can maximize the profit.
Now our aforementioned cloud provider is a customer of Windows Azure. To reduce the renting cost for the cloud provider (i.e., Windows Azure customer), Windows Azure provides the 6-month subscription plan. With the subscription plan, the provider pays a monthly fee (i.e., now $71.99) and yields a cheaper cost to utilize compute instances. The $71.99 fee is to subscribe just a single base unit. A base unit is equivalent to 750 hours of Small compute instance. Interestingly, this base unit can be converted to the different amounts of hours of other compute instances as well. The way to convert the amount of hours of base unit is shown in this Windows Azure webpage. Whenever the amount of hours of subscribed base units is not sufficient to operate cloud services, the cloud provider can buy more extra resources on the fly via the on-demand option (i.e., pay-as-as-you go). For example, the on-demand cost for Small compute instance is $0.12 per hour.
It could be noticed that the subscription plan is much cheaper than the on-demand option for a long run. For example, the $71.99 monthly fee of subscription plan can utilize 750 hours of Small Instance. In contrast, to utilize the same 750 hours of Small Instance with the on-demand option, we need to pay $0.12 x 750 = $90. Well, one month may not be different for some people. But what will happen when we consider the 6-month or 1-year time period, and we need to purchase a lot of hours (like over 100,000 hours of compute instances per month) ?
This subscription plan can save much more cost. That is, the profit can increase as well. The question is “how many base units should the cloud provider purchase in advance to obtain the maximal profit?” Please keep in mind that we should not purchase too many base units (i.e., oversubscribe) or too small number of base units (i.e., undersubscribe). Moreover, due to uncertainty of demand, the optimal profit could not be easily achieved. The number of customers/transactions that access cloud services is normally not precisely known by the cloud provider (or anyone) in advance.
To deal with this issue, this paper proposed an optimization model based on stochastic programming with 2-stage recourse. The objective of the model is to obtain the optimal number of base units which will be purchased such that the cloud provider can maximize the profit. Well, in the paper, we did some experiments. The results show that our model can successfully maximize the profit under the demand uncertainty. This paper was just a preliminary study. We still need to extend the model in the future work.
Let me stop here. For more detail, you can find the paper which will be available in IEEE Xplore. Otherwise, you can talk to me directly in the ECTI-CON which will be held in Hua Hin, Thailand 🙂