CLOUD COMPUTING AN OVERVIEW & QUALITY OF SERVICE University of Manitoba Department of Computer Science Jan 28, 2010 Hamzeh Khazaei Cloud Computing - Definition 2 /20 There is no unique and standard definition out there However, it is generally accepted that CC refers to a new IT paradigm for users One of those definitions: Cloud computing is a style of computing paradigm in which typically real-time scalable resources such as files, data, software, hardware, and third party services can be accessible from a Web browser via the Internet to users Cloud computing - Characteristics 3 /20 Agility – On demand computing infrastructure Linearly scalable – challenge Reliability and fault tolerance Self healing – Hot backups, etc SLA driven – Policies on how quickly requests are processed Multi-tenancy – Several customers share infrastructure, without compromising privacy and security of each of the customer’s data Service-oriented – compose applications out of loosely coupled services. One service failure will not disrupt other services. Expose these services as API’s Virtualized – decoupled from underlying hardware. Multiple applications can run in one computer Data, Data, Data Distributing, partitioning, security, and synchronization Computing Paradigm Shift 4 /20 Cloud Computing - Some terms 5 /20 Term cloud is used as a metaphor for internet Concept generally incorporates combinations of the following Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service(SaaS) Not to be confused with Grid Computing – a form of distributed computing Cluster of loosely coupled, networked computers acting in concert to perform very large tasks Utility Computing – packaging of computing resources such as computing power, storage, also a metered services Autonomic computing – self managed Cloud Computing Model 6 /20 Cloud Computing Framework 7 /20 Cloud Computing Architecture 8 /20 Commercial clouds 9 /20 Public, Private and Hybrid clouds 10 /20 Quality of Service 11 /20 Everything in cloud computing is delivered as service So quality of service is inevitable QoS has multiple aspects such as: Response time Throughput Availability Reliability Security Service Level Agreement, SLA 12 /20 The SLA is a contract negotiated and agreed between a customer and a service provider Service provider is required to execute service requests from a customer within negotiated quality of service requirements for a given price Due to variable load, dynamically provisioning computing resources to meet an SLA and allow for an optimum resource utilization will not be an easy task QoS requirements for a Cloud - ideal 13 /20 The QoS must system be able to manage several simultaneous services with a specific response time limitation for each service The QoS system must supply service differentiation in the service provider to the consumer – consumer category The QoS system must support the grouping of interactions in sessions. The QoS system should not require modification in the system software of the servers QoS requirements for a Cloud - ideal 14 /20 The QoS system should be easy to configure The QoS system must be scalable to operate in both a single server and a cluster of servers The QoS system must provide protection against overloads and low utilization The QoS system may support dynamic negotiation of parameters High Level Architecture of QoS 15 /20 Service Performance and Analysis in Cloud Computing 16 /20 For the commercial success of cloud computing the ability to deliver QoS guaranteed services is crucial Clearly customers are more concerned about response time rather than other performance metrics Usually customers are more inclined to the percentile of time in which they receive their services less than a given value P-percentile: it means a given customer receives p% of his services less than a pre-defined time value in the SLA Some Important Questions regarding Service Performance: 17 /20 1. For a given arrival rate of requests and given service rate what level of QoS can be guaranteed? 2. What is the minimal service rate for a given percentile of the response time and a given service arrival rate? 3. How many number of customers can be supported so that a given percentile of the response time can be still guaranteed when service rate is given? An Example Queuing Model 18 /20 Cluster, Grid and Cloud: Google trend 19 /20 20 /20 Thank You !!! Any Question?