Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cloud Computing

1,508 views

Published on

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.

Published in: Technology
  • Be the first to comment

Cloud Computing

  1. 1. Moving to the clouds a cloud computing introduction March 26 2009 Christian Mikalsen
  2. 2. Outline • Introduction and some background • Cloud characteristics • Infrastructure (Amazon EC2) • Platforms (Azure, AppEngine, Scalr) • Challenges • Case study: Cloud search service 2
  3. 3. Cloud computing 3
  4. 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
  5. 5. Background
  6. 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
  7. 7. Grid computing 7
  8. 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. 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. 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. 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
  12. 12. Cloud computing
  13. 13. 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
  14. 14. Cloud ontology SaaS PaaS IaaS Toward a Unified Ontology of Cloud Computing. Youseff, Lamia, University of California, Santa Barbara. 14
  15. 15. Use cases • Scientific experiments • Web services with bursts or variable load • “Black friday” • Slashdot-effect • Temporary infrastructure • Test environments • Projects 15
  16. 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. 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
  18. 18. Infrastructure and platforms
  19. 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. 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. 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. 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. 23. Amazon EC2 • Pricing based on instance hours • + bandwidth charges • + service charges (S3, SQS etc.) • SLA w/ some availability guarantees 23
  24. 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. 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. 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
  27. 27. Challenges and case study
  28. 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. 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. 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
  31. 31. Cloud search service 31
  32. 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. 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. 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
  35. 35. Questions? 35

×