Cloud Computing an introduction

Similar documents
Cloud Computing an introduction Netzprogrammierung (Algorithmen und Programmierung V)

Data Centers and Cloud Computing

Introduction to Cloud Computing

Oracle Applications and Cloud Computing - Future Direction

9/26/2011. What is Virtualization? What are the different types of virtualization.

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud Providers, SciCloudand

IOS110. Virtualization 5/27/2014 1

Introduction to Cloud Computing

Virtualization. Types of Interfaces

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Virtualization and the U2 Databases

Lecture 02a Cloud Computing I

Cloud Computing Submitted By : Fahim Ilyas ( ) Submitted To : Martin Johnson Submitted On: 31 st May, 2009

Cloud Computing: Making the right choices

Virtualization. Dr. Yingwu Zhu

Data Centers and Cloud Computing. Data Centers

DISTRIBUTED COMPUTER SYSTEMS CLOUD COMPUTING INTRODUCTION

CLOUD COMPUTING: THE EMERGING COMPUTING TECHNOLOGY. Feng-Tse Lin and Teng-San Shih. Received May 2010; accepted July 2010

2) Xen Hypervisor 3) UEC

Virtualization and Cloud Computing

How To Understand Cloud Computing

Basics of Cloud Computing

Li Sheng. Nowadays, with the booming development of network-based computing, more and more

Cloud computing. Examples

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

Full and Para Virtualization

Intro to Virtualization

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

What is Cloud Computing? First, a little history. Demystifying Cloud Computing. Mainframe Era ( ) Workstation Era ( ) Xerox Star 1981!

Virtualization Overview. Yao-Min Chen

The Art of Virtualization with Free Software

Cloud Computing and Attacks

COS 318: Operating Systems. Virtual Machine Monitors

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

MTAT Basics of Cloud Computing (3 ECTS) Satish Srirama

Cloud Computing Architecture: A Survey

Cloud computing - Architecting in the cloud

CS 695 Topics in Virtualization and Cloud Computing and Storage Systems. Introduction

Virtualization. Michael Tsai 2015/06/08

The Xen of Virtualization

Cloud Architecture and Virtualisation. Lecture 2 Cloud Computing Overview

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

24/11/14. During this course. Internet is everywhere. Frequency barrier hit. Management costs increase. Advanced Distributed Systems Cloud Computing

CLOUD COMPUTING. When It's smarter to rent than to buy

Using Cloud Services for Test Environments A case study of the use of Amazon EC2

Ø Teaching Evaluations. q Open March 3 through 16. Ø Final Exam. q Thursday, March 19, 4-7PM. Ø 2 flavors: q Public Cloud, available to public

Cloud Computing and Amazon Web Services

Cloud Models and Platforms

Cloud Computing. Cloud computing:

Cloud Computing. Chapter 1 Introducing Cloud Computing

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

How To Create A Cloud Based System For Aaas (Networking)

Chapter 2 Cloud Computing

Basics of Virtualisation

CSE 501 Monday, September 09, 2013 Kevin Cleary

Networks and Services

Platforms in the Cloud

A New Approach of CLOUD: Computing Infrastructure on Demand

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

CS 695 Topics in Virtualization and Cloud Computing. Introduction

Virtualization for Cloud Computing

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

Cloud Computing Summary and Preparation for Examination

What Is It? Business Architecture Research Challenges Bibliography. Cloud Computing. Research Challenges Overview. Carlos Eduardo Moreira dos Santos

StACC: St Andrews Cloud Computing Co laboratory. A Performance Comparison of Clouds. Amazon EC2 and Ubuntu Enterprise Cloud

Cloud Computing Flying High (or not) Ben Roper IT Director City of College Station

Dynamic Deployment and Scalability for the Cloud. Jerome Bernard Director, EMEA Operations Elastic Grid, LLC.

Cloud computing an insight

Cloud Computing. Adam Barker

Today: Data Centers & Cloud Computing" Data Centers"

How To Understand Cloud Computing

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

What is Cloud Computing? Why call it Cloud Computing?

2.2 Understanding the different classifications of cloud s

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cloud Service Models. Seminar Cloud Computing and Web Services. Eeva Savolainen

CLOUD COMPUTING. When it's smarter to rent than to buy.. Presented by Anand Tirumani

