1 / 106

雲端計算 Cloud Computing

This text is a comprehensive guide to cloud computing principles and paradigms, covering topics such as virtual machines, secure data storage, and workflow engines. It includes a detailed outline and evaluation criteria for the course. Don't miss this valuable resource!

tvillarreal
Download Presentation

雲端計算 Cloud Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 雲端計算Cloud Computing Text Book:Cloud Computing: Principles and Paradigms, by R. Buyya, J. Broberg and A. Goscinski, Wiley (全華圖書代理)

  2. Info • Time:Mon. 2:10~3:25, 3:45~5:00(Room 207) • Evaluation: • Homework50% • MidtermExam 25% • Final Exam 25% • Website:http://ares.ee.nchu.edu.tw/course/cc106/

  3. Outline • Introduction • Virtual Machines Provisioning and Migration • Management of Virtual Machines • Cluster as a Service • Secure Distributed Data Storage • Integration of Private and Public Clouds • Autonomic Cloud Engines • Workflow Engines • MapReduce Programming Models • SLA Management

  4. Chapter 1Introduction to Cloud Computing

  5. Cloud Computing In A Nutshell • Virtualization means delivering useful functions while hiding how internals work • Being fully virtualized, computing must allow computers to be built from distributed components • e.g., processing, storage, data, and software resources • Cluster, grid, and now, cloud computing, have all aimed at allowing access to large amounts of computing power in a fully virtualized manner • By aggregating resources • By offering a single system view

  6. Cloud Computing In A Nutshell (cont.) • Delivering computing as a utility • A business model for on-demand delivery of computing power • Consumers pay providers based on usage • Pay-as-you-go • Similar to services from traditional public utility services • e.g., water, electricity, gas, and telephony • A category of sophisticated on-demand computing services initially offered by commercial providers • e.g., Amazon, Google, and Microsoft

  7. Cloud Computing In A Nutshell (cont.) • A computing infrastructure is viewed as a “cloud” • Businesses and individuals access applications from anywhere in the world on demand • Offering computing, storage, and software “as a service” • A cloud should have: • Pay-per-use • No ongoing commitment, utility prices • Elastic capacity and the illusion of infinite resources • Self-service interface • Resources that are abstracted or virtualized

  8. Cloud Computing In A Nutshell (cont.) • Cloud computing providers usually offer a broad range of software services • In addition to raw computing and storage • Include APIs and development tools • Allow developers to build seamlessly scalable applications upon their services • Allow customers to run their everyday IT infrastructure “in the cloud” • Delivering computing as a utility has been realized with the advent of cloud computing • The main technological advancements • Public clouds, management tools, and development frameworks

  9. Roots Of Cloud Computing • The convergence of technology fields that significantly advanced and contributed to the advent of cloud computing • Hardware (virtualization, multi-core chips) • Internet technologies (Web services, service-oriented architectures, Web 2.0) • Distributed computing (clusters, grids) • Systems management (autonomic computing, data center automation) • A specification and standardization process followed • Leading to maturity and wide adoption

  10. Roots Of Cloud Computing(cont.)

  11. From Mainframes to Clouds • From in-house generated computing power into utility-supplied computing resources delivered over the Internet as Web services • On demand delivery of infrastructure, applications, and business processes in a security-rich, shared, scalable, and based computer environment over the Internet for a fee • Consumers can attain reduction on IT-related costs • Choosing to obtain cheaper services from external providers vs. heavily investing on IT infrastructure and personnel hiring

  12. From Mainframes to Clouds(cont.) • The “on-demand” component of this model allows consumers to adapt their IT usage to rapidly increasing or unpredictable computing needs • Providers of IT services achieve better operational costs • Hardware and software infrastructures are built to provide multiple solutions and serve many users • Increasing efficiency and ultimately leading to faster return on investment (ROI) as well as lower total cost of ownership (TCO)

  13. From Mainframes to Clouds(cont.) • The unavailability of efficient computer networks caused IT infrastructure to be hosted in proximity • Preventing the utility computing reality of taking place on modern computer systems • New technologies for enabling sharing of computing power over great distances have appeared • The potential of delivering computing services with the high speed and reliability to offer computing services with a fraction of costs for a company to generate its own computing power

  14. SOA, Web Services, Web 2.0, and Mashups • Web services can glue together applications running on different messaging product platforms • Enabling information from one application to be made available to others • Enabling internal applications to be made available over the Internet • A rich WS software stack has been specified and standardized • Describe, compose, and orchestrate services • Package and transport messages between services

  15. SOA, Web Services, Web 2.0, and Mashups(cont.) • Publish and discover services • Represent quality of service (QoS) parameters • Ensure security in service access • WS standards have been created on top of HTTP and XML • Providing a common mechanism for delivering services • Making them ideal for implementing a service-oriented architecture (SOA) • SOA addresses requirements of loosely coupled, standards-based, and protocol-independent distributed computing

  16. SOA, Web Services, Web 2.0, and Mashups(cont.) • Software resources are packaged as “services” • Provide standard business functionality • Independent of the state or context of other services • Described in a standard definition language • Have a published interface • WS enables the creation of powerful services that can be accessed on-demand, in a uniform way • Their true power resides in its interface being accessible by other services • An enterprise application following the SOA paradigm is a collection of services to perform complex business logic together

  17. SOA, Web Services, Web 2.0, and Mashups(cont.) • In the consumer Web, information and services may be programmatically aggregated • Acting as building blocks of complex compositions, called service mashups • Many service providers make their service APIs publicly accessible using standard protocols like SOAP and REST • Amazon, del.icio.us, Facebook, and Google • One can realize a fully functional Web application into practice just by gluing pieces with few lines of code

  18. SOA, Web Services, Web 2.0, and Mashups(cont.) • SaaS cloud applications can be built as compositions of other services from the same or different providers • Services like user authentication, e-mail, payroll management, and calendars are examples • Can be reused and combined in a business solution • Many building blocks and solutions are now available in public marketplaces • Popular APIs are combined to produce a variety of interesting solutions • Google Maps, Flickr, youtube, Amazon ecommerce, and Twitter • From finding video game retailers to weather maps

  19. Grid Computing • Most production grids share compute and storage resources distributed across different administrative domains • e.g., teragrid and EGEE • Focus on being speeding up a broad range of scientific applications • Build standard Web services-based protocols • Allow distributed resources to be discovered, accessed, allocated, monitored, accounted for, and billed for, etc. • In general managed as a single virtual system

  20. Grid Computing(cont.) • Open Grid Services Architecture (OGSA) defines a set of core capabilities and behaviors that address key concerns in grid systems • Globus Toolkit is a middleware • Implements several standard Grid services • Aided the deployment of several service-oriented Grid infrastructures and applications • Tools are available to interact with service grids, including grid brokers • Facilitate user interaction with multiple middleware • Implement policies to meet QoS needs

  21. Grid Computing(cont.) • The development of standardized protocols for several grid computing activities has contributed • Allow delivery of on-demand computing services over the Internet • Ensuring QoS in grids has been perceived as a difficult endeavor • Lack of performance isolation has prevented grids adoption in a variety of scenarios • Resources are oversubscribed • Users are uncooperative

  22. Grid Computing(cont.) • Activities associated with one user or virtual organization (VO) can influence the performance perceived by other users using the same platform • The impossibility of enforcing QoS and guaranteeing execution time • Especially for time-critical applications • Another issue is the availability of resources with diverse software configurations • Including disparate operating systems, libraries, compilers, runtime environments, etc.

  23. Grid Computing(cont.) • User applications would often run only on specially customized environments • A portability barrier has often been present on most grid infrastructures • Inhibiting users of adopting grids as utility computing environments • Virtualization technology has been identified as the perfect fit to issues • Hosting many dissimilar software applications on a single physical platform • Evolving grids to support an additional layer to virtualize computation, storage, and network resources

  24. Utility Computing • Large grid installations have faced new problems • Excessive spikes in demand for resources coupled with strategic and adversarial behavior by users • Grid resource management techniques did not ensure fair and equitable access to resources in many systems • In utility computing environments, users assign a “utility” value to their jobs • Utility is a fixed or time-varying valuation that captures various QoS constraints • Deadline, importance, satisfaction

  25. Utility Computing (cont.) • The valuation is the amount users are willing to pay a service provider to satisfy their demands • The service providers attempt to maximize their own utility • Directly correlate with their profit • Choose to prioritize high yield • i.e., profit per unit of resource) user jobs • Shared systems are viewed as a marketplace • Users compete for resources based on the perceived utility or value of their jobs

  26. Hardware Virtualization • Cloud computing services are usually backed by large-scale data centers • Composed of thousands of computers • Serve many users • Host many disparate applications • Hardware virtualization overcome most operational issues of data center building and maintenance • Virtualizing a computer system’s resources • Including processors, memory, and I/O devices • Aiming at improving sharing and utilization of computer systems

  27. Hardware Virtualization (cont.) • Allows running multiple operating systems and software stacks on a single physical platform • A software layer mediates access to the physical hardware presenting to each guest operating system a virtual machine (VM) • The virtual machine monitor (VMM) • Also called a hypervisor, • VM is a set of virtual platform interfaces • Several technologies have contributed to an increasing adoption of virtualization • Multi-core chips, para-virtualization, hardware-assisted virtualization, and live migration of VMs

  28. Hardware Virtualization (cont.)

  29. Hardware Virtualization (cont.) • Traditionally, perceived benefits were improvements on sharing and utilization, better manageability, and higher reliability • Recently emphasizing three basic capabilities regarding management of workload in a virtualized system • Isolation, consolidation, and migration • Workload isolation is achieved • All program instructions are fully confined inside a VM • Leads to improvements in security • Better reliability is also achieved • Software failures inside one VM do not affect others

  30. Hardware Virtualization (cont.) • Better performance control is attained • Execution of one VM should not affect the performance of another VM • The consolidation of several individual and heterogeneous workloads onto a single physical platform • Leads to better system utilization • Also overcomes potential software and hardware incompatibilities in case of upgrades • Run legacy and new operation systems concurrently • Workload migration targets at facilitating hardware maintenance, load balancing, and disaster recovery

  31. Hardware Virtualization (cont.) • Also referred to application mobility • Encapsulating a guest OS state within a VM • Allowing it to be suspended, fully serialized, migrated to a different platform, resumed immediately or preserved to be restored at a later date • A VM’s state includes a full disk or partition image, configuration files, and an image of its RAM • VMM platforms are the basis of many utility or cloud computing environments

  32. Hardware Virtualization (cont.) • VMWare Esxi • A VMM from vmware • A bare-metal hypervisor • Installs directly on the physical server • Others may require a host operating system • Through memory ballooning and page sharing, it can overcommit memory • Increasing the density of VMs inside a physical server • Xen • Pioneered the para-virtualization concept • The guest operating system, by means of a specialized kernel, can interact with the hypervisor • Significantly improving performance

  33. Hardware Virtualization (cont.) • Currently forms the base of commercial hypervisors of a number of vendors • Most notably Citrix XenServer and Oracle VM • KVM • A Linux virtualization subsystem • Memory management and scheduling are carried out by existing kernel features • Making KVM simpler and smaller than hypervisors that take control of the entire machine • Leverages hardware-assisted virtualization • Improves performance • Supports unmodified guest operating systems • Supports some versions of Windows, Linux, and UNIX

  34. Virtual Appliances and the Open Virtualization Format • An application combined with the environment needed to run it is referred to as a virtual appliance • Operating system, libraries, compilers, databases, application containers, etc. • Eases software customization, configuration, patching and improves portability • Shaped as a VM disk image associated with hardware requirement • Can be readily deployed in a hypervisor • Ready-made ones contain popular operating systems and useful software combinations • Both commercial and open-source

  35. Virtual Appliances and the Open Virtualization Format(cont.) • Each hypervisor supports a different VM image format • The formats are incompatible with one another • Interoperability issues arises • The Open Virtualization Format (OVF) facilitates packing and distribution of software to be run on VMs • Open, secure, portable, efficient and extensible • An OVF package consists of a file or set of files describing:

  36. Virtual Appliances and the Open Virtualization Format(cont.) • The VM hardware characteristics • e.g., memory, network cards, and disks • Operating system details, startup, and shutdown actions, the virtual disks themselves • Other metadata containing product and licensing information • OVF also supports complex packages composed of multiple VMs • e.g., multi-tier applications • OVF’s extensibility has encouraged additions relevant to management of data centers and clouds

  37. Virtual Appliances and the Open Virtualization Format(cont.) • Virtual machine contracts (VMC) aids in communicating and managing the complex expectations that VMs have of their runtime environment and vice versa • A cloud consumer could specify minimum and maximum amounts of a resource that a VM needs to function • A cloud provider could express resource limits as a way to bound resource consumption and costs

  38. Autonomic Computing • Autonomic computing improves systems by decreasing human involvement in their operation • Systems should manage themselves with high-level guidance from humans • Autonomic, or self-managing, systems rely on monitoring probes and gauges (sensors) • On an adaptation engine (autonomic manager) for computing optimizations based on monitoring data • On effectors to carry out changes on the system

  39. Autonomic Computing (cont.) • The four properties of autonomic systems • Self-configuration, self-optimization, self-healing, and self-protection • Data center automation may perform tasks • Management of service levels of running applications • Management of data center capacity • Proactive disaster recovery • Automation of VM provisioning

  40. Layers And Types Of Clouds • Cloud computing services are divided into three classes • Infrastructure as a Service, Platform as a Service, and Software as a Service • According to the abstraction level of the capability provided and the service model of providers • The layered organization of the cloud stack from physical infrastructure to applications • Services of a higher layer can be composed from services of the underlying layer

  41. Layers And Types Of Clouds (cont.) • A core middleware manages physical resources and the VMs deployed on top of them • Provides the required features to offer multi-tenant pay-as-you-go services • e.g., accounting and billing • Cloud development environments are built on top of infrastructure services • Offer application development and deployment capabilities • Various programming models, libraries, APIs, and mashup editors enable the creation of a range of business, Web, and scientific applications

  42. Layers And Types Of Clouds (cont.)

  43. Infrastructure as a Service • Infrastructure as a Service (IaaS) offers virtualized resources on demand • Computation, storage, and communication • A cloud infrastructure provisions servers running several choices of operating systems and a customized software stack • The bottom layer of cloud computing systems • Amazon Web Services mainly offers IaaS • The EC2 service offers VMs with a software stack • Can be customized similar to how an ordinary physical server would be customized

  44. Infrastructure as a Service (cont.) • Users are given privileges to perform numerous activities to the server • Starting and stopping it • customizing it by installing software packages • Attaching virtual disks to it • Configuring access permissions • Firewalls rules

  45. Platform as a Service • Platform as a Service (PaaS) offers a higher level of abstraction to make a cloud easily programmable • A cloud platform offers an environment • Developers create and deploy applications • Not necessarily need to know how many processors or how much memory that applications will be using • Multiple programming models and specialized services are offered as building blocks to new applications • e.g., data access, authentication, and payments • Google AppEngine is an example of PaaS

  46. Platform as a Service (cont.) • Offers a scalable environment for developing and hosting Web applications • Written in specific programming languages such as Python or Java • Use the services’ own proprietary structured object data store • Building blocks: • An in-memory object cache (memcache) • Mail service, instant messaging service (XMPP) • An image manipulation service • Integration with Google Accounts authentication service

  47. Software as a Service • Software as a Service (SaaS) delivers applications • Applications reside on the top of the cloud stack • Services provided by this layer can be accessed by end users through Web portals • Consumers are increasingly shifting from locally installed computer programs to on-line software services that offer the same functionally • Traditional desktop applications can now be accessed as a service in the Web • Alleviates the burden of software maintenance for customers

  48. Software as a Service (cont.) • Simplifies development and testing for providers • Salesforce.com relies on the SaaS model • Offers business productivity applications (CRM) • Reside completely on their servers • Allowing costumers to customize and access applications on demand

  49. Deployment Models • Cloud computing has emerged mainly from the appearance of public computing utilities • Other deployment models with variations in physical location and distribution have also been adopted • A cloud can be classified as: • Public, private, community, or hybrid based on model of deployment • Regardless of its service class • A public cloud • Made available in a pay-as-you-go manner to the general public

  50. Deployment Models (cont.) • A private cloud • Internal data center of a business or other organization • Not made available to the general public • Restructuring an existing infrastructure by adding virtualization and cloud-like interfaces • Allows users to interact with the local data center while experiencing the same advantages of public clouds • Self-service interface, privileged access to virtual servers, and per-usage metering and billing

More Related