This document provides an introduction to cloud computing, including definitions of cloud characteristics, infrastructure as a service using Amazon EC2, and platforms like Azure and AppEngine. It outlines some challenges of cloud computing like bandwidth, lack of standards, security issues, and limited SLAs. As a case study, it discusses developing a scalable cloud-based search service and benchmarks for response time and throughput.
4. 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
6. 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
8. Grid vs. cloud computing
Area 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
On-demand infrastructure,
Typical applications Research, batch jobs
web applications
Advantages Mature technology Low entry barrier, flexible
Initial investment, less Open issues, third-party
Disadvantages flexibility dependence
8
9. 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
10. Virtualization
• Provides...
• flexibility to evolve underlying hardware
• flexibility to dynamically provision VMs
• isolation (security and performance)
• improved hardware utilization
• (load balancing by migration)
10
11. 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
14. Cloud ontology
SaaS
PaaS
IaaS
Toward a Unified Ontology of Cloud Computing. Youseff, Lamia,
University of California, Santa Barbara.
14
15. Use cases
• Scientific experiments
• Web services with bursts or variable load
• “Black friday”
• Slashdot-effect
• Temporary infrastructure
• Test environments
• Projects
15
16. 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
17. 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
19. 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
20. 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
21. 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
22. Amazon EC2
• Control interface
• HTTP REST/SOAP API
• Command line tools
• Eclipse plugin
• Able to implement external monitoring and
scaling using interface.
22
23. Amazon EC2
• Pricing based on instance hours
• + bandwidth charges
• + service charges (S3, SQS etc.)
• SLA w/ some availability guarantees
23
24. 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
25. 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
26. 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
28. 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
29. 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
30. 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
32. 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
33. Throughput
• What kind of throughput can we expect in
our cloud search service?
• How is the throughput limited by the cloud
storage service?
33
34. 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