Presentation on theme: "Introduction to Cloud Computing and the “Credit Union” Model"— Presentation transcript:
1Introduction to Cloud Computing and the “Credit Union” Model Prof. Dunren “Daren” Che, PhDDept. of Computer ScienceSouthern Illinois University Carbondale (USA)Tel.: | Fax:URL:March 10, 2011
2Introduction and Outline What is Cloud ComputingPromises/CharacteristicsRelated TechnologiesCore technologies of CCChallenges & OpportunitiesLimitations of current clouds“Credit Union” Model for Cloud ComputingBuilding of CU CloudsAspects of researchA team projectSummary
3The NIST Definition of Cloud Computing Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models (and one note).
4Five Essential Characteristics of CC-1,2 On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
5Five Essential Characteristics of CC-3 Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
6Five Essential Characteristics of CC-4,5 Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
7Three+ Service/Delivery Models Cloud Software as a Service (SaaS).Cloud Platform as a Service (PaaS).Cloud Infrastructure as a Service (IaaS)
8Three Service Models-1Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based ). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
9Three Service Models-2Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
10Three Service Models-3Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
11Four Deployment Models-1,2 Private cloud. The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.Community cloud. The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.
12Four Deployment Models-3,4 Public cloud. The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.Hybrid cloud. The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
13One NoteNote: Cloud software takes full advantage of the cloud paradigm by being service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability.
14CC Definition by Ian Foster, et al. A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.More liked by people with CS background – more technical
15Promises (Characteristics) of CC AgilityCost reduction“Green”API (between machine and cloud software as HMI)Location independenceMulti-tenancyReliabilityScalability via dynamic on-demand provisionSecurity (with “lose of control” concern)Maintenance (easier for consumers)Metering (or utility computing)
18Service-Oriented-Computing and SOA The Service-Oriented Computing (SOC) paradigm refers to the set of concepts, principles, and methods that represent computing in Service-Oriented Architecture (SOA) in which software applications are constructed based on independent component services with standard interfaces.Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains.
19Distributed Computing A distributed system consists of multiple autonomous computers that communicate through a computer network, and interact/collaborate with each other in order to achieve a common goal.Distributed computing generally refers to the use of a distributed system to solve a computational problem that is divided into many tasks, each of which is solved by one computer of the distributed system.
20Grid ComputingGrid Computing is "a form of distributed computing and parallel computing, whereby a 'super and virtual computer' is (formed) composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks".The goal of Grid Computing is to provide a consolidated high-performance computing system based on loosely coupled storage, networking and parallel processing functions linked by high bandwidth interconnects.
21Differentiating Clouds from Grids Cloud Computing aims at serving multiple users at the same time and elastically via resource pooling while Grid Computing is intended to deliver functionality at a scale and quality equivalent to a supercomputer via a queuing systemGrids consist of resources owned and operated by different organizations while clouds are usually under a single organization’s controlCloud services can be obtained by using a standardized interface over a network, while grids typically require running the grid fabric software locally (the fabric software was designed for unifying the interconnected grid nodes)
22Cluster ComputingA computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.What make cluster different from grid? …You may consider cluster as “mini localized grid”
23What is Web 2.0 (wikipeid.org def.)? The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web.A Web 2.0 site allows users to interact and collaborate with each other in a social media dialogue as creators (prosumers) of user-generated content in a virtual community, in contrast to websites where users (merely as consumers) are limited to the passive viewing of content that was created for them.Examples of Web 2.0 include social networking sites, blogs, wikis, video sharing sites, hosted services, web applications, mashups and folksonomies.The term Web 2.0 is closely associated with Tim O'Reilly because of the O'Reilly Media Web 2.0 conference in late 2003
24VirtualizationVirtualization is an idea – in computer science, it broadly describes the separation of a resource or request for a service from the underlying physical delivery of that service.With virtual memory, for example, computer software gains access to more memory than is physically installed, via the background swapping of data to disk storage.Similarly, virtualization techniques can be applied to other IT infrastructure layers - including networks, storage, laptop or server hardware, operating systems and applications.
25Virtualization: the Key Supporting Tech for CC By decoupling virtual machines from physical machines, server virtualization can dramatically increase the flexibility and agility of an IT organization.Yet virtualization alone does not solve the fundamental scalability and reliability problems for applications.Virtualization typically lacks the automation required for the self-service, self-healing functionality of a cloud.
28Virtualization: Two Hype Terms Virtual Machine -- A representation of a real machine using software that provides an operating environment which can run or host a guest operating system.Hypervisor -- A thin layer of software that generally provides virtual partitioning capabilities which runs directly on hardware, but underneath higher-level virtualization services. Sometimes referred to as a “bare metal” approach.
29Issues of Current CC(1) Elastic scalability, which is currently restricted to horizontal scale out, tends to resource over-usage due to limited scale down capabilities (2) Trust, security and privacy always pose issues in any internet provided service (3) data Handling in clouds is still complicated - in particular as data size and diversity grows, pure replication is no viable approach, leading to consistency (vs. availability) and efficiency issues. (4) Programming models are currently not aligned to highly scalable applications, not well exploiting the capabilities of clouds. Developers, providers and users should be able to control and restrict distribution and scaling behavior. (5) Systems development/management are still executed mostly manually, thus contributing to substantial efficiency and bottleneck issues.
31Limitation 1Impossible to reconcile between over-provision and under-provision
32Limitation 1, cont’ Risk of over-provisioning: underutilization DemandCapacityTimeResourcesUnused resourcesStatic data center
33Limitation 1, Cont’ Heavy penalty for under-provisioning Lost revenue ResourcesDemandCapacityTime (days)123ResourcesDemandCapacityTime (days)123Lost revenueResourcesDemandCapacityTime (days)123Lost users
34Limitation 2Do you think the following organizations will ever move their systems and data repositories to the Cloud?Bank of AmericaDepartment of DefenseFBICIA…
35Limitation 2, cont’Security and privacy concerns never diminish or disappear because of human nature
36Limitation 3Promise of maximizing resource utilization only applies the vendor sidesIt’s just a little “greener”, not much greener
37Not to take CC wrong! Nothing is seriously wrong with current CC It’s the current provision model that has limitationMore accurate name for today’s clouds: “Vender clouds”
38Reality and Dream The reality— “I have a dream” too We see unused (and often wasted) computing resources everywhere and everydayExcessive CPU cycles, Memory and Dick spaces, …They are spare precious assets – wasted!“I have a dream” tooRecycle/reuse them for theGood of public orpersonal benefits my “Credit Union” Cloud Model
39“Credit Union”Credit unions as a type of financial institutions have been practiced very successfully for the good of a community and the benefits of its members by attracting and reinvesting the spare money owned by its members.Let’s invest/donate our spare computing resources (CPU cycles and storage spaces) into a special “credit union” for the good of our community and/or additional personal benefits.
40CUM: The “Credit Union” Model of Cloud Computing The “credit union” model of Cloud Computing is a specialized model of the general Cloud Computing. It relies on the unused excessive computing resources owned by the individuals and/or organizations in a community. In the setting of the CU model, computing resources are contributed by individuals and/or organization either free or for credits. Clouds built on the CU model are referred to as CU clouds. CU clouds stick to the general principles of Cloud Computing but requires specialized implementation architecture for realizing its goal.
43Characteristics of CU Clouds Different assumption: CU clouds build on the assumption that computing resources are separately owned by the members of a community, and are highly dynamic and heterogeneousCommunity-centered: A CU cloud is community-driven, community-provisioned, community-owned, and community- consumedRelatively Smaller scale, but can be federatedSelf-provision, minimized privacy concern“Greener” computing: recycle/reuse/reinvest spare resources.
44Characteristics of CU Clouds Natural digital ecosystems: possesses most features of a digital ecosystem such as self-provision, self-organization, self-control, scalability, sustainability, and thus can naturally serve as an ideal platform for digital ecosystem development.Ideal platform for education: Deployed for an educational institution can serve as a readily available and ideal platform for further the development of community education clouds.Ideal platform for governments: due to the less concern for security and privacy that comes inherently with the CU model.Ideal platform for any community and organizationSuch as FBI, CIA, DOD, Bank of America, etc.
45Challenges and Opportunities Where are challenges, where are opportunitiesSo don’t be afraid of challenges -> opportunitiesCU Clouds do not come without challengesFacing a more dynamic and heterogeneous environments (vs. dedicated enterprise clusters)Need to balance cloud users and native users
46Challenges of CU Clouds Graceful balance between cloud requirements and native users & applicationsNew host OS with built-in virtualization utilizing special hardware support.Decentralized cloud facility management (including distributing coordination and load balancing, etc.)Security
47Aspects of Research Virtualization – the most important part! Must be hosted architectureGraceful reconciliation of cloud vs. native resource completionCloud infrastructure managementCan leverage Grids resultsCloud data managementData partition vs. task partition vs. load balancingCloud security and privacy assurance mechanisms
48Teamwork We need more team members To fulfill students’ graduation request for thesis research, non-thesis projects, or senior projects
49Summary Current Clouds have inherent flaws due to its Vender provision modelCU Model may fix most of the problemsSecurer, greener, cheaperCore supporting technologiesVirtualizationGrid computingVery promising futureAcademic significancePractical implication