35
Moving to the clouds March 26 2009 Christian Mikalsen a cloud computing introduction

Cloud Computing

Embed Size (px)

DESCRIPTION

Introduction to cloud computing, with a short presentation of Amazon EC2, Windows Azure and Google AppEngine. Originally presented at Simula Research Laboratory 26 March 2009.

Citation preview

Page 1: Cloud Computing

Moving to the clouds

March 26 2009

Christian Mikalsen

a cloud computing introduction

Page 2: Cloud Computing

Outline

• Introduction and some background

• Cloud characteristics

• Infrastructure (Amazon EC2)

• Platforms (Azure, AppEngine, Scalr)

• Challenges

• Case study: Cloud search service

2

Page 3: Cloud Computing

Cloud computing

3

Page 4: Cloud Computing

Cloud computing

• Software as a Service

• Web 2.0 with “Internet-centric services”

• Gmail, SalesForce, Google Apps

• Infrastructure/Platform as a Service

• Access computational resources on demand

• My focus!

4

Page 5: Cloud Computing

Background

Page 6: Cloud Computing

Grid computing

• Often found in scientific environments.

• Motivation: high performance, improving resource utilization.

• Aims to create illusion of a simple, yet powerful computer out of a large number of heterogeneous systems.

• Jobs are submitted and distributed on nodes in the grid.

6

Page 7: Cloud Computing

Grid computing

7

Page 8: Cloud Computing

Grid vs. cloud computingArea Grid Cloud

Motivation Performance, capacity Flexibility and scalability

Infrastructure Owned by participants Provided by third party

Business model Share costs Pay-as-you-go

Virtualization In some cases Prevalent

Typical applications Research, batch jobsOn-demand infrastructure,

web applications

Advantages Mature technology Low entry barrier, flexible

Disadvantages Initial investment, less flexibility

Open issues, third-party dependence

8

Page 9: Cloud Computing

Virtualization

• “Abstraction of computer resources”

• Run multiple virtual machines on a physical machine.

• Controlled by a Virtual Machine Monitor (VMM), often called a hypervisor.

• HW/SW/hybrid implementations possible.

• Enabling technology for cloud computing.

9

Page 10: Cloud Computing

Virtualization

• Provides...

• flexibility to evolve underlying hardware

• flexibility to dynamically provision VMs

• isolation (security and performance)

• improved hardware utilization

• (load balancing by migration)

10

Page 11: Cloud Computing

Virtualization

• Paravirtualization

• OS is aware of and communicates with hypervisor.

• Allows for more efficient virtualization by replacing slow mechanisms (such as HW interrupts).

• Open source Xen hypervisor is commonly used in cloud computing.

11

Page 12: Cloud Computing

Cloud computing

Page 13: Cloud Computing

Motivation

• Pay-as-you-go (utility computing)

• No initial investments

• Reduced operational costs

• Scalability

• Exploit variable load and bursts

• Scalable services provided

• Availability (replication, avail. zones)

13

Page 14: Cloud Computing

Cloud ontology

PaaS

SaaS

IaaS

Toward a Unified Ontology of Cloud Computing. Youseff, Lamia, University of California, Santa Barbara.

14

Page 15: Cloud Computing

Use cases

• Scientific experiments

• Web services with bursts or variable load

• “Black friday”

• Slashdot-effect

• Temporary infrastructure

• Test environments

• Projects

15

Page 16: Cloud Computing

Cloud characteristics

• Scale-out, not scale-up

• Horizontal scaling (add more servers)

• Requires different development approach

• Loose coupling

• Required for dynamic scaling

• Sandboxed environment

• Limits/constraints

16

Page 17: Cloud Computing

Cloud characteristics

• Failures will occur

• Instances can crash/disappear/migrate

• Requires proper state management

• Unknown physical infrastructure/topology

• Variable bandwidth/latency/locality etc.

• Currently little support for QoS

• Development and platform constraints

17

Page 18: Cloud Computing

Infrastructure and platforms

Page 19: Cloud Computing

Amazon EC2

• Infrastructure as a Service provider, and current market leader.

• Data centers in USA and Europe

• Different regions and availability zones

• Uses Xen hypervisor

• Users provision instances in classes, with different CPU, memory and I/O performance.

19

Page 20: Cloud Computing

Amazon EC2

• Users provision instances with an Amazon Machine Image (AMI), packaged virtual machines.

• Instances ready in 10-20 seconds.

• Amazon provides a range of AMIs

• Users can upload and share custom AMIs, preconfigured for different roles.

• Supports Windows, OpenSolaris and Linux

20

Page 21: Cloud Computing

Amazon EC2

• Flexible, but low-level (roll-your-own)

• No built-in load balancing or scaling (yet)

• Integrated with services:

• Simple Storage Service (S3)

• Scalable Queue Service (SQS)

• SimpleDB

• and more...

21

Page 22: Cloud Computing

Amazon EC2

• Control interface

• HTTP REST/SOAP API

• Command line tools

• Eclipse plugin

• Able to implement external monitoring and scaling using interface.

22

Page 23: Cloud Computing

Amazon EC2

• Pricing based on instance hours

• + bandwidth charges

• + service charges (S3, SQS etc.)

• SLA w/ some availability guarantees

23

Page 24: Cloud Computing

Eucalyptus

• Open source cloud implementation from University of California, Santa Barbara.

• Makes it possible to host a private cloud on your hardware.

• Compatible with EC2 interfaces.

• Intended for research and experimentation.

• Limited support for services like S3.

24

Page 25: Cloud Computing

Windows Azure

• Platform as a Service (in pre-release)

• “Cloud OS”

• .NET libraries for managed code like C#

• Web and worker roles (w/queues)

• Topology described in metadata

• Live upgrades (w/upgrade zones)

25

Page 26: Cloud Computing

Google AppEngine

• Platform as a Service

• Target: Web applications

• Provides custom Python runtime environment, with a specialized version of the Django framework.

• Integrated with Google data store (Bigtable), and other “Internet-scale” infrastucture.

26

Page 27: Cloud Computing

Challenges and case study

Page 28: Cloud Computing

Cloud challenges

• Bandwidth and latency

• Lack of standards and portability

• “Black box”-implementations

• Security and lack of control

• Immature tool and framework support

• Legal issues (ownership, auditing etc.)

• Limited Service Level Agreements (SLAs)

28

Page 29: Cloud Computing

Cloud search service

• Case study in cooperation with FAST.

• Some customers have up to hundred servers dedicated to FAST ESP.

• Motivation

• Exploit variance in traffic and load

• Reduce operational costs

29

Page 30: Cloud Computing

Cloud search service

• Can a search service feasibly be offered in a cloud environment?

• Requires acceptable response time

• Must be scalable (on and across servers)

• Develop architectural model and perform benchmarks.

• Focus on search, not indexing etc.

30

Page 31: Cloud Computing

Cloud search service

31

Page 32: Cloud Computing

Response time

• Perceived response time should be under 400-500ms for end users, also under load.

• Some latency is unavoidable due to HTTP requests between client and cloud, and cloud and cloud storage service.

• What kind of response time can be expect from the cloud storage service?

32

Page 33: Cloud Computing

Throughput

• What kind of throughput can we expect in our cloud search service?

• How is the throughput limited by the cloud storage service?

33

Page 34: Cloud Computing

Cloud search service

• Work in progress...

• Break down response time further, and isolate bottlenecks.

• Test alternative index locations (EBS, SimpleDB...)

• Suggest a reasonable architecture for a cloud search service.

34

Page 35: Cloud Computing

Questions?

35