Introduction to Cloud Services

Cloud Computing CS

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

CloudFTP: A free Storage Cloud

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

Distributed Systems. Virtualization. Paul Krzyzanowski

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Mobile Cloud Computing T Open Source IaaS

Mark Bennett. Search and the Virtual Machine

Last time. Today. IaaS Providers. Amazon Web Services, overview

Transcription:

Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Cloud Computing an introduction January 30, 2012 Netzprogrammierung (Algorithmen und Programmierung V)

Our topics today in more detail What is cloud computing - old wine in new bottles? From the first idea to the BIG business. Why and when is Cloud Computing useful? The core concept of Cloud Computing virtualization. The cloud computing stack: SaaS, PaaS, IaaS. 2

Cloud Computing Introduction http://www.flickr.com/photos/pagedooley/2511369048/ 3

Motivation 1. Google: Enables users to search the world's information, including webpages, images, and videos. 2. Facebook: A social utility that connects people, to keep up with friends, upload photos, share links and... 3. YouTube: is a way to get your videos to the people who matter to you. 4. Yahoo!: A major internet portal and service provider offering search results, customizable content, 5. Baidu.com: The leading Chinese language search engine. 6. Wikipedia: A free encyclopedia built collaboratively using wiki software. 7. Blogspot.com: Free weblog publishing tool from Google, for sharing text, photos and video. 8. Windows Live: Search engine from Microsoft. 9. Twitter: Social networking and microblogging service. 10.Amazon.com: Seeks to be Earth's most customer-centric company. http://www.alexa.com/topsites 4

Berkeley Network of Workstations project http://now.cs.berkeley.edu/ 5

Computing Models Why do it yourself if you can pay someone to do it for you? 6

What is new about cloud computing? 1. The illusion of infinite computing resources available on demand, thereby eliminating the need for cloud computing users to plan far ahead for provisioning. 2. The elimination of an up-front commitment by users, thereby allowing companies to start small and increase hardware resources only when there is an increase in their needs. 3. The ability to pay for use of computing resources on a short-term basis as needed (e.g., processors by the hour and storage by the day) and release them as needed, thereby rewarding conservation by letting machines and storage go when they are no longer useful. (Vogels, 2008) 7

A bit cloud economics.. (Armbrust et al., 2009) 8

People using the Amazon website http://www.quantcast.com/p-a7zqvkcxrc6q2 9

What is the difference between cloud and grid computing? Grid computing is where more than one computer coordinates to solve a problem together. Often used for problems involving a lot of number crunching, which can be easily parallelizable. Cloud computing is where an application doesn't access resources it requires directly, rather it accesses them through something like a service. The service maps any requests for resources to its physical resources, in order to provide for the application. Usually the service has access to a large amount of physical resources, and can dynamically allocate them as they are needed. A cloud would usually use a grid. A grid is not necessarily a cloud or part of a cloud. This excellent answer is taken from: http://stackoverflow.com/questions/1067987/what-is-the-difference-between-cloud-computing-and-grid-computing 10

Cloud Computing Cloud computing stack 11

Cloud computing stack Software as a Service (SaaS) consume A way to access applications hosted on the web through your web browser Platform as a Service (PaaS) build A pay-as-you-go model for IT resources accessed over the Internet Infrastructure as a Service (IaaS) Use of commodity computers, distributed across Internet, to perform parallel processing, distributed storage, indexing and mining of data Virtualization host 12

Deployment models Private clouds are a variant of generic cloud computing where internal data center resources of an enterprise or organization are not available to the general public. The public clouds such as Amazon and Google were originally used as private clouds by those companies. Hybrid clouds combine private and public clouds. private cloud hybrid public cloud 13

Cloud computing stack Virtualization Main content of this part is taken from Carlos Garcia Fernandez and Luigi Gallerani, CERN and their lecture on Virtualization 14

What can be virtualized? Network virtualization splits up the available bandwidth into channels, each of which is independent from the others, and each of which can be assigned to a particular server or device in real time. Storage virtualization is the pooling of physical storage from multiple network storage devices into what appears to be a single storage device. It is commonly used in storage area networks (SANs). Server virtualization is the idea of taking a physical server and partition it, or divide it up, so that it appears as several virtual servers, each of which can run their own copy of an OS. The main purpose of this approach is isolation. 15

