© Chinese University, CSE Dept. Distributed Systems / 10 - 1 Distributed Systems Topic 10: Cloud Computing Systems Dr. Michael R. Lyu Computer Science.

Slides:



Advertisements
Similar presentations
Cloud Computing Development. Shallow Introduction.
Advertisements

Amazon. Cloud computing also known as on-demand computing or utility computing. Similar to other utility providers like electric, water, and natural gas,
Cloud Computing Imranul Hoque. Today’s Cloud Computing.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Cloud Computing PRESENTED BY- Rajat Dixit (rd2392)
Emerging Platform#6: Cloud Computing B. Ramamurthy 6/20/20141 cse651, B. Ramamurthy.
Dept. of Computer Sci. & Eng., The Chinese University of Hong Kong 1 Cloud Computing A Trend Taking Shape Yangfan Zhou Dept. Computer Science and Engineering.
Management Framework for Amazon EC2 Speaker: Frank Bitzer
Virtualization and the Cloud
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 4.
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
B UILDING M ULTI - TIER W EB A PPLICATIONS IN V IRTUAL E NVIRONMENTS.
M.A.Doman Model for enabling the delivery of computing as a SERVICE.
Virtualization for Cloud Computing
Engineering the Cloud Andrew McCombs March 10th, 2011.
Cloud computing Tahani aljehani.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Data-intensive Computing on the Cloud: Concepts, Technologies and Applications B. Ramamurthy This talks is partially supported by National.
 Cloud computing is one of the more recent technologies that many businesses, individuals and other industry organizations believe to by one of the keys.
1 Introduction to Cloud Computing Jian Tang 01/19/2012.
Ch 4. The Evolution of Analytic Scalability
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
CHAPTER FIVE Enterprise Architectures. Enterprise Architecture (Introduction) An enterprise-wide plan for managing and implementing corporate data assets.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 7 2/23/2015.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
Introduction to Cloud Computing
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Presented by: Mostafa Magdi. Contents Introduction. Cloud Computing Definition. Cloud Computing Characteristics. Cloud Computing Key features. Cost Virtualization.
Cloud Computing Presented by Boyoung Kim.
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
CLOUD WITH AMAZON. Amazon Web Services AWS is a collection of remote computing services Elastic Compute Cloud (EC2) provides scalable virtual private.
CLOUD COMPUTING. What is cloud computing ? History Virtualization Cloud Computing hardware Cloud Computing services Cloud Architecture Advantages & Disadvantages.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 10: Cloud Computing Systems Dr. Michael R. Lyu Computer Science.
Web Technologies Lecture 13 Introduction to cloud computing.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
PRESENTED BY– IRAM KHAN ISHITA TRIPATHI GAURAV AGRAWAL GAURAV SINGH HIMANSHU AWASTHI JAISWAR VIJAY KUMAR JITENDRA KUMAR VERMA JITENDRA SINGH KAMAL KUMAR.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
SEMINAR ON.  OVERVIEW -  What is Cloud Computing???  Amazon Elastic Cloud Computing (Amazon EC2)  Amazon EC2 Core Concept  How to use Amazon EC2.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Unit 3 Virtualization.
11. Looking Ahead.
Chapter 6: Securing the Cloud
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Prepared by: Assistant prof. Aslamzai
Platform as a Service.
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Cloud Computing By P.Mahesh
Outline Virtualization Cloud Computing Microsoft Azure Platform
Chapter 9 An Introduction and Overview of Cloud Computing
Cloud Computing Systems
Presentation transcript:

© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 10: Cloud Computing Systems Dr. Michael R. Lyu Computer Science & Engineering Department The Chinese University of Hong Kong

© Chinese University, CSE Dept. Distributed Systems / Outline 1. Cloud Computing Introduction 2. Virtualization Concept 3. MapReduce Computing Paradigm 4. Cloud Computing In Practice (Amazon AWS) 5. Summary

© Chinese University, CSE Dept. Distributed Systems / What Is Cloud Computing?  Cloud computing is a hot buzzword recently –More and more companies have claimed their products are cloud computing based  So, what is cloud computing –A new name of an old technology created by marketing people? –A new technology focusing on higher-speed computing? –A new programming paradigm?

© Chinese University, CSE Dept. Distributed Systems / What Is Cloud Computing?  Let us see what cloud computing is by its economic drive –See an example on hosting an Internet service »e.g., a website CUHK co. ltd. Server

© Chinese University, CSE Dept. Distributed Systems / Hosting Computing Systems CUHK co. ltd. A single server is enough for small business A small amount of budget

