Date post: | 17-May-2015 |
Category: |
Technology |
Upload: | chrismik |
View: | 1,301 times |
Download: | 0 times |
Moving to the clouds
March 26 2009
Christian Mikalsen
a cloud computing introduction
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 powerful computer out of a large number of heterogeneous systems.
• Jobs are submitted and distributed on nodes in the grid.
6
Grid computing
7
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
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
Virtualization
• Provides...
• flexibility to evolve underlying hardware
• flexibility to dynamically provision VMs
• isolation (security and performance)
• improved hardware utilization
• (load balancing by migration)
10
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
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
Cloud ontology
PaaS
SaaS
IaaS
Toward a Unified Ontology of Cloud Computing. Youseff, Lamia, University of California, Santa Barbara.
14
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.
• 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
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.
• Integrated with Google data store (Bigtable), and other “Internet-scale” infrastucture.
26
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?
• Requires acceptable response time
• Must be scalable (on and across servers)
• Develop architectural model and perform benchmarks.
• Focus on search, not indexing etc.
30
Cloud search service
31
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
Throughput
• What kind of throughput can we expect in our cloud search service?
• How is the throughput limited by the cloud storage service?
33
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
Questions?
35