Platform as a Service (PaaS) vs. Infrastructure as a Service (IaaS) in Cloud Computing
Comparison between Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) in cloud computing, focusing on the control users have over the service, provider limitations, user responsibilities, and key attributes of PaaS. Exploring the differences in control, maintenance, and freedom to install applications in PaaS and IaaS models.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
GRID AND CLOUD COMPUTING Courtesy of Professor Ahmed Ezzat, Ph.D Cloud Architecture: Platform as a Service (PaaS) http://web.uettaxila.edu.pk/CMS/FALL2017/teGNCCms/ www.svuca.edu
UNIT 10: PLATFORM AS A SERVICE PaaS vs. IaaS Platform-as-a-Service (PaaS) Attributes Elasticity Multi-tenancy Rapid provisioning and deployment Integrated monitoring, management and billing facilities PaaS Brief Case Studies Web Apps Frameworks Web Hosting Services Google App Engine Microsoft Windows Azure SalesForce.com Evaluation of Current PaaS providers Summary and Conclusions 2
PaaS vs. IaaS: PaaS Overview 4
PaaS vs. IaaS Significant difference is the amount of control a user has over the service PaaS: Microsoft Azure: user has no control over the OS, security features or the ability to install software applications other than your own applications developed specifically for Azure. Google Apps and Force.com have similar limitations to Azure All OS updates, versions, patches, security are controlled and implemented by the PaaS provider IaaS: user selects the configuration (server size, OS, App software) and then has complete responsibility for the maintenance of the system; security patch is your responsibility. Want to install new application or database feel free, it is your server 6
PaaS vs. IaaS: Cloud is Not the Bleeding Edge 7
PaaS Attributes PaaS is a mechanism for vendors to apply specific set of constraints toward goals that represent their value proposition to their end user. These are as follows: Elasticity Multi-tenancy Rapid provisioning and deployment Integrated monitoring, management and billing facilities 8
PaaS Attributes To achieve these goals, the PaaS vendor must apply set of constraints regarding elasticity and security: Only specific languages and run-time are supported Not all language/library features are enabled Generic API replacing traditional APIs There may be size constraint on individual requests Stateless environment is encouraged to minimize the overhead of state management 9
PaaS Attributes While the above constraints allow the vendor to achieve the cloud computing goals, additional constraints add value by providing the following: IDE plug-in, SDK and local emulation environment Frameworks that provide the scaffolding and hooks to the platform Free developer accounts to accelerate provisioning time Differentiator between platforms offerings include programming languages supported (e.g., Python, Java, C#, etc.), and development environments (e.g., Eclipse, Visual Studio) for which there are plug-ins available 10
PaaS Attributes In summary: PaaS shows benefits over traditional web platforms in terms of: Geographically distributed collaboration Facilitate web services aggregation through centralization of code, reduced costs of infrastructure pay-as-you-go model, and through higher-level programming languages PaaS is simpler to manage than IaaS while providing more functionality and services from the provider 11
PaaS Attributes: Elasticity Is the ability to use computer resources as needed to meet some performance goals under variable workload Amazon EC2 is an example of Elastic Compute Cloud, which is central part of Amazon s cloud computing platform, Amazon Web Services AWS In addition to the instance type (Compute capability), Amazon added features such as static IP address, Availability Zones, User selectable kernel, and Amazon Elastic Block Store (EBS) Elastic Compute Units (ECU) is an abstraction of compute resources. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0 1.2 GHZ Opteron or Xeon processor EC2 uses Xen virtualization. Each VM, called instance, functions as a virtual private server. Instances are sized based on ECUs 12
PaaS Attributes: Single- vs. Multi-Tenant Architecture 13
PaaS Attributes: Single- vs. Multi-Tenant Architecture 14
PaaS Attributes: Rapid Provisioning and Deployment Automation of infrastructure configuration: is central to Cloud Computing. It is essential to capture and maintain infrastructure & application configuration data to enable automation of provisioning of the managed components and minimize support of large user-bases CMDB (Configuration Mgmt DB): is one or more integrated repositories detailing the infrastructure components, and other assets needed for delivering the needed services DevOps:Services are dynamic and complex and typically can t be met by static CMDB. Instead there is a need for more collaboration between development and operations teams to optimize and automate application deployments. Examples include: Puppet and Chef, both are Ruby-based and can manage wide variety of applications Provisioning Automation: Vendors leverage tools such as Puppet and Chef to facilitate enterprise-class automation across physical, virtual, and cloud environments 15
PaaS Attributes: Integrated monitoring, management and billing facilities Monitoring: Involves both proactive planning to ensure business continuity, as well as reactive processes for coping with problems when they occur IT Service Continuity Management: consists of risk assessment, business impact analysis, and contingency plan IT Operations Management: For functioning of hybrid clouds, end-user desktops and mobile devices there is need for on-site operations Incident Management: While Operation Mgmt takes a proactive role, incident Mgmt caters to the reactive side Problem Management: Tracking and resolving unknown causes of incidents Event Management: Tracks notable occurrences with significance on the management of IT infrastructure or the delivery of the IT services 16
PaaS Attributes: Integrated monitoring, management and billing facilities Service Management: Service disruption is expected: it is ongoing operations Service Strategy: Relates closely to the strategic impact, i.e., prioritization to handle more requests than resources available Service Design: Covers all elements relevant to service delivery Service Transition: Intersection between project and service management Service Operation: Its focus is on the day-to-day operations needed to deliver the service to the users Continual Service Improvement: Attempts to maintain the alignment between IT services and the corporation strategy by constantly reassessing the IT capabilities and explore opportunities to refine business processes 17
PaaS Brief Case Studies We will cover briefly the following: Web Apps Frameworks Web Hosting Services Google App Engine Microsoft Windows Azure SalesForce.com 18
PaaS Brief Case Studies: Web Apps Frameworks While simple web applications requires only HTML/HTTP, it is not possible to build complex and dynamic web sites that do not utilize server-side business logic built on data stored in data repository As a result, number of application frameworks have been developed to remove the necessary work for authentication, authorization, database access, server-side caching, session management, etc. These application frameworks are classified according to the programming language that they support 19
PaaS Brief Case Studies: Web Apps Frameworks Visual Basic, C#: ASP.NET is based on MS Active Server Pages (ASP) technology revised to take advantage of the Common Language Runtime (CLR) which is compatible with MS .NET languages including Visual Basic and C#. Ruby: Ruby-on-Rails is an open source framework that supports Ruby, a dynamic and object oriented programming language that is based on Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby-on-Rails suffered when Twitter switched to Scala due to scalability Java: while Java is a de facto standard for open source software, not all Java environments are identical. Best known frameworks include Apache Struts and SpringMVC frameworks 20
PaaS Brief Case Studies: Web Apps Frameworks Perl: Perl is a general purpose language originally developed for manipulating text and currently used for variety of applications including system administration and web development. Used in popular frameworks such as Catalyst, Jifty and WebGUI PHP: Originally developed for building dynamic web content, typically process input data and renders HTML. Frameworks include Drupal and Joomla Python: supports multiple programming paradigms including object-oriented, structured, functional, and aspect-oriented programming. Popular frameworks include Django which is suitable for complex and DB-oriented websites. Python is very popular with Google Applications since Google App Engine was initially released with Python support 21
PaaS Brief Case Studies: Web Hosting Services Unclear boundaries between conventional web hosting services (e.g., 100WebSpace, X10Hosting, HelioHost, etc.) and PaaS providers Web hosting use business models that range from placed advertisements to one- time setup fees or monthly subscription, and typically they support multiple application frameworks (they are not considered PaaS) because provisioning support and value-add services are minimal On the other hand, MossoRackspace Cloud offers a service called Cloud Site; fully managed platform that can host .NET, LAMP (Linux, Apache, MySQL, Perl/Python/PHP) stack qualify as PaaS 22
PaaS Brief Case Studies: Google App Engine One of the best known PaaS. In addition to basic runtime environment, it eliminates many of the administration and development challenges involved in building applications that can scale to millions of users! Originally supported only Python runtime environment. It added later-on Java VM (Java, Groovy, Jruby, Scala, Clojure) SDK includes full local development environment that simulates Google App Engine on the developer s desktop It imposes some limitations, e.g., Python modules must be pure Python w/o C or Pyrex modules. Likewise, Java applications may only use a subset of the JRE SE, and they are not allowed to create new threads 23
PaaS Brief Case Studies: Google App Engine Unfortunately, supported languages are standard, it isn t typically possible to take existing code and launch it by simply copying it to the Google AppSpot hosting environment Obstacles: Most existing apps use RDBMS while Google App provides non-relational data store Many existing apps leverage the OS services such as file system, or interface with other installed software. Google Apps use the sandbox model to be able to isolate instances in multi-tenant environment The App Engine datastore, supports queries, sorting, and transactions using optimistic concurrency control. It is consistent DB built on top of Big Table with added functionality 24
PaaS Brief Case Studies: Google App Engine Google Query Language called GQL is similar to SQL in its SELECT statement, however with significant limitations, e.g., GQL does not support Join operation and as a result can support only one single table query, however, GQL provides a workaround in the form of a ReferenceProperty class that can indicate one-to-many and many-to- many relationships Google Apps are not allowed to write to the file system (protection from malware), however it can read files but only those files that have been uploaded with the application code. Persisting intermediate results have to be done in the App Engine datastore Only events that can trigger application are web request or scheduled CRON job 25
PaaS Brief Case Studies: Google App Engine Google App Engine however provides rich set of APIs: Authentication: Apps can interface directly with Google Accounts URL Fetch: Apps can access resources on the Internet Mail:Apps can send messages using the App Engine s mail service Memcache: Offers Apps an in-memory key/value cache that can be accessed by multiple instances of the same App Image Manipulation: Allows Apps to resize, crop, rotate and flip images in JPEG and PNG formats Scheduled Tasks: Cron service allows user to schedule tasks that run at regular intervals. The App can only execute tasks that it added to a queue itself Task Queue: Cron jobs are not reliable and do not perform well for high volume or high frequency workload. The App Engine Task Queue is very scalable, low latency and reliable service processed on FIFO basis Blobstore: GQL Data Store items are limited to a maximum of 1 MB. The Google Blobstore provides an alternative for serving large objects such as images, audio, video or executable files up to a maximum of 2 GB 26
PaaS Brief Case Studies: Google App Engine XMPP (The Extensible Messaging and Presence Protocol) API: is a standard Instant Messaging (IM) protocol based on Jabber. The App Engine supports the API, which can serve as an alternative to email for time-sensitive communications such as alerts OpenID Authentication: It is a standard for federated authentication. OpenID user can create an identity (uid, password or biometrics) at any OpenID provider and use that identity to authenticate to an App Engine Application if the developer choose OpenID as the authentication mechanism MapReduce: Is still experimental and not complete, i.e., even though Google invented the M/R paradigm. The idea is; that the mapper provides a fast and efficient way to iterate over datastore entities or Blob files 27
PaaS Brief Case Studies: Microsoft Windows Azure Azure is Microsoft s PaaS offering: It allows applications to be hosted and run from MS datacenter. Its fabric controller automatically manages resources, balance load, replicate for HA and manages the App lifecycle To access Azure: you typically use Visual Studio or an SDK for Java and Ruby, i.e., not limited to .NET Framework. Planning to support Java, Python, Ruby, PHP, OpenID and Eclipse, however much more information and community support is available if you have native Microsoft implementation, These are the developer needs: Download Azure software Development kit Download Azure Tools for MS Studio 28
PaaS Brief Case Studies: Microsoft Windows Azure After installing the Azure software, a set of solution templates appears in the Visual Studio called Cloud Service Azure Platform: is a distributed service hosted in MS data-center based on special-purpose OS called Window Azure. It consists of 3 components: Compute, Storage, and a Fabric to manage the platform Azure also provides an infrastructure service in the form of VM role which accepts upload of Window Server 2008 R2 VM Image 29
PaaS Brief Case Studies: Microsoft Windows Azure For each role, the developer specify static configuration setting: End-point URL, # of instances and size (# of cores, memory and disk space) Load balancer will distributed incoming traffic among the different instances; it is also possible to inspect and update the configuration using Service Runtime & Mgmt Azure Storage supports Blobs, Tables, and Queues Azure fabric refers to a set of machines running the Azure OS that are managed together and typically co-located in the same region. The Fabric Controller is the layer of code that provisions all the user instances and performs necessary upgrades 30
PaaS Brief Case Studies: Microsoft Windows Azure Azure Services: set of services that can be used from the Internet (including Azure Platform itself) or on-premise applications 31
PaaS Brief Case Studies: Microsoft Windows Azure Azure Services can be classified as: AppFabric: Provides Cloud-oriented service framework that is available through REST, SOAP, Atom/AtomPub and WS-*. Microsoft .NET Service Bus: relay connectivity between systems Microsoft .NET Access Control Service: provides both authentication and authorization to users relying on Windows Live ID and other user account stores Windows Azure AppFabric Cache: delivers distributed, in-memory, cache service for Windows Azure and SQL Azure applications SQL Azure: Is relational store that is different from Azure storage. It is SQL Server offered as Cloud Service including transaction integrity & multi-table analysis Live Services: Provides set of building blocks that can be used to handle user data and application resources including identity and contacts. At the heart is LiveMesh, which offers data synchronization across multiple devices using FedSync 32
PaaS Brief Case Studies: Force.com SalesForce.com: provides PaaS service which is called Force.com. It is very different from Google s and Microsoft s offerings in the PaaS space. It also provides hosting services using its own technology with features of redundancy, security and scalability; it is data oriented rather than code- oriented. External Programmatic Access: Exposes customers to specific configurations (forms, reports, workflow, user privileges, customization, business logic) as metadata which is programmatically accessible: A Web Services API (SOAP) allows access to all Force.com application data from any environment 33
PaaS Brief Case Studies: Force.com Provides toolkits for .NET, Java, Facebook, Google, and Amazon Web Services as well as pre-packaged connectors from: ERP: SAP R/3 and Oracle Financials Desktop software: Microsoft Office, Lotus Notes Middleware: TIBCO, Pervasive, Cast Iron Apex: Force.com is built using Visualforce, a framework for creating GUI, and Apex (a proprietary programming language that uses Java-like syntax but acts more like Database stored procedures 34
PaaS Brief Case Studies: Force.com Force.com distinguishes between 3 kinds of program logic: Declarative logic: audit logging, workflow, approvals Formula-based logic: data validation, workflow rules Procedural logic: Apex triggers and classes Apex can run as a stand-alone script on demand or as a trigger on a data event Three options to develop/create the Apex code: SalesForce.com user interface allows including Apex code Any text editor (Notepad) that can be uploaded to the server The preferred mechanism is the Force.com IDE, which is a plug-in for Eclipse 35
PaaS Brief Case Studies: Force.com User Interface: Two tools are available for building UI: UI Builder and Visualforce UI Builder: is simpler approach, it generates a default UI based on the data properties of the application. This UI can be modified to change the layout and appearance or to add search functionality Visualforce: is much more powerful and can be used to create any UI. It implements the MVC paradigm to enforce strict separation of logic from presentation from storage. The UI can include callouts and leverage dynamic client-side display functionality (CSS, DHTML, AJAX, Adobe Flex) in addition to traditional HTML Force.com provides also marketplace, called AppExchange, for buying/selling SaaS services 36
Evaluation of Current SaaS Providers Which is the best choice for an ISV that focuses on the creation of a business application in a SaaS deployment? 37
Evaluation of Current SaaS Providers Which is the best choice for Service Providers that want to act as a local PaaS provider with the help of a licensed PaaS platform or for system integrators that would like to offer custom developed applications or integration services between corporate users and the PaaS provider? 38
Summary and Conclusion Cloud architecture consists of IaaS, PaaS, and SaaS PaaS: user has no control over the OS, security features or the ability to install software applications other than your own applications PaaS provider: is responsible for all OS updates, versions, patches, security PaaS: should provide rapid provisioning and deployment PaaS: should provide integrated monitoring, management and billing services 39
Assignment #9 - Write short description of services offered by Web Hosting and Cloud Hosting service providers mentioned in Slide 22 - Write short description of languages mentioned in Slide 23 40
Thank You Questions and Comments? http://web.uettaxila.edu.pk/CMS/FALL2017/teGNCCms/ 41