Introduction To Cloud Computing - Carnegie Mellon University

Transcription

Carnegie MellonIntroduction to Cloud ComputingCloud Computing I (intro)15‐319, spring 20102nd Lecture, Jan 14thMajd F. Sakr15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonLecture Motivation General overview on cloud computing What is cloud computingServices Types Advantages and disadvantages Enabling technologies An example infrastructure 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonLecture Outline What is Cloud?What is Cloud Computing?Cloud Computing ServicesHistory of Cloud ComputingWhy Cloud ComputingDrawbacks of Cloud ComputingTypes of Clouds15-319 Introduction to Cloud Computing3Spring 2010

Carnegie MellonA Cloud is Datacenter hardware and softwarethat the vendors use to offer thecomputing resources and services15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonCloud Computing Represents both the cloud & the provided services Why call it “cloud computing”? Some say because the computing happens out there "in theclouds"Wikipedia: "the term derives from the fact that mosttechnology diagrams depict the Internet or IP availability byusing a drawing of a cloud."15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonCloud Computing Who is Who Cloud providersIBMAmazonAWSDellService UsersSmugMugSun CloudMicrosoftVMwareSun MicrosystemsCitrix SystemsCloud Users & Service ProvidersAptanaHewlett-PackardCloud TestingNaviSiteOutsourceryAnimotoSun Cloud3teraSynfiniWayllandAmazon S3QloudIBMAmazon AWSRed HatIntelliquib“With Amazon [AWS], on Day One of launch wecould scale to the world.”-Brad Jefferson, Co-Founder & CEO, Animoto“Animoto has partnered with Amazon to leverage multipleofferings in their Web Services (AWS) platform which, inconjunction with Animoto's own render farm, constitutes theAnimoto web infrastructure.”15-319 Introduction to Cloud ComputingUsers use it toproduce videopieces from theirphotos, video clipsand music.Spring 2010

Carnegie MellonCloud Computing ServicesThree basic services: Software as a Service (SAAS) model Apps through browser Platform as a Service (PAAS) model Delivery of a computing platform for custom softwaredevelopment as a service Infrastructure as a Service (IAAS) model Deliver of computer infrastructure as a service XAAS, the list continues to grow 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonCloud Services ( XaaS )15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonSaaS (1/3) SaaSStarted around 1999Application is licensed to a customer as aservice on demandSoftware Delivery Model: Hosted on the vendor’s web servers Downloaded at the consumer’s device and disabledwhen on‐demand contract is over15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonSaaS (2/3) SaaSSaaS architecture/ Maturity levels: Distinguishing attributes: configurability, multi‐tenant efficiency, scalability12Tenant 1 Tenant 23Tenant 1 Tenant 24Tenant 1 Tenant 2Tenant 1 Tenant 2Tenant Load Balancerinstance 1instance 2instanceinstanceinstanceinstanceConfigurable Each has its owncustomized version ofthe application and runits own instance15-319 Introduction to Cloud Computing Multi-tenant-efficientinstance Scalable ( ):Efficient use of server Same application butdistinct instance/customer resources without apparentdifferences to end users (-): scalability limitsSpring 2010

Carnegie MellonSaaS (3/3) SaaSExamples15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonPaaS (1/2)SaaSPaaS Delivery of an integrated computing platform (tobuild/test/deploy custom apps) & solution stack as aservice. Deploy your applications & don’t worry about buying &managing the underlying hardware and software layers15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonPaaS (2/2) SaaSPaaSExamples15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonSaaSIaaS (1/5)PaaS Delivery of computer infrastructure (typicallyplatform virtualization environment) as a serviceBuy resourcesIaaSServers Software Data center space Network equipment as fully outsourced services Example:15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonIaaS (2/5) SaaSVirtualization Technology is a major enabler of IaaS It’s a path to share IT resource pools: Web servers, storage,App1 App2 App315-319 Introduction to Cloud ComputingOSHardwareVirtualized StackTraditionalStackdata, network, software and databases. Higher utilization ratesApp1 App2 App3OS1OS2OS3MiddlewareHypervisorHardwareSpring 2010 PaaSIaaS

Carnegie MellonIaaS (3/5) SaaSVirtualization Technology is a major enabler of IaaSHARDWARE15-319 Introduction to Cloud ComputingSpring 2010 PaaSIaaS

Carnegie MellonIaaS (4/5) SaaSPaaSGranularity of VMsIaaS Multi‐core processorsQuad Core:VMVMVMVMVM15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonIaaS tionsUICapacityPlanningSLAMonitoringRequest Driven Provisioning & Service ManagementWeb ntensiveProcessingVirtualClassroomHigh rversServersPhysical Layer15-319 Introduction to Cloud ComputingVirtualStoragePower SystemsVirtualNetworksVirtualApplications etworkingSpring 2010

Carnegie MellonResource sharing and consolidation Offering computing resources as a service orutility through: Virtualization Dynamic provisioningCustomizable Shared Resource:User 1:15-319 Introduction to Cloud ComputingUser 2:Spring 2010

