Moving to the clouds
a cloud computing introduction
March 26 2009 Christian Mikalsen
Outline
• Introduction and some background • Cloud characteristics • Infrastructure (Amazon EC2) • Platforms (Azure, AppEngine, Scalr) • Challenges • Case study: Cloud search service
2
Cloud computing
3
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
Background
Grid computing
• Often found in scientific environments. • Motivation: high performance, improving
resource utilization.
• Aims to create illusion of a simple, yet • Jobs are submitted and distributed on
nodes in the grid.
6
powerful computer out of a large number of heterogeneous systems.
Grid computing
7
Grid vs. cloud computing
Area Motivation Infrastructure Business model Virtualization Typical applications Advantages Disadvantages Grid
Performance, capacity Owned by participants Share costs In some cases Research, batch jobs Mature technology Initial investment, less flexibility
8
Cloud
Flexibility and scalability Provided by third party Pay-as-you-go Prevalent On-demand infrastructure, web applications Low entry barrier, flexible Open issues, third-party dependence
Virtualization
• “Abstraction of computer resources” • Run multiple virtual machines on a physical
machine.
• Controlled by a Virtual Machine Monitor
(VMM), often called a hypervisor.
Toward a Unified Ontology of Cloud Computing. Youseff, Lamia, University of California, Santa Barbara.
Use cases
• Scientific experiments • Web services with bursts or variable load • “Black friday” • Slashdot-effect • Temporary infrastructure • Test environments • Projects
15
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
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
Infrastructure and platforms
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
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
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
Amazon EC2
• Control interface • HTTP REST/SOAP API • Command line tools • Eclipse plugin • Able to implement external monitoring and
scaling using interface.
22
Amazon EC2
• Pricing based on instance hours • + bandwidth charges • + service charges (S3, SQS etc.) • SLA w/ some availability guarantees
23
Eucalyptus
• Open source cloud implementation from
University of California, Santa Barbara. your hardware.
• Makes it possible to host a private cloud on • Compatible with EC2 interfaces. • Intended for research and experimentation. • Limited support for services like S3.
24
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
Google AppEngine
• Platform as a Service • Target: Web applications • Provides custom Python runtime
environment, with a specialized version of the Django framework. (Bigtable), and other “Internet-scale” infrastucture.
26
• Integrated with Google data store
Challenges and case study
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
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
Cloud search service
• Can a search service feasibly be offered in a
cloud environment?
• Develop architectural model and perform
benchmarks.
• Requires acceptable response time • Must be scalable (on and across servers)
• Focus on search, not indexing etc.
30
Cloud search service
31
Response time
• Perceived response time should be under
requests between client and cloud, and cloud and cloud storage service. from the cloud storage service? 400-500ms for end users, also under load.
• Some latency is unavoidable due to HTTP • What kind of response time can be expect
32
Throughput
• What kind of throughput can we expect in
our cloud search service? storage service?
• How is the throughput limited by the cloud
33
Cloud search service
• Work in progress... • Break down response time further, and
isolate bottlenecks. SimpleDB...)
• Test alternative index locations (EBS, • Suggest a reasonable architecture for a
cloud search service.
34