Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture II: Cloud Structures CS 4593 Cloud-Oriented Big Data and Software Engineering.

Similar presentations


Presentation on theme: "Lecture II: Cloud Structures CS 4593 Cloud-Oriented Big Data and Software Engineering."— Presentation transcript:

1 Lecture II: Cloud Structures CS 4593 Cloud-Oriented Big Data and Software Engineering

2 Three-Layer Structure of Cloud

3 Infrastructure as a service Instead of buying and running physical equipment (computers, storage, etc.), you ‘rent’ these as required from a cloud provider You ship your programs and data to a remote data centre and run them there rather than locally 3

4 Platform as a service The cloud provider makes a set of APIs available which you use in your program to interact with the platform Scalability is transparent. Automatic scale out/scale in as demand changes Primarily geared to writing web-based applications 4

5 Software as a service Software is shared by different users and accessed using a web browser Services are stateless, functional abstractions Accessed via a service interface – SOAP or RESTful interface 5

6 Cloud Service Models 6 Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Google App Engine SalesForce CRM LotusLive

7 An Analogy with PC systems IAAS –Like the hardware and the operating system kernel, including the processor, storage system, such as Wintel and Mac PAAS –Like the System API, such as the Android framework, Windows API, JDK, etc. SAAS –Like the third party libraries, such as the apache libraries 7

8 Infrastructure as a Service What is IaaS? –Service which delivers computer infrastructure –Typically consists of virtual platforms Why use an IaaS provider? –Don't have to purchase expensive equipment –Don't have to deal with maintenance on equipment –Create customized instances of an OS –Scalability 8

9 Infrastructure as a Service IaaS is the delivery of technology infrastructure as an on demand scalable service –Usually billed based on usage –Usually multi tenant virtualized environment –Can be coupled with Managed Services for OS and application support

10 IaaS is not Simply Managed Hosting Privilege –Root privilege, installation of software Better Elasticity –Get 10 times of servers with a click Function Availability –Data / Power Backup –Crash Recovery –…–…

11 Amazon Web Services Amazon Elastic Compute Cloud (EC2) –provides scalable computing capacity in the cloud –Pay for what you use –Start new server instances on-demand Can run instances of different OS's –RedHat Linux, Windows Server, openSuSE Linux, Fedora, Debian, OpenSolaris, Cent OS, Gentoo Linux, and Oracle Linux. Allows small business to inexpensively acquire the resources they need 11

12 EC2-continued Powered by Xen – a Virtual Machine: –Different from Vmware and VPC as uses “para- virtualization” where the guest OS is modified to use special hyper-calls: –Hardware contributions by Intel (VT-x/Vanderpool) and AMD (AMD-V). –Supports “Live Migration” of a virtual machine between hosts. Management Console/AP 12

13 Load your image onto EC2 and register it. Boot your image from the Web Service. Open up required ports for your image. Connect to your image through SSH. Execute you application… 13 EC2-continued

14 Other IAAS Examples

15 Cloud Storage Several large Web companies are now exploiting the fact that they have data storage capacity that can be hired out to others. –allows data stored remotely to be temporarily cached on desktop computers, mobile phones or other Internet-linked devices. Amazon’s Simple Storage Solution (S3) is a well known example 15

16 Amazon Simple Storage Service (S3) Unlimited Storage. Pay for what you use: –$0.20 per GByte of data transferred, –$0.15 per GByte-Month for storage used, –Second Life Update: 1TBytes, 40,000 downloads in 24 hours - $200, 16

17 PaaS - Platform as a Service What is PaaS? –Set of web based development tools that are hosted on a cloud provider's infrastructure. Benefits of developing with an PaaS –Easy to upload to the cloud –Don't have to worry about hosting your application –Provides full analytics software. –Dynamically Scales 17

18 Platform as a Service (PaaS) PaaS provides all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely from the Internet. –Typically applications must be developed with a particular platform in mind –Multi tenant environments –Highly scalable multi-tier architecture