© Chinese University, CSE Dept. Distributed Systems / Hosting Computing Systems CUHK co. ltd. More servers are needed if you have more clients Cost more manpower and money to provide the service

© Chinese University, CSE Dept. Distributed Systems / Hosting Computing Systems CUHK co. ltd. A huge data center is needed if you have a huge number of clients Cost a huge amount of money to provide the service

© Chinese University, CSE Dept. Distributed Systems / Hosting Computing Systems CUHK co. ltd. A huge data center is needed if you have a huge number of clients Cost a huge amount of money to provide the service

© Chinese University, CSE Dept. Distributed Systems / Hosting Computing Systems  The number of concurrent users is dynamic –You need to prepare for the peak number »Otherwise, bad user experience! –So you have to pay for the servers no matter whether you are using them or not »The money you spend to buy the hardware »The salary for the maintainers »The electricity (including that for air conditioning) »Other maintenance costs, e.g., repairing, upgrading, renting a room for the servers

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Motivations  How to make it more economic when hosting computing systems CUHK co. ltd. Server I wish this cloud can really host my system so that I can provide a scalable, on-demand service

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Introduction  Hosting computing systems in a scalable, on- demand way –To be economic!  Cloud computing –An emerging computing concept that approaches such a goal –Based on a lot of distributed system techniques »Service-oriented system architecture »Virtualization technology »Distributed computing paradigm

© Chinese University, CSE Dept. Distributed Systems / Pay As You Go  The core of cloud computing is computing/ storage outsourcing –To another company –To a dedicating unit in the same organization vs Pay for exactly what you’ve used Pay as you go!! Cost Down!!!

© Chinese University, CSE Dept. Distributed Systems / Outsourcing Electronics industry Brand vendor Manufacturer Manufacturing outsourcing Different manufacturing requirements in low season and high season # of product lines # of workers Service vendor Cloud computing provider Computing and storage outsourcing Different service requirements in different times # of hardware machines # of maintainers Cost down!!! Services for end users Cloud computing

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing System Architecture Computing System Application Platform Infrastructure Hardware OS, middleware User software, API

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing System Architecture Application Platform Infrastructure SaaS: Software as a service PaaS: Platform as a service Provided by the cloud computing providers IaaS: Infrastructure as a service A cloud user’s own application and OS A cloud user’s own application Three cloud computing stacks

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Industry  Amazon Elastic Compute Cloud (EC2)  Microsoft's Windows Azure Platform  Google App Engine  Other small startups: Heroku & Engine Yard  And more (and more)…

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Industry  Amazon Elastic Compute Cloud (EC2) –Xen-based virtual computing environment »A user can run Linux-based applications –IaaS: A user can control nearly the entire software stack, from the kernel upwards. –Provides low level of virtualization »Raw CPU cycles, block-device storage, IP-level connectivity  Microsoft's Windows Azure Platform  Google App Engine  Other small startups: Heroku & Engine Yard  And more (and more)…

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Industry  Amazon Elastic Compute Cloud (EC2)  Microsoft's Windows Azure Platform –PaaS: Use Windows Azure Hypervisor as the infrastructure, and use the.NET framework as the application container –Support general-purpose computing –Users can choose language, but cannot control the underlying operating system or runtime  Google App Engine  Other small startups: Heroku & Engine Yard  And more (and more)…

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Industry  Amazon Elastic Compute Cloud (EC2)  Microsoft's Windows Azure Platform  Google App Engine –Support APIs for the Google Datastore, Google Accounts, URL fetch, image manipulation, and services, etc. –SaaS: Application domain-specific platforms »Not suitable for general-purpose computing  Other small startups: Heroku & Engine Yard  And more (and more)…

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing Industry  Amazon Elastic Compute Cloud (EC2)  Microsoft's Windows Azure Platform  Google App Engine  Other small startups: Heroku & Engine Yard –Based on Ruby on Rails –PaaS  And more (and more)…

© Chinese University, CSE Dept. Distributed Systems / Virtualization Concept  Virtualization refers to the act of creating a virtual (rather than actual) version of –computer hardware platform –operating system (OS) –storage device –database server –computer network resources ♦We can virtualize physical servers to support all applications running over them ♦Virtualization of the key to Cloud Computing

© Chinese University, CSE Dept. Distributed Systems / The Traditional Server Concept Web Server Windows IIS App Server Linux Glassfish DB Server Linux MySQL Windows Exchange