Carnegie MellonHeterogeneous Physical ResourcesCustomizable SharedHeterogeneous Resource:User 1:User 2:15-319 Introduction to Cloud ComputingUser 3:Spring 2010

Carnegie MellonMore (XaaS): Everything as a Service EaaS Desktop: DaaS Use your desktop virtually from anywhere Communication: CaaSVirtualization: VaaSHardware: HaaS etc15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonEvolution Discussed in lecture115-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonEnabling Technologies VirtualizationWeb 2.0Distributed StorageDistributed ComputingUtility ComputingNetwork Bandwidth & LatencyFault‐Tolerant Systems15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Large‐Scale Data‐Intensive ApplicationsFlexibilityScalabilityCustomized to your current needs: Hardware Software Effect: Reduce CostReduce MaintenanceHigh UtilizationHigh AvailabilityReduced Carbon Footprint15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Flexibility Software: Any software platform Access: access resources from any machineconnected to the Internet Deploy infrastructure from anywhere at anytime Software controls infrastructure15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Scalability Instant Control via softwareAdd/cancel/rebuild resources instantly Start small, then scale your resources up/downas you need illusion of infinite resources available ondemand 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Customization Everything in your wish listSoftware platforms Storage Network bandwidth Speed 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Cost Pay‐as‐you‐go model Small/medium size companies can tap theinfrastructure of corporate giants. Time to service/market No upfront cost15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Maintenance Reduce the size of a client’s IT department Is the responsibility of the cloud vendor This Includes:Software updates Security patches Monitoring system’s health System backup etc 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Utilization Consolidation of a large number of resourcesCPU cycles Storage Network Bandwidth 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? Availability Having access to software, platform, infrastructurefrom anywhere at any time All you need is a device connected to the internet ReliabilityThe system’s fault tolerance is managed by the cloudproviders and users no longer need to worry about it.15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonWhy Cloud Computing? CO2 Footprint Consolidation of servers Higher utilization Reduced power usage15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonDrawbacks SecurityPrivacyVendor lock‐inNetwork‐dependentMigration15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonTypes of Clouds (1/4) PublicPrivateHybrid15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonTypes of Clouds (2/4) Public (external) cloud Open Market for on demand computing and IT resources Concerns: Limited SLA, Reliability, Availability, Security, Trust andConfidence Examples: IBM, Google, Amazon, 15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonTypes of Clouds (3/4) Private (Internal) cloud For Enterprises/Corporations with large scale IT15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonTypes of Clouds (4/4) Hybrid cloud Extend the Private Cloud(s) by connecting it to other external cloudvendors to make use of available cloud services from externalvendors Cloud Burst Use the local cloud, when youneed more resources, burstinto the public cloud15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonTypes of Applications Open discussion15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonSystem Infrastructure Large‐scale Data‐centric applicationsExploit parallelismEasy to manageElastic (dynamic?)Fault‐tolerant15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonMapReduce and Apache Hadoop MapReduce: Abstraction that simplifies writingapplications that access massively distributed data Hadoop: Open source MapReduce software platform Distributes data and processing across many nodesProcesses the data locally at each nodeTransparent fault tolerance through Automatic data duplication Automatic detection and restarting of failing nodes15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonMapReduce Programming Model Functional programming that is easilyparallelizableSplit into two phases: Map – Perform custom function on allitems in an array Reduce – Collate map results using customfunction Scales well – computation separatedfrom processing dataflowIllustrative example: Map that squares the value of numbers inan array{1, 2, 3, 4} ‐ {1, 4, 9, 16} Reduce that sums the squares : 3015-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonHadoop Map/Reduce The Map‐Reduce programming model Framework for distributed processing of large data sets Pluggable user code runs in generic framework Example: cat * grep sort unique ‐c cat file input map shuffle reduce output Natural for unstructured data: Log processing Web search indexing Ad‐hoc queries15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonApache Hadoop Open source MapReduce software platformAutomatically provides framework for developingMapReduce applications Handles mapping and reducing logistics Programmer just provides custom functionality Currently takes custom functionality in Java and PythonUses an open source Eclipse plug‐in to interface with Hadoop15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonHDFS Very Large Distributed File System 10K nodes, 100 million files, 10 PB Assumes Commodity Hardware Files are replication in order to handle hardware failure System detects failures and recovers from them Optimized for Batch Processing Data locations exposed so that computations can move to wheredata resides Provides very high aggregate bandwidth15-319 Introduction to Cloud ComputingSpring 2010

Carnegie MellonDistributed File System filenSingle Namespace for entire clusterData Coherency Write‐once‐read‐many access model Client can only append to existing files NameNodeamek IDBloc odesNDataClientReadFiles are broken up into blocks Typically 128 MB block size Each block replicated on multiple DataNodes Intelligent ClientDataNodes Client can find location of blocks Client accesses data directly from DataNode15-319 Introduction to Cloud ComputingSpring 2010

3. 4. Tenant 1. Tenant 2. Tenant 1. Tenant 2. Tenant 1. Tenant 2. Tenant 1. Tenant 2. Tenant Load Balancer. instance 1. instance 2. instance .