19 Windows Azure What is Windows Azure –Platform for developing web applications that fully integrates into Visual Studio Supported Languages –Platform for developing web applications that fully –Standard.Net languages, PHP, Java, Ruby Benefits of Windows Azure –Great pool of resources –Integrates into Visual Studio 19

20 Google App Engine What is Google App Engine? –Platform for developing web applications on Google's data centers Supported Languages –Java, JavaScript, Ruby, Python Benefits of Google App Engine –500 MB of storage and 5 million page views / month Free –Cost Efficient –Instant Scalability –Easy to use 20

21 PaaS Examples

22 Software as a Service (SaaS) What is SaaS? –Web based applications –No hardware or software to install –End users just login and go Benefits of SaaS applications? –Web based applications –Saves space on users computer –Everything is done in the browser –Don't have to worry about hardware

23 Software as a Service (SaaS) SaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet. Saas alleviates the burden of software maintenance/support –but users relinquish control over software versions and requirements. 23

24 Software as a Service (SaaS) Risks of SaaS applications –Must have the internet –Password protected –Personal privacy

25 Software as a Service (SaaS) SaaS also has the characteristic of on-demand self-service A software version –You are charged at how much you are using –You are renting the software, not buying them –APIs are monitored and controlled A special benefit for software provider? 25

26 Between the layers The “no-need-to-know” in terms of the underlying details of infrastructure, applications interface with the infrastructure via the APIs Cloud are transparent to users and applications, they can be built in multiple ways –branded products, proprietary open source, hardware or software, or just off-the-shelf PCs. –Open Source software combined with in-house applications and/or system software. 26

27 Virtualization Virtual workspaces: –An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined protocols –Resource quota (e.g. CPU, memory share), –Software configuration (e.g. O/S, provided services).

28 Virtualization Implement on Virtual Machines (VMs): –Abstraction of a physical host machine, –Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs, –VMWare, Xen, etc. Provide infrastructure API: –Plug-ins to hardware/support structures Hardware OS App Hypervisor OS Virtualized Stack

29 Virtual Machines VM technology allows multiple virtual machines to run on a single physical machine. Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance! Hardware Virtual Machine Monitor (VMM) / Hypervisor Guest OS (Linux) Guest OS (NetBSD) Guest OS (Windows) VM App Xen VMWare UML Denali etc. 29

30 Virtualization with Higher Performance Hardware Virtualization –Intel vt-x –AMD-v Modify the hosted operating system –Generate a shortcut to bypass the OS –System calls are made directly to the hypervisor –Xen

31 Advantages of Virtualization Advantages of virtual machines: –Run operating systems where the physical hardware is unavailable –Easier to create new machines, backup machines, etc., –Software testing using “clean” installs of operating systems and software –Emulate more machines than are physically available 31

32 Advantages of Virtualization Advantages of virtual machines: –Timeshare lightly loaded systems on one host –Debug problems (suspend and resume the problem machine) –Easy migration of virtual machines (shutdown needed or not) –Run legacy systems! 32

33 Multi-Tenant Architecture 33 Level 2: Configurable per customer Level 3: configurable & Multi-Tenant-Efficient Level 1: Ad-Hoc/Custom – One Instance per customer Level 4: Scalable, Configurable & Multi- Tenant-Efficient

34 Cloud Taxonomy 34 Cloud Service Taxonomy

35 Some Commercial Cloud Offerings 35

36 Summary Structure of Cloud Services: 3 layers –IAAS: Servers and storage systems –PAAS: Basic API sets to connect infrastructures and applications –SAAS: Third-party services providing numerous features to developers and users Between the layers –Virtualization –Multi-tenant architecture 36

37 Next part Software engineering challenges in the scenario of cloud –Planning: how you are going to involved in the cloud –Design: scale in and out, elasticity and configurability –Implementation: budget-driven, parallel programming model –Deployment: monitoring, different deployment models 37


Download ppt "Lecture II: Cloud Structures CS 4593 Cloud-Oriented Big Data and Software Engineering."

Similar presentations


Ads by Google