Hypervisor Also called Virtual Machine Monitor (VMM) or Virtualization Manager. It is a software program or part of the code in firmware that manages either multiple OS or multiple instances of the same OS on a single computer system. What is controlled by the hypervisor: CPU Memory Other resources required by the operating system It validates all the guest-issued CPU instructions and manages any executed code that requires additional privileges. 16

Types of hypervisor Type 1 hypervisors are those that run directly on the system hardware and offer a higher level of virtualization efficiency and security. Guest OS Guest OS Hypervisor Guest OS System Hardware Type 2 hypervisors are those that run on a host operating system that provides virtualization services, such as I/O device support and memory management. Guest OS Guest OS Hypervisor Host Operating System System Hardware Guest OS 17

Needed concept: protection rings Concept: Mechanism to set the layers of privilege used to protect the data and the functionality Ring 0 (kernel): Can execute any CPU instruction and reference any memory address Ring 3 (user): The access to hardware and memory reference needs to be arbitrated Hypervisor type 1 runs directly on the hardware of the host system on ring 0; task of the hypervisor is to handle the resource and memory allocation for the virtual machines Guest s kernels should run in less privileged CPU rings but unfortunately most operating kernels are written to run in ring 0 18

Virtualization techniques Emulation Full virtualization Paravirtualization Hardware-assisted virtualization Application-level virtualization 19

Emulation VM emulates/simulates complete hardware Unmodified guest OS for a different PC can run in this emulation It is possible to emulate one architecture in a completely different one What runs where? Ring 0: run the host Ring 3: run the guest OS (as applications) Pros: guest OS doesn t need modifications Cons: very slow because of the not native execution Example: Virtual PC for Mac 20

Full virtualization Host OS emulates a hardware layer for each guest OS What runs where? Ring 0: run the guest OS privileged operations Hypervisor provides CPU emulation to handle CPU operations Pros: Stability, guest OS doesn t need modifications Cons: System resources, time performance Examples: VMWare, Parallels 21

Paravirtualization The hypervisor interfaces the hardware to all OS s (host and guest) Guests OS are modified to run on the hypervisor which performs all tasks on behalf of the guest system Replacement of privileged operations (ring 0) with calls to the hypervisor What runs where? Ring 0: run an hypervisor Ring 1: run the guest OS Ring 3: run the applications Pros: Stability and performance is very good and overhead is very low Cons: Not easy to implement and to maintain because OS needs to be adapted Example: XEN, VMWare 22

Hardware-assisted virtualization Hardware provides support to run instructions independently for each OS What runs where? Ring 0: run the guest OS privileged operations Latest generation CPUs provide built-in features to run unmodified guest OS without overhead Pros No need to patch the guest OS Most optimal performance Great stability Cons: Need to be supported by the hardware 23

* Assumed to incorporate subordinate layers. 24 http://www.katescomment.com/iaas-paas-saas-definition/

Cloud computing stack Infrastructure as a service 25

Introducing IaaS IaaS is a cloud infrastructure service in which hardware is virtualized in the cloud. In this particular model, the service vendor owns the equipment: servers, storage, network infrastructure, and so forth. The developer creates virtual hardware on which to develop applications and services. Essentially, an IaaS vendor has created a hardware utility service where the user provisions virtual resources as required. Examples Amazon S3, Amazon EBS Amazon s SimpleDB, Google s BigTable, Apache Cassandra 26

IaaS workloads The fundamental unit of virtualized clients in an IaaS deployment is called a workload. A workload simulates the ability of a certain type of real or physical server to do an amount of work. The work done can be measured by the number of Transactions Per Minute (TPM) or a similar metric against a certain type of system. Clients would reserve a machine equivalent required to run each of their needed workload. 27

Example 1: Elastic Compute Cloud (EC2) Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud and it is one of the very early pioneers of cloud computing. In a nutshell: On Demand Operating System EC2 provides a complete virtual computer with CPU, memory and disk space that is based on the XEN virtual image platform. It is available for a variety of operating systems Linux (Fedora, Ubuntu, CentOS, etc) Open Solaris Microsoft Window URL: http://aws.amazon.com/ec2/ 28