© Chinese University, CSE Dept. Distributed Systems / The Traditional Server Concept  System administrators often talk about servers as a whole unit –Including the hardware, the OS, the storage, and the applications  Servers are often referred to by their functions –e.g., the Web servers, the SQL servers –If the SQL servers are overloaded, the administrator must add in a new one

© Chinese University, CSE Dept. Distributed Systems / If Something Going Wrong… Web Server Windows IIS App Server DOWN! DB Server Linux MySQL Windows Exchange

© Chinese University, CSE Dept. Distributed Systems / The Traditional Server Concept  If server failure is experienced –Unless there are redundant servers, the whole service is down  The administrators can implement clusters of servers –Make the service more fault tolerant –However, even clusters are not scalable –And, resource utilization is typically low

© Chinese University, CSE Dept. Distributed Systems / The Virtual Server Concept Virtual Machine Monitor (VMM) layer between Guest OS and hardware

© Chinese University, CSE Dept. Distributed Systems / The Virtual Server Concept  Virtual servers encapsulate the service software away from the hardware –A virtual server can be hosted in one or more hardware machines –One hardware machine can host more than one virtual server x86 Architecture VMM (Virtual Machine Monitor) Server 1 Guest OS Server 2 Guest OS Clustering Service Console Intercepts hardware requests

© Chinese University, CSE Dept. Distributed Systems / Virtualized Vs. Traditional Hardware Operating System App Traditional Stack Hardware OS App Hypervisor OS Virtualized Stack

© Chinese University, CSE Dept. Distributed Systems / The Virtual Server Concept  A flexible way to host computing systems –Virtual servers are just files in the storage »They can be migrated from one machine to another easily –Hardware machines can be removed and introduced conveniently –Administrators can adjust the amount of resources allocated to each virtual server »Accommodate to the service requirements

© Chinese University, CSE Dept. Distributed Systems / Virtualization Technique Supports  Software implementations –Commercial software »e.g., VMWare –Open-source software »e.g., XEN, VirtualBox  Hardware support –Intel VT (Intel Virtualization Technology) –AMD-V (AMD-Virtualization)  Virtualization is a well-established technique

© Chinese University, CSE Dept. Distributed Systems / Distributed Computing with MapReduce  What is MapReduce? –A software framework introduced by Google –For distributed processing large data sets on a cluster of computers –MapReduce libraries have been extensively implemented »C++, C#, Erlang, Java, Ocaml, Python, Ruby, F#, R, etc

© Chinese University, CSE Dept. Distributed Systems / Example: Distributed Grep grep Very big data set matches Split data matches grep cat All matches

© Chinese University, CSE Dept. Distributed Systems / Example: Distributed Word Count count Very big data set count Split data count merge Merged count

© Chinese University, CSE Dept. Distributed Systems / MapReduce Concept count Very big data set count Split data count merge Results MAPMAP REDUCEREDUCE Partitioning Function ♦Map : –A master node takes the input, chops it up into smaller sub- problems, and distributes them to worker nodes –A worker node processes a sub- problem, and passes the answer back to its master node ♦Reduce : –The master node takes the answers to all the sub-problems and combines them to get the answer to the problem it was originally trying to solve.

© Chinese University, CSE Dept. Distributed Systems / Logical View of MapReduce  Map is defined with respect to data structured in (key, value) pairs  Map is applied in parallel to every item in the input dataset  Map takes one pair of data with a type in one data domain, and returns a list of pairs in a different domain –Map(k1,v1)  list(k2,v2)  Then, the MapReduce framework collects all pairs with the same key from all lists –Create one group for each one of the different generated keys

© Chinese University, CSE Dept. Distributed Systems / Map Example  Example: counting the number of occurrences of each word in a large collection of documents –name: name of a document in the document collection –document: document contents consisting of a set of words –Applied to each document –Each invocation gets a list of (word, “1”) pairs –MapReduce then group the results according to the key (word in this example)

© Chinese University, CSE Dept. Distributed Systems / Logical View of MapReduce  Reduce is also defined with respect to data structured in (key, value) pairs  Reduce is applied in parallel to each group generated in the Map step  Reduce produces a collection of values in the same domain –Reduce(k2, list (v2))  list(v3)  The MapReduce framework in this way transforms a list of (key, value) pairs into a list of values

© Chinese University, CSE Dept. Distributed Systems / Reduce Example  Example: counting the number of occurrences of each word in a large collection of documents –word: the word being processed –partialCount: a list where each item is produced by a Map call –So for each word, Reduce gets its occurrence count

