1 / 72

Building a Video-Sharing Cloud App

Building a Video-Sharing Cloud App . Cristina Că rbunaru Bogdan Marius Tudor Department of Computer Science National University of Singapore. Outline. The Cloud, Your New Computer(s) Principles of Cloud Computing Infrastructure as a Service Platform as a Service Software as a Service

ismael
Download Presentation

Building a Video-Sharing Cloud App

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building a Video-Sharing Cloud App Cristina Cărbunaru Bogdan Marius Tudor Department of Computer Science National University of Singapore

  2. Outline • The Cloud, Your New Computer(s) • Principles of Cloud Computing • Infrastructure as a Service • Platform as a Service • Software as a Service • Demo: Video-Sharing Cloud App • Introduction to Amazon Web Services (AWS) • Building a SaaS with AWS • Performance and Scaling • Pricing • Summary & Conclusions PREMIA Short Course on Cloud Computing

  3. A Brief History of (Big) Computing Parallel & Distributed Systems supercomputers 1960s Scale Clouds late 2000s Grids late 1990s Web 2.0 mid 2000s Clusters early 1990s application oriented service oriented PREMIA Short Course on Cloud Computing

  4. The Cloud, Your New Computer(s) Wikipedia Article on Cloud Computing (created in September 2007) PREMIA Short Course on Cloud Computing

  5. What is Cloud Computing? “… a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources(e.g. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. “ - US National Institute of Standards & Technology elastic resource + on-demand service Abstraction of underlying applications, information, content and resources, which allows resources to be provided and consumed in a more elastic manner and on demand PREMIA Short Course on Cloud Computing

  6. Outline • The Cloud, Your New Computer(s) • Principles of Cloud Computing • Infrastructure as a Service • Platform as a Service • Software as a Service • Demo: Video-Sharing Cloud App • Introduction to Amazon Web Services (AWS) • Building a SaaS with AWS • Performance and Scaling • Pricing • Summary & Conclusions PREMIA Short Course on Cloud Computing

  7. Principles of Cloud Computing PREMIA Short Course on Cloud Computing

  8. Actors in Cloud Computing Cloud Consumer- a person or organisation that maintains a business relationship with, and uses service from, Cloud Providers Cloud Providers – a person, organisation or entity responsible for making a service available to interested parties Cloud Auditor – a party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation Cloud Broker– an entity that manages the use, performance an delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumers Cloud Carrier– an intermediary that provides connectivity and transport of cloud services from Cloud Providers to Cloud Consumers PREMIA Short Course on Cloud Computing

  9. Interactions between the Actors PREMIA Short Course on Cloud Computing

  10. Service Orchestration – Cloud Provider PREMIA Short Course on Cloud Computing

  11. Cloud Service Models • Software-as-a-Service • Applications running on browsers or thin clients • SaaS • PaaS • Platform-as-a-Service • A software platform fordevelopers to build cloud applications • IaaS • Infrastructure-as-a-Service Computing resources (CPU, Memory, Disk) made available to users as Virtual Machine Instances PREMIA Short Course on Cloud Computing

  12. Services Available to a Cloud Consumer PREMIA Short Course on Cloud Computing

  13. IaaSvsPaaSvsSaaS Software as a Service Platform as a Service Infrastructure as a Service Customer Data Data Data Customer Application Application Application Customer Runtime Runtime Runtime Integration Integration Integration Database Database Database Provider OS OS OS Provider Virtualization Virtualization Virtualization Provider Server Server Server Storage Storage Storage Network Network Network PREMIA Short Course on Cloud Computing

  14. Infrastructure as a Service Capacity Planning SLA Service Catalog Request UI Dynamic Scheduling Operations UI Monitoring Request Driven Provisioning & Service Management Web 2.0 Collaborative Innovation Data Intensive Processing Software Development Virtual Classroom High Volume Transactions Workloads VirtualServers VirtualStorage VirtualNetworks VirtualClients VirtualApplications & Middleware Virtualization Servers Racks, BladeCenter Storage Networking Power Systems Physical Layer PREMIA Short Course on Cloud Computing

  15. Virtualization • Key technology in cloud computing • Creation of a virtual (rather than actual) version of something, such as an operating system, computing devices (server), storage devices or network devices PREMIA Short Course on Cloud Computing

  16. Types of Virtualization Services Virtualization • Storage • Virtualization • Network • Virtualization • Server • Virtualization PREMIA Short Course on Cloud Computing

  17. Server Virtualization PREMIA Short Course on Cloud Computing

  18. Network Virtualization PREMIA Short Course on Cloud Computing

  19. Virtualization Management Coordinated provisioning and orchestration of virtualized resources, and runtime coordination of resource pools and virtual instances PREMIA Short Course on Cloud Computing

  20. Reliability Monitoring PREMIA Short Course on Cloud Computing

  21. Performance Monitoring PREMIA Short Course on Cloud Computing

  22. IaaS Development Model Mark Russinovich, at the BUILD conference PREMIA Short Course on Cloud Computing

  23. IaaS Development Example • A user wants to setup a blog • Steps: • Creates an Amazon compute instance running Linux • Installs and configures Apache, MySQL and PHP • Installs and configures Wordpress blog engine • Configures a new blog • Blogs happily about IaaS development ♥ IaaS PREMIA Short Course on Cloud Computing

  24. IaaSvsPaaSvsSaaS Software as a Service Platform as a Service Infrastructure as a Service Customer Data Data Data Customer Application Application Application Customer Runtime Runtime Runtime Integration Integration Integration Database Database Database Provider OS OS OS Provider Virtualization Virtualization Virtualization Provider Server Server Server Storage Storage Storage Network Network Network PREMIA Short Course on Cloud Computing

  25. Platform as a Service Consumer • Creates the software using tools and libraries from the PaaS provider • Controls software deployment and configuration settings Provider • Installs and maintains software, libraries and middleware • Handles the infrastructure transparent from the user • Exposes an Application Programming Interface (API) for programmers • Provides integrated services of scalability, maintenance, and versioning • E.g. total application hosting, development, testing, and deployment environment PREMIA Short Course on Cloud Computing

  26. PaaSDevelopment Model Mark Russinovich, at the BUILD conference PREMIA Short Course on Cloud Computing

  27. PaaSDevelopment Example • A user wants to setup a blog • Steps: • Accesses a system with Linux, Apache, MySQL and PHP (LAMP) • Installs and configures Wordpress blog engine • Setups a new blog • Blogs happily about PaaS provisioning ♥ PaaS PREMIA Short Course on Cloud Computing

  28. IaaSvsPaaSvsSaaS Software as a Service Platform as a Service Infrastructure as a Service Customer Data Data Data Customer Application Application Application Customer Runtime Runtime Runtime Integration Integration Integration Database Database Database Provider OS OS OS Provider Virtualization Virtualization Virtualization Provider Server Server Server Storage Storage Storage Network Network Network PREMIA Short Course on Cloud Computing

  29. Software as a Service • The application is located on the cloud • Clients use a thin client (web browser) to access the program • Often built on top of multi-tiered PaaS and IaaS • Clients do not deal with underlying PaaS and IaaS • Clients do not deal with APIs • Various pricing mechanisms • Free, pay-as-you-go, subscription, freemium etc. PREMIA Short Course on Cloud Computing

  30. SaaSApplication Example • A user wants to setup a blog • Steps: • Accesses a server with Wordpress installed and configured • Setups a new blog • Blogs happily about SaaS development ♥ SaaS PREMIA Short Course on Cloud Computing

  31. Discussion - Dropbox • Is Dropbox a cloud service? • Is Dropbox a cloud application? • Is Dropbox a SaaS or PaaS? PREMIA Short Course on Cloud Computing

  32. Scope of Controls between Provider and Consumer PREMIA Short Course on Cloud Computing

  33. Pros and Cons of Service Models PREMIA Short Course on Cloud Computing

  34. Cloud Use Cases PREMIA Short Course on Cloud Computing

  35. Outline • The Cloud, Your New Computer(s) • Principles of Cloud Computing • Infrastructure as a Service • Platform as a Service • Software as a Service • Demo: Video-Sharing Cloud App • Introduction to Amazon Web Services (AWS) • Building a SaaS with AWS • Performance and Scaling • Pricing • Summary & Conclusions PREMIA Short Course on Cloud Computing

  36. Introduction to Amazon Web Services(AWS) • Amazon datacenters • Regions and availability zones • AWS ecosystem PREMIA Short Course on Cloud Computing

  37. Amazon Global Datacenters Amazon EC2 is currently available in eight regions: US East (Northern Virginia), US West (Oregon), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (Sao Paulo), and AWS GovCloud PREMIA Short Course on Cloud Computing

  38. Regions and Availability Zones PREMIA Short Course on Cloud Computing

  39. Regions and Availability Zones • Amazon EC2 provides the ability to place instances in multiple locations • Amazon EC2 locations are composed of Availability Zonesand Regions • Regions are distributed and located in separate geographic areas (US, EU, etc.) • Application can be located closer to specific customers or to meet legal or other requirements • Availability Zones are distinct locations within a Region • Protection from the failure of a single location PREMIA Short Course on Cloud Computing

  40. AWS Ecosystem J. Varia, Architecting for the Cloud: Best Practices, Amazon Web Services, May 2010. PREMIA Short Course on Cloud Computing

  41. Amazon Web Services (AWS) • A collection of remote computing services that together make up a cloud computing platform • Some AWS products: • Compute – EC2 (Amazon Elastic Computing Cloud) • Storage – S3 (Amazon Simple Storage Service) • Database – RDS (Amazon Relational Database Service) • Networking – VPC (Amazon Virtual Private Cloud) • …. PREMIA Short Course on Cloud Computing

  42. Amazon EC2 • A web service that provides resizable compute capacity in the cloud • Offered since 2006 • First real cloud computing product • EC2 instances can be rented by the hour • Many instance types are available PREMIA Short Course on Cloud Computing

  43. Amazon EC2 • Presents a true virtual computing environment: • Use web service interfaces to launch instances with a variety of operating systems (bundled into AMIs) • Load instances with a custom application environment • Manage the network’s access permissions • Reduces the time required to obtain and boot new server instances to minutes • Allows quick capacity scaling as the computing requirements change PREMIA Short Course on Cloud Computing

  44. EC2 Price Models • On-Demand Instances • Pay-by-the hour • Start and stop as needed • Reserved Instances • Pay-by-the-year • Reserved for the user, can start-or-stop as needed • Spot Instances • Bid for unused EC2 capacity • Name a Spot Priceand if the market rate is less than the Bid, the user gets the instance • Instance automatically terminates if the Spot Price becomes less than the current market rate PREMIA Short Course on Cloud Computing

  45. EC2 Instance Types PREMIA Short Course on Cloud Computing

  46. Amazon EC2 Characteristics PREMIA Short Course on Cloud Computing

  47. Amazon S3 (Simple Storage Service) • Used to store and retrieve any amount of data, at any time, from anywhere on the web • Write, read and delete objects into S3 containing from 1B to 5TBs of data each (number of objects stored is unlimited) • Each object is stored in a bucket and a bucket can be stored in one of several regions • Objects stored in a region never leave the region unless transferred out PREMIA Short Course on Cloud Computing

  48. Other AWS Products / Services / Features • Compute • Auto Scaling • Elastic Load Balancing • Amazon Elastic MapReduce (EMR) • Database • Amazon Relational Database Service (RDS) • Amazon SimpleDB • Amazon DynamoDB • Networking • Amazon Virtual Private Cloud (VPC) • Amazon Route 52 • Amazon Direct Connect • Messaging • Amazon Simple Queue Service (SQS) • Amazon Simple Email Service (SES) • Amazon Simple Notification Service (SNS) • Management and Deployment • Amazon Identity and Access Management (IAM) • Amazon Cloudwatch • Amazon Elastic Beanstalk • Amazon CloudFormation PREMIA Short Course on Cloud Computing

  49. Outline • The Cloud, Your New Computer(s) • Principles of Cloud Computing • Infrastructure as a Service • Platform as a Service • Software as a Service • Demo: Video-Sharing Cloud App • Introduction to Amazon Web Services (AWS) • Building a SaaS with AWS • Performance and Scaling • Pricing • Summary & Conclusions PREMIA Short Course on Cloud Computing

  50. Building an SaaS with AWS Video-sharing website built with AWS components • Allows users to upload videos and stream them later • The website accepts many video formats and converts them into a streaming format • x264 encoding for the video stream • mp4a encoding for the audio stream • For simplicity, no user accounts CPU & IO intensive! PREMIA Short Course on Cloud Computing

More Related