330 likes | 345 Views
Discover the three-layer structure of cloud infrastructure as a service, including IaaS, PaaS, and SaaS models. Learn how cloud providers offer scalable computing capacity and storage solutions. Explore examples like Amazon EC2 and Google App Engine.
E N D
Lecture II: Cloud Structures CS 4593Cloud-Oriented Big Data and Software Engineering
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
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
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
Cloud Service Models Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App Engine 6
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
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
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
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 • …
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
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
EC2-continued 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
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
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
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
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
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
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
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
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
Software as a Service (SaaS) • Risks of SaaS applications • Must have the internet • Password protected • Personal privacy
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
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
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).
Virtualization App App App OS OS OS Hypervisor Hardware Virtualized Stack • 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
Virtual Machines VM VM VM App App App App App Xen Guest OS (Linux) Guest OS (Windows) VMWare Guest OS (NetBSD) UML Virtual Machine Monitor (VMM) / Hypervisor Denali Hardware etc. 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! 29
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
Multi-Tenant Architecture Level 1: Ad-Hoc/Custom – One Instance per customer Level 3: configurable & Multi-Tenant-Efficient Level 4: Scalable, Configurable & Multi-Tenant-Efficient Level 2: Configurable per customer 33
Cloud Taxonomy Cloud Service Taxonomy 34