Lecture on Cloud Computing Pricing, SLA, business models
Slides from: Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology,
Pricing Pricing is an important role in the marketplace that has been considered in economics. Two factors that impact pricing are: 3
Pricing fairness Pricing fairness consists of two aspects: a. Personal fairness Subjective b. Social fairness Objective 4
Pay as you go model Lets users to utilize a public cloud instead of using dedicated private cloud at a slice of the cost. Allowing providers to benefit from users by serving a public cloud. The pricing plan becomes an important bridge between users and provider 5
Two intertwined aspects in pricing a. Pricing has it s root in system design and optimization. b. Pricing has it s root in economics. 6
Two approaches for evaluations Spring Black Box Approach whit Amazon EC2 7
Popular applications in cloud 8
Methodology on Amazon EC2 We calculate users expenses when they execute a task in Amazon: 9
Methodology on the spring system Spring virtualized the basic physical data center and provides virtual machines to user. Spring have two major modules: 1. VMM(Virtual Machine Monitors) 2. An Auditor 10
Hamilton s Estimations we calculate the total cost of the full burdened power consumption Cost f'll =(ρ - P raw - PUE) 11
The total provider cost : Cost provider =(Cost f'll + Cost amor:ized ) Scale Total amortized server cost Ratio of the estimated total cost to the sum of the cost of full burdened and power consumption and Cost amor:ized 12
We estimate the amortized cost per server: Cost amor:ized = (C amor:izedunit t ser@er ) the amortized cost per hour per sever the elapsed time on the server (hours) 13
We estimating the energy consumption based on resource utilization: P ser@er =P idle +U cpu C 0 + U io C 1 CPU utilization I/O bandwidth the coefficients in the model 14
Setup in Amazon EC2 The two default on-demand virtual-machine types provided by EC2: Small instances medium instances These virtual machines run Fedora Linux and are located in California, USA 15
Set up in spring We use VirtualBox to implement a virtual machine in Spring. The host OS is Windows Server 2003 The guest OS is Fedora 10 16
Hardware configuration of machines in Spring Eight- core machine CPU Intel Xeon E5335 8- way 2.00GHz Four- core machine Intel Xeon X3360 Quad 2.83GHz RAM(GB) 32 8 Disk RAID 5 (SCSI disks) RAID 0 (SATA disks) Network 1 Gigabit 1 Gigabit Power Model p idle = 299, c0 = 0:46, C1 = 0:16 p idle = 250, c0 = 0:4, C1 = 0:14 17
ROI we calculate the efficiency of a provider s investment using ROI (Return oninvestment) 18
Performance and costs for Hadoop vs. the number of same-type instances on EC2 (a) Time for Hadoop 19
(b) Costs for Hadoop 20
the elapsed times and costs of optimized single-machine benchmarks On a small instance Elapsed time (sec) Cost ($) On a medium instance Elapsed time (sec) Cost ($) Postmark 204.0 0.0054 203.2 0.0106 Dedup 45 0.0012 14 0.0008 BlackScholes 934 0.0246 215 0.0113 21
User Optimizations on EC2 User optimizations on EC2 include application-level optimizations for a fixed instance type choosing the suitable instance type tuning the number of instances 22
Failures Bugs are not the only cause of failures transient failures in the cloud infrastructure also occur Transient failures in the underlying infrastructure could be a significant factor for provisioning user costs 23
Slides from: Ivona Brandic Arbeitsgruppe für Verteilte Systeme Institut für Informationssysteme Technische Universität Wien
Service Level Agreements Guarantees established before the service usage Include participating parties, obligations, penalties Sometimes measurement methods Sometimes implicitly negotiation strategies Standards Web Service Level Agreement (WSLA) - IBM WS-Agreement - OGF
WSLA WSLA defines the agreed performance characteristics and the way to evaluate and measure them
The measurement functionality receives the measured metrics from the system's instrumentation The condition evaluation function evaluates the guarantees of the WSLA as defined in the WSLA The WSLA has as yet a limited model of management function. Management implements actions that are invoked upon guarantees violations. WSLA runtime
Supporting Parties Measurement service implements a part or all of the measurement function required by one or both signatory parties. Condition evaluation service implements condition evaluation function that covers all or a part of the guarantees of a WSLA. Management service implements the management actions of a signatory party.
WSLA creation A complete WSLA document is composed from all the information negotiated and agreed upon by the two parties, service provider and service customer on supporting parties In many scenarios, one of the parties (e.g., the service provider) will define most of the content of a WSLA and a service customer may simply agree to such information The authoring process can be off-line, where the information is exchanged between the parties via e-mail or other human communication mechanisms. An interactive authoring tool uses a WSLA template, and presents graphically various input fields and choices to be made by an author
WSLA deployment
SLA example
WSLA overview Parties - describes the parties involved in the management of the Web Service. The relationship of a sponsored party to their sponsor is not within the scope of this agreement. Service Definitions - describe the services the WSLA is applied to. The service definitions represent the common understanding of the contracting parties of the structure of the service, in terms of operations and the service's parameters and metrics that are the basis of the SLA. Obligations - define the service level that is guaranteed with respect to the SLA Parameters defined in the service definition section. The promises to perform actions under particular conditions are also represented in this part.
WSLA structure The element SLA of type WSLAType is the root element of a WSLA definition. one Parties section multiple ServiceDefinition sections one Guarantees section. Multiple ServiceDefinition elements allow an SLA to cover services defined in multiple places within one SLA.
WSLA structure example The ServiceProvider is the party that provides the service and guarantees the associated properties.there is exactly one ServiceProvider. The ServiceConsumer is the recipient of the service. There is exactly one ServiceConsumer. Any number of SupportingParties is involved in measuring the service's parameters, supervising the given guarantees and managing the corrective procedures in case of failure.
Monitoring the Clouds Host monitor, SLA monitor When, where, how often do we have to monitor? Are monitoring intervals dependable on the type of the application? How intrusive are the applications and infrastructures? Monitoring data storage, aggregation, etc.?
Monitoring the Clouds
Service Level Agreement for clouds SLA definition: Contract signed between user and provider stating terms of service including quality of service, obligation, pricing, and penalties in case of violations Basis for service provisioning in Clouds SLA negotiation processes SLA management and enforcement techniques SLA terms expressed as objective thresholds E.g., response time <= 5ms
Motivation FoSII Infrastructure Foundation of Selfgoverning ICT Infrastructure Project at TU Vienna Models and concepts for autonomic resource management and SLA enforcement Currently comprises two components LoM2HiS framework Knowledge component
LoM2HiS Framework Low level Metrics to High level SLA Comprises of three parts: Host monitor Low level metrics Communication Mechanism Message transmission (message queues) Event based, no bottlenecks in the communication Run-time monitor Metrics mapping High level service SLA monitoring
Additional reading Michael Maurer, Vincent C. Emeakaroha, Ivona Brandic, Joern Altmann: Cost-Benefit Analysis of an SLA Mapping Approach for Defining Standardized Cloud Computing Goods. Future Generation Computer Systems, 2011. Vincent C. Emeakaroha, Marco A. S. Netto, Rodrigo N. Calheiros, Ivona Brandic, Rajkumar Buyya, Cesar A. F. De Rose: Towards Autonomic Detection of SLA Violations in Cloud Infrastructures, Future Generation Computer Systems, 2011. H. Wang, Q. Jing, R. Chen, B. He, Z. Qian, and L. Zhou, Distributed Systems Meet Economics: Pricing in the Cloud, In Proceeding of the USENIX workshop on hot topics in Cloud Computing, Boston, MA, USA, 2010.)
Lecture on Cloud Computing Cloud Benchmarking, and Scheduling
Introduction In order to efficiently manage a Cloud infrastructure, proper monitoring solutions are needed. Typical monitoring metrics are: availability, responce time, computing and transfer speed. These metrics and methods can be coupled in a benchmarking framework. Such benchmarking is needed by scheduling and brokering Cloud services, and valuable for user communities and service providers.
Commercial benchmarking tools Next the following commercial tools are introduced: YCSB, CloudHarmony, and CloudSleuth.
Yahoo! Cloud Serving Benchmark 3 YCSB states that it is difficult to decide which system is right for an organization s application, because the features differ between systems, and there is not an easy way to compare the performance of these systems. The goal of the YCSB project is to develop a framework and common set of workloads for evaluating the performance of different "keyvalue" and "cloud" data serving stores. The software can be used to measure the elasticity, and data read and update latencies of specific data Cloud providers. 3 http://research.yahoo.com/web_information_management/ycsb, 2010.
Yahoo! Cloud Serving Benchmark The benchmark package consists of two parts: The YCSB Client, an extensible workload generator, and The Core workloads, a set of workload scenarios to be executed by the generator.
CloudHarmony 4 CloudHarmony is a commercial tool launched in 2009, that provides a set of benchmarks for objective, independent performance comparisons between different cloud providers. These benchmarks fall into three categories: Performance Benchmarking Network Benchmarking Uptime Monitoring Metering more than 80 public clouds 4 http://cloudharmony.com/benchmarks, 2010.
CloudHarmony
CloudHarmony - Performance Benchmarking Performance is an important factor in evaluating cloud services, particularly for common cloud applications like web and database servers. Benchmarks regarding performance characteristics include CPU, disk IO, memory, and other performance factors, measured using about 100 synthetic and real-world benchmarks like Unixbench, IOzone, SPECjvm2008 and many others.
CloudHarmony - Network Benchmarking Network throughput and latency is another important cloud performance characteristic. Performance measurements available in CloudHarmony include both network performance within the cloud as well as out of the cloud. These measurements help organizations to choose a cloud service that will provide good throughput and low latency to themselves and their potential users or customers. To measure network performance, they monitor latency and throughput using a couple of techniques: For cloud-to-cloud performance, they utilize a network of about 50 servers located throughout the world to periodically measure and record latency and throughput measurements to other clouds. For cloud-to-consumer performance, they use a cloud speedtest which measures latency and throughput using a browser-based application. This data is published periodically on the website blog and also publiched in network performance reports.
CloudHarmony - Uptime Monitoring Service availability or uptime, is a critical cloud performance characteristic. To measure uptime, they have setup services with most public cloud vendors and have monitors in place to track any outages of those services. Since 2010, they have observed significant variances between the availability of different cloud services, and found very little correlation between SLAs and actual uptime. According to their findings, if uptime is an absolute critical requirement for an organization, certain cloud providers may be a better fit than others based on historical performance. The Cloud Status section of their website allows users to view and filter historical uptime statistics.
CloudSleuth 5 CloudSleuth was created as a free online service by Compuware. CloudSleuth offers expert advices in: comprehensive database of historical performance and availability issues, detailed how-to information on the collection of performance metrics, best practice guides and sample codes for application development performance management. It uses the Gomez Performance Network (GPN) to measure the performance of an identical sample application running on several popular cloud service providers. 5 https://www.cloudsleuth.net/web/guest/home, 2010.
CloudSleuth services Global Provider View: to compare the performance and availability of PaaS and IaaS providers worldwide in real time. Cloud Performance Analyzer: to discover the effect of 3rd Party web services and CDNs on web application performance from around the world. Monitor your own Application: to submit an app URL, and benchmark this cloud application's live performance based on real user experience. (free 60 days trial)
Google's cloud, App Engine, performed faster than all of the other major clouds, including Microsoft's Azure and Amazon EC2. 6 (over May, 2010.) 6 http://www.networkworld.com/community/blog/microsofts-cloud-slower-googles-amazons-bench
Related monitoring approaches As we have seen Cloud benchmarking is a relatively new area Sophisticated solutions are still missing in the academic research, yet. Even though IaaS providers offer some level of monitoring (e.g. Amazon CloudWatch), generic solutions are also missing and in the spotlight of current research
Amazon CloudWatch 7 Amazon CloudWatch provides monitoring for AWS cloud resources and the applications customers run on AWS. Developers and system administrators can use it to collect and track metrics, gain insight, and react immediately to keep their applications and businesses running smoothly. Amazon CloudWatch monitors AWS resources such as Amazon EC2 and Amazon RDS DB instances, and can also monitor custom metrics generated by a customer s applications and services. With Amazon CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health. 7 http://aws.amazon.com/cloudwatch/
Cloud scheduling/brokering Besides users and providers, specific cloud management services rely on monitoring and benchmarking Cloud managers need to schedule user requests and VMs among the available resources Next we exemplify these tasks using a Federated Cloud Management architecture
Brokering in Clouds [2] introduces a Federated Cloud Management architecture with a two-level brokering: At the top level a meta-brokering service chooses among available infrastructure Clouds At the bottom level CloudBrokers schedule virtual machines (VM) to available resources
Brokering components in FCM
CloudBroker in FCM Each CloudBroker has an own queue for storing the incoming service calls, and manages one virtual machine queue (VMQ) for each appliance (VA). The default virtual machine scheduling is based on the currently available requests in the queue, their historical execution times, and the number of running virtual machines (VM). The secondary task of the CloudBroker involves the dynamic creation and destruction of the various VMQs. Virtual Machine Handler components are assigned to each virtual machine queue. These components process the virtual machine creation and destruction requests placed in the queue. The requests are translated and forwarded to the corresponding IaaS system. This component is a cloud infrastructure-specific one, that uses the public interface of the managed infrastructure.
Monitoring in FCM To support more efficient brokering in FCM, enhanced monitoring approaches are needed CloudWatch may be used, but: expensive, and available only in Amazon Clouds. A general monitoring approach is used based on SALMoN 8, which is a web service monitoring tool This integrated monitoring subsystem allows regular testing of deployed services with predefined metrics. 8 http://gessi.lsi.upc.edu/salmon/web/
Monitoring solution in FCM
M3S Use case with the Minimal Metric Monitoring Service It has two methods representing three monitoring metrics: Availability: a generalized ping test (e.g. getting the WSDL of the test service) - this shows if the service is up and running Computational capability: measured by a compute method that performs a 5 minute-operation (the result is normalized compared to a reference hardware setup) - the response time of this method represents the computational speed of the cloud Data transfer capability: measured by a transfer method that uploads and downloads a 10 MB file to a predefined public storage location - the response time of this method shows the transfer speed of the cloud.
Cloud scheduling approaches We have seen that in FCM user calls are scheduled to VMs, and various strategies may be used to manage VM deployments Scheduling is also a hot topic, and many approaches can be found in the literature
Energy efficient strategies by Special objective functions of a cloud metascheduling problem are used to minimize the CO2 emission and maximize revenue of a resource provider. Buyya et. al. [3]
Migration Dynamic load management solutions may also benefit from benchmarking tools Load balancing among cloud datacenters can be achieved by migration Dynamic capacity management can increase productivity, but it requires continuous monitoring/benchmarking services and innovative runtime decision algorithms [4]
Migration phases In [a] the authors define three main phases of the migration management process: to decide when a dynamic redistribution of load is necessary to choose which virtual machines is convenient to migrate to place virtual machines to other physical machines
Management algorithms Virtualization mechanisms allow each machine to host a concurrent execution of several virtual machines (guest) each with its own operating system and applications. By migrating a guest from an overloaded host to another not critical host, it is possible to improve resource utilization and better load sharing Any decision algorithm for migration has to select one or more sender hosts from which some virtual machines are moved to other destination hosts, namely receivers A good algorithm for governing of dynamic migrations in a cloud architecture must guarantee a reliable classification of the host behavior (as sender, receiver and neutral) that can reduce the number of useless guests migrations, and a selective precision in deciding which (few) guests should migrate to another host.
Host load profiles The load state of a host, called profile, is obtained through a periodic collection of measures from server monitors.
Host roles The proposed management algorithm is activated periodically (typically in the order of few minutes) and, at each checkpoint, it aims at defining three sets: Sender hosts Receiver hosts Migrating guests We have to guarantee that N S + R (N = the total number of hosts) and that the intersection between the set of sender hosts and of receiver hosts is null. The algorithm is based on the following four phases.
Proposed algorithms The proposed algorithms consist of four phases: 1. Selection of sender hosts 2. Selection of guest hosts evaluation of the load of each guest; sorting of the guests depending on their loads; choice of the subset of guests that are on top of the list. 3. Selection of receiver hosts 4. Assignment of hosts
Conclusion Dynamic migrations of virtual machines is becoming an interesting opportunity to allow cloud infrastructures to accommodate changing demands for different types of processing with heterogeneous workloads and time constraints Experimental studies of this approach [4] are based on traces coming from a cloud platform supporting heterogeneous applications on Linux and MS virtualized servers They show significant improvements in terms of selectivity and robustness of the proposed algorithm for sender detection and selection of the most critical guests
Additional reading [1] C. Bennett, R. Grossman and J. Seidman: MalStone: A Benchmark for Data Intensive Computing, Open Cloud Consortium TR-09-01, June 2009. [2] A. Cs. Marosi, G. Kecskemeti, A. Kertesz and P. Kacsuk: FCM: an Architecture for Integrating IaaS Cloud Systems. In Proceedings of The Second International Conference on Cloud Computing, GRIDs, and Virtualization. Rome, Italy. September, 2011. [3] S. K. Garg, C. S. Yeo, A. Anandasivam, and R. Buyya, Energy- Efficient Scheduling of HPC Applications in Cloud Computing Environments, Technical Report, CLOUDS-TR-2009-10, Cloud Computing and Distributed Systems Laboratory, The University of Melbourne, Australia, Sept. 4, 2009. [4] M. Andreolini, S. Casolari, M. Colajanni and M. Messori, Dynamic load management of virtual machines in a cloud architectures, In Proceedings of the IEEE conference on Cloud computing, 2009.