Carnegie Mellon

Introduction to

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 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 Amazon VMware AWS Aptana Amazon S3 Sun Cloud Animoto 3tera Dell 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 (SAAS) model

. Apps through browser  (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 . 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 .