Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cloud Computing Platform as a Service

Similar presentations


Presentation on theme: "Cloud Computing Platform as a Service"— Presentation transcript:

1 Cloud Computing Platform as a Service
Cs 595 Lecture 9

2 Platform-as-a-Service Cloud architectures
PaaS: Cloud computing services that allows customers to develop, run, and manage applications without the complexity of building and maintaining the physical infrastructure.

3 Platform-as-a-Service Cloud architectures
Most private clouds implement IaaS as the sole way of developing the cloud architecture. IaaS limits scalability, reliability, availability, and resource provisioning to hardware and VMs. Even though implementing IaaS qualifies an organization to call itself “cloud-enabled”, PaaS should be implemented as well to increase cloud efficiency and maximize return on investment.

4 Requirements of Paas As stated previously, the main objective of PaaS is to improve efficiency and maximize cloud benefits. The following are major requirements for PaaS: High Scalability and On Demand Provisioning High Availability High Reliability Optimal Resource Usage Administrative/Management Console and Reports Multiple OS and Language Support

5 Requirements of Paas High Scalability and On Demand Provisioning
Like IaaS, PaaS should scale applications across all available hardware. This provides the idea of “infinite scalability” Application resource provisioning in PaaS should be automatic.

6 Requirements of Paas High Availability
PaaS should provide a runtime environment that features failover and load balancing capabilities. These features should be scoped across the entire cloud. This guarantees application delivery in the event of application runtime breakdown.

7 Requirements of Paas High Reliability
PaaS architectures should, based on historical workloads, always provide the consistent results. These could be functional such as correct algorithm output or non-functional such as responding to input in a certain amount of time

8 Requirements of Paas Optimal Resource Usage
Core requirement of any cloud platform. In PaaS, optimization applies to resources utilized for executing applications. Application resource monitoring: Number of requests being serviced CPU/Memory usage of the application Amount of network traffic generated Application services/components monitored with more granularity than IaaS resources

9 Requirements of Paas Administrative/Management Console and Reports
PaaS should include a UI where all serviced applications can be tracked and monitored. The UI should include reporting capabilities and statistics related to PaaS application usage PaaS resource provisioning PaaS application health

10 Requirements of Paas Multiple OS and Language Support
Organizations may have specific OS needs and/or applications written in different languages. PaaS should enable runtimes that can work on different OSs and run applications created in different languages.

11 Paas Reference Architecture
Two major groups of components and services needed to form the foundation of a basic PaaS model: Communication Layer Responsible for meeting the availability, reliability, and optimization needs of the PaaS applications Management Layer Includes components and services that provide: Application resource provisioning Application and PaaS resource management Scalability, on-demand, and reporting services

12 Paas Reference Architecture

13 Paas Reference Architecture
Communication Layer Manages requests from users to the services provided by PaaS applications. Components/services in this layer that applications are failure-resistant. Key components of this layer: Load balancer Cloud service interaction Cloud service orchestration Caching Messaging Virtual machine management security

14 Paas – communication layer
Load Balancer Keeps track of all application services and requests Key load balancing features include: http/https listener Configurable rules for routing of web requests Synchronization of multiple load balancers to ensure non duplication of execution A registry of currently running services with log/trace of each A way to register services with the load balancer

15 Paas – communication layer
Cloud Service Interaction Services in PaaS may move from VM to VM. This calls for components that know at a given point in time where all PaaS services are located. Key features include: Central registry of services and their current locations Polling process that ensures the validity of services and their address A configurable pool of services that can be launched A launcher for deploying specific services based on demands Redundant instances of services to avoid failure

16 Paas – communication layer
Cloud Service Orchestration It is possible that multiple PaaS services are needed to handle job requests. Service orchestration components of PaaS ensure that all needed services are available for job requests. Key features include: Temporary cloud storage to store the state of a job request A way to define a job request as a data workflow A pool of service orchestration components with ability to take over each other’s responsibility in the event of failure or increased demand

17 Paas – communication layer
Caching General storage system for PaaS applications. May reside on multiple systems and should be redundant to provide high reliability. Key features include: Ability to cache PaaS data in multiple locations Ability to update all cache locations Ability to configure cache locations as a group or independently Usage of reliable messaging to synchronize cache across all locations

18 Paas – communication layer
Messaging Reliable messaging components that communicate with PaaS services across the cloud. Key features include: Redundant messaging queues and message queue manager Synchronization among messaging queues and manager to eliminate duplication Ability to broadcast messages across the cloud

