Carnegie Mellon
Introduction to Cloud Computing
Cloud Computing I (intro) 15‐319, spring 2010 2nd Lecture, Jan 14th
Majd F. Sakr
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Lecture Motivation…
General overview on cloud computing
. What is cloud computing . Services . Types . Advantages and disadvantages . Enabling technologies . An example infrastructure
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Lecture Outline
What is Cloud?
What is Cloud Computing?
Cloud Computing Services
History of Cloud Computing
Why Cloud Computing
Drawbacks of Cloud Computing
Types of Clouds
15-319 Introduction to Cloud Computing 3 Spring 2010 © Carnegie Mellon A Cloud is …
Datacenter hardware and software that the vendors use to offer the
computing resources and services
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Cloud Computing
Represents both the cloud & the provided services
Why call it “cloud computing”?
. Some say because the computing happens out there "in the clouds"
Wikipedia: "the term derives from the fact that most technology diagrams depict the Internet or IP availability by
using a drawing of a cloud."
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Cloud Computing
Who is Who…
Cloud providers Cloud Users & Service Providers Service Users
IBM Sun Cloud SmugMug Microsoft Amazon VMware AWS Aptana Amazon S3 Sun Cloud Animoto 3tera Dell Sun Microsystems Hewlett-Packard lland Qloud Cloud Testing Citrix Systems NaviSite
Outsourcery SynfiniWay IBM Amazon AWS Red Hat Intelliquib
“With Amazon [AWS], on Day One of launch we could scale to the world.” -Brad Jefferson, Co-Founder & CEO, Animoto
“Animoto has partnered with Amazon to leverage multiple Users use it to offerings in their Web Services (AWS) platform which, in produce video conjunction with Animoto's own render farm, constitutes the pieces from their Animoto web infrastructure.” photos, video clips and music.
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Cloud Computing Services
Three basic services:
Software as a Service (SAAS) model
. Apps through browser Platform as a Service (PAAS) model
. Delivery of a computing platform for custom software development 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 Computing Spring 2010 © Carnegie Mellon Cloud Services ( XaaS )
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
SaaS (1/3) SaaS
Started around 1999
Application is licensed to a customer as a service on demand
Software Delivery Model:
. Hosted on the vendor’s web servers . Downloaded at the consumer’s device and disabled when on‐demand contract is over
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
SaaS (2/3) SaaS
SaaS architecture/ Maturity levels: . Distinguishing attributes: configurability, multi‐tenant efficiency, scalability
1 2 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 instance instance instance instance Configurable + Multi-tenant-efficient + Scalable
• Each has its own • Same application but • (+):Efficient use of server customized version of distinct instance/customer resources without apparent the application and run differences to end users its own instance • (-): scalability limits
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
SaaS (3/3) SaaS
Examples
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
PaaS (1/2) SaaS PaaS
Delivery of an integrated computing platform (to build/test/deploy custom apps) & solution stack as a
service.
Deploy your applications & don’t worry about buying & managing the underlying hardware and software layers
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
PaaS (2/2) SaaS PaaS Examples
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon IaaS (1/5) SaaS PaaS Delivery of computer infrastructure (typically IaaS platform virtualization environment) as a service
Buy resources . Servers . Software . Data center space . Network equipment as fully outsourced services Example:
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
IaaS (2/5) SaaS PaaS Virtualization Technology is a major enabler of IaaS IaaS
. It’s a path to share IT resource pools: Web servers, storage, data, network, software and databases.
. Higher utilization rates
App1 App2 App3 OS1 OS2 OS3 App1 App2 App3 Middleware OS
Stack Hypervisor Virtualized Stack Traditional Hardware Hardware
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
IaaS (3/5) SaaS PaaS Virtualization Technology is a major enabler of IaaS IaaS
HARDWARE
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
IaaS (4/5) SaaS PaaS Granularity of VMs IaaS . Multi‐core processors
VM VM Quad Core:
VM VM
VM
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon IaaS (5/5)
Capacity Service Request Operations Dynamic Monitoring Planning Catalog UI UI Scheduling SLA
Request Driven Provisioning & Service Management
Web 2.0 Data Software Virtual Collaborative Intensive High Volume Development Classroom Innovation Processing Transactions Workloads
Virtual Virtual Virtual Virtual Virtual Servers Storage Networks Applications & Clients Virtualization Middleware
Servers Power Systems Racks, Storage Networking BladeCenter Physical Layer
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Resource sharing and consolidation
Offering computing resources as a service or utility through: . Virtualization . Dynamic provisioning Customizable Shared Resource: User 1: User 2:
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Heterogeneous Physical Resources
Customizable Shared Heterogeneous Resource:
User 1: User 2: User 3:
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon
More (XaaS): Everything as a Service EaaS
Desktop: DaaS
. Use your desktop virtually from anywhere Communication: CaaS
Virtualization: VaaS
Hardware: HaaS
…etc
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Evolution
Discussed in lecture1
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Enabling Technologies
Virtualization
Web 2.0
Distributed Storage
Distributed Computing
Utility Computing
Network Bandwidth & Latency
Fault ‐Tolerant Systems
15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Why Cloud Computing?
Large‐Scale Data‐Intensive Applications Flexibility Scalability Customized to your current needs: . Hardware . Software Effect: . Reduce Cost . Reduce Maintenance . High Utilization . High Availability . Reduced Carbon Footprint 15-319 Introduction to Cloud Computing Spring 2010 © Carnegie Mellon Why Cloud Computing?
Flexibility .