© Chinese University, CSE Dept. Distributed Systems / When To Use MapReduce?  You have a cluster of computers  You are working with large dataset  You are working with independent data (or assumed)  The data processing can be casted into Map and Reduce operations

© Chinese University, CSE Dept. Distributed Systems / MapReduce Implementations  MapReduce by Google Inc. –Centric to Google’s searching engine »Generate Google's index of the World Wide Web  Open-source implementations –Hadoop »Yahoo! Search Webmap is a Hadoop application to produce data used in every Yahoo! Web search query –And many others »Disco, Skynet, …

© Chinese University, CSE Dept. Distributed Systems / Cloud Computing In Practice (Amazon AWS)  What is Amazon AWS (Amazon Web Service) –AWS is a collection of remote computing services that together make up a cloud computing platform, offered over the Internet by Amazon.com.

© Chinese University, CSE Dept. Distributed Systems / AWS Architecture

© Chinese University, CSE Dept. Distributed Systems / AWS Functional Ecosphere

© Chinese University, CSE Dept. Distributed Systems / How AWS Works? A Film Rending Case

© Chinese University, CSE Dept. Distributed Systems / EC2 Instances  AMI Instances –General purpose instances (M1 or M3) –Compute-optimized instances (C1 or CC2 or C3) –GPU instances (G2 or CG1) –Memory-optimized instances (M2 or CR1) –Storage-optimized instances (HS1 or I2 or HI1) –Micro Instances  Amazon Machine Image (AMI)

© Chinese University, CSE Dept. Distributed Systems / EC2 Pricing Strategy

© Chinese University, CSE Dept. Distributed Systems / EC2 Management From Command Line  Sign up for AWS  Apply AWS security credentials  Download and Install EC2 command line tools  Set up system environment variables for EC2  Set up.profile configuration file  Check available AMIs  Generate key pair  Initialize and startup selected AMI  Authorize accesses to ports and connect to AMI instance  Terminate the instance when work is done

© Chinese University, CSE Dept. Distributed Systems / AWS S3  S3 = Simple Storage Service  Guaranteed to be reliable, secure and scalable  Simple {Key, Value} storage  Keys are stored within buckets  Default Storage Mechanism for AWS

© Chinese University, CSE Dept. Distributed Systems / AWS SQS  SQS = Simple Queue System –Amazon SQS offers reliable and scalable hosted queues for storing messages as they travel between components or nodes in distributed systems.

© Chinese University, CSE Dept. Distributed Systems / Programming Support for AWS  Official Amazon Libraries for Java  Unofficial Libraries for.Net, Ruby and Perl  AWS4C Libraries for C/C++/Objective C  Boto Libraries for Python –Most popular Amazon AWS library to support the full breadth and depth of Amazon Web Services –Support for other public services such as Google Storage in addition to private cloud systems like Eucalyptus, OpenStack and Open Nebula.

© Chinese University, CSE Dept. Distributed Systems / Summary  Cloud computing can provide elastic Internet-based services –Host computing systems in an on-demand, scalable manner –For cost-down purpose  Cloud computing systems are typically implemented as service-based systems: IaaS, PaaS, SaaS.  Virtualization technology is key to implement cloud computing systems  MapReduce is an emerging computing paradigm that can be implemented with cloud computing systems  Amazon AWS as commercial cloud computing service

© Chinese University, CSE Dept. Distributed Systems / References [1] M. Armbrust et al, A view of cloud computing, Communications of the ACM, 53:4, pp.50-58, of-cloud-computing/fulltext [2] L. Vaquero, A break in the clouds: towards a cloud definition, ACM SIGCOMM Computer Communication Review, 39:1, [3] J. Dean and S. Ghemawat, MapReduce: simplified data processing on large clusters, in Proc. of the 6th USENIX Symposium on Operating Systems Design & Implementation, [4] Paul Barham, Xen and the art of virtualization, in Proc. of the 19th ACM Symposium on Operating Systems Principles,

© Chinese University, CSE Dept. Distributed Systems / Links [1] Amazon Elastic Compute Cloud (Amazon EC2), [2] Windows Azure,Microsoft’s Cloud Service Platform, [3] Google Apps. [4] Heroku, Ruby Cloud Platform as a Service. [5] Engine Yard: The Ruby Cloud. [6] VMware Virtualization Software for Desktops, Servers & Virtual Machines for Public and Private Cloud Solutions. [7] Xen Projects. [8] Hadoop. [9] Disco Project. [10] Skynet, A Ruby MapReduce Framework.