Some EC2 features Very simple pricing structure CPU hours Machine size Bandwidth in and out of cloud Extremely fast start up (2-3 minutes from start to finish) Very large/generous disk space provisioning (160GB minimum for the standard instances) Flexible API to control everything Wide range of virtual machine types 29

Example 2: Simple Storage Service (S3) S3 enables to upload, download, and store data across the Internet Data are stored in buckets Buckets are the fundamental container in Amazon S3 for data storage No limit on no of objects that can be stored in a bucket Can store up to 5 TB of data in one object Object stores data and metadata Objects stored in a region never leave the region You cannot modify or append data to an existing object URL: http://aws.amazon.com/s3/ 30

S3 (continued) Objects are retrieved via a unique, developer-assigned key Example key: http://doc.s3.amazonaws.com/2006-03-01/amazons3.wsdl ("doc" is the bucket name and "2006-03-01/AmazonS3.wsdl" is the key) Again, a very simple pricing scheme Downloading data is possible from any where You can enable others to download and can charge them (Using Amazon DevPay) 31

Cloud computing stack Platform as a Service 32

Introducing PaaS The Platform as a Service model describes a software environment in which a developer can create customized solutions within the context of the development tools that the platform provides. Platforms can be based on specific types of development languages, application frameworks, or other constructs. A PaaS offering provides the tools and development environment to deploy applications on another vendor s application. Often a PaaS tool is a fully integrated development environment; that is, all the tools and services are part of the PaaS. Examples: Google App Engine - Python (initially, now also Java) Force.com (SalesForce) Microsoft s Azure -.NET 33

whitehouse.gov/openforquestions 34

Example PaaS 1: Google App Engine Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast development and deployment; simple administration, with no need to worry about hardware, patches or backups; and effortless scalability. (http://code.google.com/appengine/) Some features Dynamic web serving, with full support for common web technologies Persistent storage with queries, sorting and transactions Automatic scaling and load balancing APIs for authenticating users and sending email using Google Accounts A local development environment that simulates Google App Engine on your computer (Java, Python, also Eclipse plugin) 35

Example PaaS 2: Ruby on Rails Ruby on Rails, often shortened to Rails or RoR, is an open source full-stack web application framework for the Ruby programming language. Lock-in is not a big concern here because many choices of RoR vendors exist. More information on RoR http://rubyonrails.org/ One arbitrary provider of PaaA is Heroku (http://www.heroku.com/) 36

Cloud computing stack Software as a Service 37

Introducing SaaS It is the most complete cloud computing service model because the computing hardware and software, as well as the solution itself, are provided by a vendor as a complete service offering. SaaS provides the complete infrastructure, software, and solution stack as the service offering. Examples Google Apps - Gmail / Google Docs Apple s MobileMe Microsoft s Live - Hotmail, Live Spaces SalesForce.com 38

Cloud Computing Summary 39

What have we discussed today? We talked a lot about clouds, their emergence out of untapped potential. We mentioned that Amazon has provided one of the first services in this area. The concept of cloud computing is not new and there is a relation to grid computing that a cloud would usually use a grid but a grid is not necessarily a cloud or part of a cloud. We talked about the enabling technology virtualization and discussed by using the concept of protection rings, various virtualization techniques. Finally, we briefly discussed the three levels of abstraction and which services are provided on each of these levels and what are existing applications. 40

References George Coulouris, Jean Dollimore, Tim Kindberg: Distributed Systems: Concepts and Design. 5th edition, Addison Wesley, 2011. Vogels, W. A Head in the Clouds The Power of Infrastructure as a Service. In First workshop on Cloud Computing and in Applications (CCA 08) (October 2008) Armbrust, M., et al. Above the clouds: A Berkeley view of cloud computing. Tech. Rep. UCB/EECS-2009-28, EECS Department, U.C. Berkeley, Feb 2009. http://www.eecs.berkeley.edu/pubs/techrpts/2009/eecs-2009-28.pdf Amazon Web (Cloud) Services - documentation http://aws.amazon.com/documentation/ Some slides are taken from Satish Sriram: Cloud Provider. Unviersity of Tartu. 2011 Mohamed Fawzi: Virtualization and Protection Rings http://fawzi.wordpress.com/2009/05/24/virtualization-and-protection-rings-welcome-to-ring-1-part-i/ 41