19 Paas – communication layer
Virtual Machine Management Components used for communication between the underlying IaaS services and PaaS application services. Ex: PaaS load balancer queries a VM for CPU utilization. Key features include: Ability to interface with common virtualization engines

20 Paas – communication layer
Security Conforms to the security policies of the organization. Key features include: PaaS security service that creates security tokens based on identity service interactions A cloud storage to store identity information A UI to create identities and rules for components/users

21 Paas Reference Architecture
Management Layer Provides monitoring and management capabilities. Most components/services in this layer overlap with IaaS Key components of this layer: Resource provisioning Alerts and Monitoring Image Configuration Admin Interface for Management and Monitoring

22 Paas – Management layer
Resource Provisioning PaaS component that provides application resources based on demands. May be coupled with VM provisioning engine. Key features include: Ability to deploy application services on provisioned VMs Use of a cloud storage to get application images to be deployed on VMs

23 Paas – Management layer
Alerts and Monitoring Monitoring of the execution of application services and alerts any failures. Key features include: Ability to send alerts and messages to the admin user interface in the event of failure of application services Monitor health (CPU utilization, inactivity, etc.) of individual services Monitor PaaS application process execution Prove ways to intervene in the execution of PaaS applications

24 Paas – Management layer
Image Configuration Typically managed by IaaS. However, pure IaaS implementation of this service would have no correspondence to dynamic PaaS application services. Key features include: A reliable cloud store that allows storage of application images Provisioning to create new images and map them to PaaS services

25 Paas – Management layer
Admin Interface for Management and Monitoring Dashboard (generally web-based) interface for monitoring PaaS application services. Key features include: Intuitive UI with different menus and screens for following PaaS applications PaaS application provisioning request interface PaaS log and health checks interface Reporting capabilities related to execution of PaaS applications

26 Commercial PaaS Microsoft Azure
Serves as the development, service hosting and management environment for Azure software components. Key features of Microsoft Azure: On-demand computation and storage to host, scale, and manage web applications Supports application development using .Net, C#, etc. Supports popular standards and protocols such as SOAP, REST, XML, and PHP

27 Commercial PaaS Google App Engine
Allows users to build and deploy web applications that run reliably, even under heavy loads with large amounts of data. Key features of Google App Engine: Dynamic web services, with full support for common web technologies Persistent storage with database integration Automatic scaling and load balancing APIs for user authentication

28 Commercial PaaS Force.com PaaS system developed by Salesforce.com.
Developers can built multi-tenant applications where they don’t need to provision CPU, disk, OS, or other IaaS related resources. Key features of Force.com: Rapid development of web applications Provides Apex and VisualForce languages for development on the SalesForce.com platform Provides prebuild PaaS applications

29 Commercial PaaS Cloud Foundry
Open source PaaS system offered by Vmware. Key features of Cloud Foundry: Easy deployment of PaaS application using Java, Ruby, Node.js, and other JVM frameworks Includes a scriptable CLI Provides integration with current development tools and IDEs Provides a micro cloud environment for development/testing of applications on a desktop or laptop No vendor lock for deployment

30 Commercial PaaS Appistry
Includes three products: Appistry Cloud IQ Engine, Appistry Cloud IQ Manager, and Appistry Cloud IQ Storage. Together, these products provide capabilities of a PaaS system. Key features of Appistry: Ability to scale applications using Cloud IQ Manager High reliability and availability Supports Java and .Net based applications Provides proprietary APIs for service interaction Offers means to avoid vendor lock-in

31 PaaS PaaS architectures can have varying implementations.
Developers should carefully analyze a targeted PaaS Custom PaaS deployments can be used to create special features needed for applications. COTS PaaS is a good option for organizations not worried with IaaS complexities. The general goal to be fulfilled by all PaaS environments Provide a runtime for applications that is: More available More reliable More scalable More optimized than traditional runtime environments

32 PaaS in your Project Each project group should create an administrative, web-based, UI for monitoring activities in your cloud architecture. This UI can be built as a stand-alone component Virtual appliance(s) Features of the admin UI should include: Compute Nodes CPU/RAM/Disk utilization Network traffic history List of current active VMs VM activity logs (IaaS level, launch time, up time, etc.) Storage Node information Space utilization Replication details User quotas Cloud user information This UI should be detailed in draft 2 and the final draft of your project paper.


Download ppt "Cloud Computing Platform as a Service"

Similar presentations


Ads by Google