Platform as a Service (PaaS) Demystified



Similar documents
APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

PLATFORM-AS-A-SERVICE: ADOPTION, STRATEGY, PLANNING AND IMPLEMENTATION

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

Assignment # 1 (Cloud Computing Security)

Journey to the Private Cloud

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

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

Demystifying the Cloud Computing

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

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

Cloud Computing Architecture: A Survey

CLOUD TECH SOLUTION AT INTEL INFORMATION TECHNOLOGY ICApp Platform as a Service

Platforms in the Cloud

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

Stackato PaaS Architecture: How it works and why.

CLOUD COMPUTING & WINDOWS AZURE

Competitive Comparison Between Microsoft and VMware Cloud Computing Solutions

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

How To Choose Cloud Computing

Cloud computing - Architecting in the cloud

Introduction to Cloud Computing

THE WINDOWS AZURE PROGRAMMING MODEL

How to choose the right PaaS Platform?

Cloud Computing. Adam Barker

Cloud Essentials for Architects using OpenStack

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

The Virtualization Practice

Cloud Computing: Making the right choices


Build A private PaaS.

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

Server & Cloud Management

A Study of Infrastructure Clouds

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Cloud Computing. Chapter 1 Introducing Cloud Computing

Oracle Reference Architecture and Oracle Cloud

SaaS & Cloud Application Development & Delivery

2) Xen Hypervisor 3) UEC

CLOUD COMPUTING An Overview

Cloud Models and Platforms

White Paper on CLOUD COMPUTING

Unleash the IaaS Cloud About VMware vcloud Director and more VMUG.BE June 1 st 2012

SUSE Cloud 2.0. Pete Chadwick. Douglas Jarvis. Senior Product Manager Product Marketing Manager

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

MANAGEMENT AND ORCHESTRATION WORKFLOW AUTOMATION FOR VBLOCK INFRASTRUCTURE PLATFORMS

Oracle Database Cloud Service Rick Greenwald, Director, Product Management, Database Cloud

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

Oracle Applications and Cloud Computing - Future Direction

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

Cloud Computing. Chapter 1 Introducing Cloud Computing

Enterprise PaaS Evaluation Guide

Technical Writing - Definition of Cloud A Rational Perspective

AppStack Technology Overview Model-Driven Application Management for the Cloud

WINDOWS AZURE EXECUTION MODELS

The Private Cloud Your Controlled Access Infrastructure

Establishing a Private Cloud

Increasing Efficiency across the Value Chain with Master Data Management

Harnessing the Power of the Microsoft Cloud for Deep Data Analytics

Virtualization and IaaS management

Cloud Computing: The Next Computing Paradigm

SaaS, PaaS & TaaS. By: Raza Usmani

Outlook. Corporate Research and Technologies, Munich, Germany. 20 th May 2010

Implementing Microsoft Azure Infrastructure Solutions

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Optimizing Service Levels in Public Cloud Deployments

Windows Azure and private cloud

BUILDING SAAS APPLICATIONS ON WINDOWS AZURE

EMC IT AUTOMATES ENTERPRISE PLATFORM AS A SERVICE

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

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

Cloud OS. Philip Meyer Partner Technology Specialist - Hosting

<Insert Picture Here> Private Cloud with Fusion Middleware

Using SUSE Cloud to Orchestrate Multiple Hypervisors and Storage at ADP

Where in the Cloud are You? Session Thursday, March 5, 2015: 1:45 PM-2:45 PM Virginia (Sheraton Seattle)

Commercial Software Licensing

A Gentle Introduction to Cloud Computing

Performance Management for Cloudbased STC 2012

Easy Deployment of Mission-Critical Applications to the Cloud

Hexaware E-book on Q & A for Cloud BI Hexaware Business Intelligence & Analytics Actionable Intelligence Enabled

See Appendix A for the complete definition which includes the five essential characteristics, three service models, and four deployment models.

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

Geoff Raines Cloud Engineer

Cloud computing and SAP

A Brief Overview. Delivering Windows Azure Services on Windows Server. Enabling Service Providers

Performance Management for Cloud-based Applications STC 2012

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Migrating SaaS Applications to Windows Azure

Keywords Cloud Computing, Platform as a Service, Software as a Service, Infrastructure as a Service, Architecture.

Windows Azure Platform

Private & Hybrid Cloud: Risk, Security and Audit. Scott Lowry, Hassan Javed VMware, Inc. March 2012

Transformation of IT Operations. Realizing IT as a Service through Comprehensive Cloud Services

KICK-START CLOUD VENTURES

Aneka: A Software Platform for.net-based Cloud Computing

Transcription:

A P P L I C A T I O N S A WHITE PAPER SERIES IN THE FOLLOWING PAGES, WE WILL DISCUSS THE VARIOUS IMPLEMENTATIONS OF PAAS AND HOW THE RIGHT OPTION WILL ENSURE PAAS SUCCESS. WE WILL ALSO DISCUSS THE BENEFITS AND DRAWBACKS OF EACH OPTION. Platform as a Service (PaaS) Demystified SIDDARTH JAISWAR SYNTEL, INC.

TABLE OF CONTENTS 1 2 3 4 5 6 7 8 EXECUTIVE SUMMARY PAAS DEFINED REQUIREMENTS OF AN IDEAL PAAS PLATFORM CUSTOM PAAS REFERENCE ARCHITECTURE FOR APPLICATIONS IN CUSTOM PAAS COTS IMPLEMENTATIONS OF PAAS CONCLUSION REFERENCES Executive Summary In most private cloud implementation scenarios we came across IaaS (Infrastructure as a Solution) as the sole way of implementing cloud. In IaaS, the concept of very high scalability, reliability, availability and on demand provisioning is limited to hardware/virtual machines. Though implementing IaaS qualifies an organization to call itself cloud-enabled, there needs to be a PaaS (Platform as a Service) that augments the cloud efficiency to maximize return on investment and propel the organization further into the cloud maturity index. The goal of this paper is to enable organizations make an informed choice of PaaS that meets their requirements. On the following pages, we will discuss various strategies to ensure PaaS implementation success, as well as the benefits and drawbacks of each option. 2012 SYNTEL, INC.

PaaS Defined Cloud computing has widened its scope to include platforms for developing and implementing custom applications, a term called Platform as a Service (PaaS). PaaS applications are also suggested as on-demand, web-based or Software as a Service (SaaS) option. However the most comprehensive definition is provided by Wikipedia, which says: Platform as a Service (PaaS) is the delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available on the Internet. PaaS offerings may include facilities for application design, application development, testing, deployment and hosting. This includes the scope of application services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, and developer community facilitation among others. These services may be provisioned as an integrated solution offering over the web. In simple terms, PaaS provides a runtime environment for cloud applications. It refers to the almost negligible need to buy software, hardware and all related services since these are available on the Internet in a more public cloud manner. In a private cloud setting, one would still need to buy hardware and software to build the infrastructure, but PaaS will help manage and utilize it in a manner that meets cloud standards. In the next section, we will discuss the cloud standards that any PaaS platform must implement. Additionally, in private cloud scenarios, these services might be available through Intranet or other means. After looking at the PaaS platforms available today, it appears that most true PaaS platforms are provide a runtime environment for applications developed for cloud. However, some PaaS providers target the development environment and provide an entire solution stack that can be used to build, test, deploy and manage code in the cloud. Those providing development and testing services look more like SaaS offering development or testing tools on the cloud. Although this is still a topic of debate, for the purposes of this paper we consider PaaS to be a runtime environment for cloud applications, and we will discuss the requirements and architecture of a PaaS platform. Requirements of a PaaS Platform As stated above, the main objective of PaaS is to improve the efficiency of the cloud and maximize its benefits. Keeping this objective in mind, below are the requirements of an ideal PaaS platform: High Scalability and On Demand Provisioning Infrastructure as a Service (IaaS) provides scaling and on-demand hardware provisioning. In terms of cloud, this scaling is possible until the last hardware resource is available in cloud. Likewise, PaaS is expected to scale applications across the hardware and the extent of scaling can be stretched to include the last hardware resource available for deployment. This provides users of PaaS a feeling of infinite scalability. In addition, the application provisioning should be an automated task that needs no IT intervention for deployment and delivery. High Availability PaaS platforms should provide a runtime environment for applications that features failover and load balancing capabilities. The important question is how is it different from a traditional clustered, load-balanced environment? The answer is that failover and load balancing capabilities should be scoped across the cloud rather than a few dedicated machines, as is the case in a traditional environment. This is over and above the hardware availability provided by IaaS. Thus, by deploying a PaaS platform, application availability is guaranteed in the event of application runtime breakdown and not infrastructure breakdown. High Reliability Reliability is often used interchangeably with availability. Though the motive of both is to provide a failover, there is a fine line that distinguishes one from the other. This difference can be made clear by means of an example: In the case of a business service that calculates an individual s federal and state taxes, let s first assume it is deployed in a cloud which provides only availability. In this scenario, whenever there is a request for tax calculation the cloud will ensure that some service is always up and running to receive this request. However, other processes running on the same computing environment could cause the service to take a long time to respond and the request to time out. In this case, the request initiator would see an error page. Now, had the cloud been reliable, it would have sensed that the service was not responding within the specified time and would have tried to execute it in another computing environment. In this case, the user would have received a response and not an error. A successful PaaS platform should provide this reliability to all services/ components deployed and running under them. Optimal Usage One of the core requirements of any cloud computing platform is optimal usage of resources. In the case of PaaS, optimization specifically applies to resources utilized for executing applications. To apply resource optimization, the PaaS platform should have components that monitor application execution and usage. Another purpose of monitoring is to provide chargeback to the users. The second reason is undecided about being required across all scenarios but the former is certainly needed. Let us see how this requirement differs from its applicability to a traditional deployment. In traditional deployments, applications are load balanced using traditional hardware and software load balancers that monitor a few application servers and distribute the load using various load balancing strategies such as round robin or least recently used. In the PaaS context, since PaaS is the runtime for the individual services of an application, load balancing should be more granular. Here PaaS should monitor each service/component

within the application based on different parameters (number of requests being serviced, CPU usage of the VM running the machine, etc.) and then decide on the best candidate to service the incoming request. PaaS is spread across the cloud, so this load balancing should not be limited to a few machines, but to the entire cloud where the PaaS exists. The other optimization scenario where PaaS distinguishes itself from a traditional deployment is that of a service orchestration. Wherever services are executed in a workflow or process based manner, PaaS should keep track of the current state of the workflow or process to ensure that work completed during execution of a process is not wasted if the process fails rather than starting the process all over. This has the potential tosalvage the computing loss due to failure and improve the efficiency of the cloud. Auto-Scaling The on-demand scenario could be based on a user request or in response to an increased load. In the latter scenario, the cloud because of its elastic nature expands and adds more resources to meet the increased demand. This requires the PaaS to auto scale the applications in the newly added computing resources. Admin /Management Console and Reports PaaS platforms should include some form of a user interface through which all application components/services can be tracked and monitored. In case of private cloud this UI may be integrated with the IaaS monitoring/tracking tool. Also this UI should have a provision for requesting for additional deployments of applications/ services along with access control for the same. PaaS platforms should also have reporting capabilities to provide statistics related to application usage, execution and provisioning. If Reporting capabilities are not present in the form of UI then at least there should be APIs or web service interfaces that users of PaaS can use to build their own reports out of PaaS. Multi OS and Multi Language Support An organization might have different OS and applications written using different languages. PaaS platforms should enable runtimes which can run on multiple OS (Windows, Linux etc.) and should be able to run applications created in different languages ( Java,.Net, C++ etc.). PaaS Bare Bones The requirements discussed in the above section comprise both essential and useful to have features. Organizations can choose to have a partial implementation of these mandatory features to meet their requirements of PaaS. This is because each organization might have varying needs with respect to scaling, availability and reliability.. Let s examine what constitutes the bare bones of a home grown PaaS platform, by revisiting each of the requirements mentioned above, while trying to figure out which of these would have to be necessarily implemented and to what extent: High Scalability & On Demand Provisioning: This is one of the most basic requirements of PaaS for implementation. However, the scope of scalability could be adjusted to suit the application need under cloud. Provisioning of applications has to be on-demand and without human intervention. Without implementing these two aspects, deploying PaaS would become futile. High Availability: This prerequisite is also imperative but depending on the concerned organization s needs, one could end up with finite points of failure. This means, if the custom PaaS components that provide availability are finite and if they all fail, there is a possibility of failure to accept request. High Reliability: This precondition too can be exposed to finite points of failure rather than infinite controllers providing infinite (scope entire cloud) reliability. Optimal Usage: This implementation could be confined to load balancing to give the cloud advantage, it has to be granular and should be able to load balance individual services rather than the runtimes that these services run on. Self -Service Portal: Instead of full-fledged dashboard, one could provide a simple portal that provides UI to request for cloud resources including applications/services deployed in the PaaS. The rest of the prerequisites may or may not be implemented in a custom PaaS and would depend on the specific needs of the user organization. Reference Architecture for Applications in Custom PaaS The diagram shown below depicts a typical logical reference architecture for a custom PaaS solution. The components and constituents of the PaaS platform depicted above represent the implementation of the minimal needs discussed in the previous section. There are two major groups of components and services that form the building blocks of a basic custom PaaS model. These are the Communication Layer and Management Layer. The Communication Layer is responsible for meeting the availability, reliability and optimization needs of the applications running on cloud. The Management Layer comprises components and services that provide provisioning and management capabilities, thereby catering to scalability, on-demand and reporting requirements of the custom PaaS. The scale of deployment of these components across the cloud can decide the extent of failover provided by this architecture. This means that if these components are finite in number, one will get finite scalability. Let s have a closer look at each of these layers in the custom PaaS platform:

Communication Layer This consists of components/ services that manage communication between the requests coming from the outer world to the business services/ components deployed in the cloud runtime. These components/ services ensure the applications are failure-resistant and optimize the execution of these applications initiated through these requests. The following are the key components of this layer: Management Layer Monitoring & Management Service Portal Virtual Image Configurator Alert & Monitoring Provisioning Messaging PaaS Components Cloud Hosted Applications/Services Application Runtime ( Java/.Net/C++) Load Balancer Cloud Service Orchestration Cloud Service Interaction Caching Virtual Machine Management Private Cloud Infrastructure Operating System Security Virtualized Infrastructure PaaS Constituents Load Balancer: This component keeps track of all application services and number of requests being serviced by each of them. This component handles availability, reliability and optimal usage aspect of the services. Some of the key features to be implemented are: An http/https listener that can handle any http/https request entering the cloud Configurable rules to specify rules-related to routing of web requests to application service instances. For example, a rule which says route the request to a service that has least CPU utilization Synchronization across various instances of load balancers under the cloud to ensure non duplication of execution and availability through redundancy of instances A registry of currently running services and log/trace of each execution A way of registering services with the load balancer to ensure availability and reliability of individual services. Cloud Service interaction: Services deployed in the cloud do not have a permanent address as they might move from one VM to another. This calls for a component in PaaS that knows at a given point of time where all these service instances are running. Cloud Service interaction component ensures the interaction with these services do not fail, thereby guaranteeing availability. The Load balancer discussed above always interrogates the cloud service interaction component to get a list of addresses of services deployed in the cloud. Following are the key features to be implemented for this component: A reliable central registry of services and their end-points/addresses A poller that ensures the validity of each address A configurable pool of services with settings for threshold A service creator that creates services on increase in demand keeping threshold in check Redundant instances to avoid failure due to unavailability of this component Cloud Service Orchestration: One of the application service usage scenarios is where multiple services have to be invoked to complete a business process. As discussed in the above sections on requirements of PaaS, optimal usage of resources is one of the key needs. Hence, under the cloud service orchestration, each execution is conserved and reused later when the process has to be restarted in the event of failure. Here are the key features required to build this component: Temporary cloud storage to store intermediate state of a business process A way to define a workflow/process A pool of choreographers with ability to take over each other s responsibility in the event of a failure Caching: This simply said, is a common cache for the entire cloud. The only difference from a traditional cache is that it may not reside on a single virtual machine and could be redundant to ensure maximum reliability of the cache. The key features for its implementation are: Ability to cache objects in multiple locations Ability to update all cache locations Ability to configure number of cache locations Use reliable messaging to synchronize cache across the cloud Messaging: This is a reliable messaging component. It is able to operate from multiple virtual machines. It ensures there is no single point of

failure and services can easily communicate with each other even if one of these VMs fails. Here are the key features that need to be considered when implementing this component: Redundant queues and queue manager with synchronization across all line ups to eliminate duplicate queues without compromising on reliability Ability to broadcast messages across the cloud Virtual Machine Management: This component forms the mediation between the underlying virtualization solution and the application services. A usage example of this component is that, the load balancer could use it to query a virtual machine for its CPU utilization. Following are the key features to be implemented for this component: Ability to interface with multiple (at least a couple) virtualization engines Security: Depending on the security policy of the organization, this could be a federation service that talks to an on premise identity service or could be an identity service on its own exclusively for the cloud. Following are the key features to be implemented for this component: A federation engine that creates security token based on identity service interaction A cloud storage to store identity information in case of identity service inside cloud A UI to create identities in case of identity service inside cloud Management Layer This layer provides monitoring and management capabilities to the PaaS. Most of the components used have an overlap with IaaS implemented for the cloud. Provisioning: This component provisions application services based upon on-demand request made through the portal. This provisioning engine may be coupled with the VM provisioning engine to facilitate the creation of an integrated provisioning component. The key features of its implementation are: Ability to deploy application services on provisioned VMs Use of a cloud store to get application images to be deployed on VMs Alerts & Monitoring: This component specifically monitors the execution of the application services and alerts the stakeholders of any failures. This again can be part of the organizational monitoring tool for the cloud. Following are the key features to be implemented for this component: Ability to send e-mail alerts and online messages to dashboard in the event of failure of application services Monitor health (CPU Usage, inactivity etc.) of individual services through well defined interfaces Monitor process execution and provide ways to intervene in the execution of the process Image Configuration: This should ideally be part of the IaaS where one can define standard virtual machine images for the cloud. However, in a pure IaaS implementation these images would have no correspondence to application services. The key features for its implementation are: A reliable cloud store that allows storage of application images as blobs Provision to create new images and map them to VM profiles Management & Monitoring Service Portal: consists of a dashboard for monitoring application services and UI to provision new services. Following are the key features to be deployed for this component: Simple intuitive user interface with different menus and screens for different roles Application provisioning request screen Application event and health check screens for admin Reporting capabilities related to execution of application services in cloud All these components and services can be built by using open source technologies which provide avenues of customization related to cloud. A classic example is tc Server, an offering from VMWare and SpringSource, which is built by customizing tomcat, which is a Java based open source servlet-engine. RabbitMQ and MemCache being examples for messaging and cache respectively. Commercial Off-the-Shelf Software (COTS) Implementations of PaaS With cloud adoption gaining momentum, it has led to many new providers entering the business of PaaS in recent times. Some of these providers are big players like Google, Microsoft, Salesforce and VMware and there are some small ones like Gridgain, Appistry etc. Some of these platforms are closed offerings where these PaaS platforms are only available on the providers datacenters like for example, Microsoft Azure. Some of these are available to be deployed in one s private cloud infrastructure or any other infrastructure. Most of the PaaS vendors today concentrate mainly on providing deployment and application provisioning services. Let s take a look at some of these providers: Windows Azure: It s a cloud services operating system that serves as the development, service hosting and service management environment for the Windows Azure Platform. These are some of the important features of this platform: Provides on-demand computation and storage to host, scale, and manages web applications on the Internet through Microsoft data centers Supports applications developed using.net, Java etc. Supports popular standards and protocols including SOAP, REST, XML, and PHP Provides Windows Azure Table storage, which is a non relational scalable data storage alternative for applications hosted in Azure Provides SQL Azure, which is the scaled out version of SQL Server for people who prefer to use RDBMS for data storage with data size not exceeding 50 GB Currently, the Windows Azure platform is only available in Microsoft Data Centers as part of their public cloud offering. In addition,

applications deployed in Azure get locked into the platform thereby rendering their porting to any other platform difficult. Google App Engine: Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. App Engine includes the following 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 fully featured local development environment that simulates Google App Engine on your computer Task queues for performing work outside of the scope of a web request Scheduled tasks for triggering events at specified times and regular intervals Applications deployed in Google App Engine run in a secure sandbox environment that provides limited access to the underlying operating system. Just as Azure, the Google App Engine is available only through Google data centers. There are also portability concerns relating to moving away from App engine because of the various proprietary/closed APIs of app engine, especially the data store. Force.com: It is a cloud computing PaaS system from Salesforce. com, that developers use to build multi-tenant applications hosted on their servers as a service. This is the platform on which the Salesforce.com CRM SaaS application runs. The same platform has been extended for use to other cloud applications. Developers do not provision CPU time, disk, or instances of running operating systems. Instead, Force.com provides a custom application platform centered on the relational database. Listed are some important features of Force.com: Provides users a cloud-based environment for the rapid development of web applications and web sites Provides Apex and VisualForce languages for implementation of applications business logic and user interface respectively Provides SOQL for querying the relational database. Prebuilt application services, which can be directly included into the application Like the earlier two PaaS platforms discussed above, this one is also a closed platform and not portable easily Cloud Foundry: It is an open source PaaS offering from VMware allowing easy deployment of cloud applications using Spring for Java developers, Rails and Sinatra for Ruby developers, Node.js and other JVM frameworks including Grails. The following are features of Cloud Foundry: It includes a self-service application execution engine, an automation engine for application deployment and lifecycle management It includes a scriptable command line interface (CLI) Provides integration with development tools to ease development and deployment processes Provides an open architecture for quick development framework integration; application services interface and cloud provider interface No vendor lock for deployment on any cloud (both public and private) Provides a micro cloud version deployable on single desktop/ laptop for development Appistry: It comprises three products: Appistry Cloud IQ Engine, Appistry Cloud IQ Manager and Appistry Cloud IQ Storage. Together these three products bring together the capabilities of PaaS. Some of the salient features of this platform are: Ability to scale application across the cloud, synchronizing versions throughout without any downtime, using the Appistry Cloud IQ Manager. High reliability and availability of applications guaranteed by Appistry Cloud IQ Engine. Reliability and availability of file system on the cloud by using the Appistry Cloud IQ Storage product Supports Java and.net based applications Can be deployed in both public and private cloud infrastructure Provides proprietary APIs for service interaction, but also offers means to avoid vendor lock-in using Spring framework. It currently does not support any web protocol for deployment of web services directly inside its cloud fabric. Conclusion PaaS can have varying implementations. There are many implementations available and one has to carefully analyze the target deployment (public or private), and the specific organizational needs before confirming the selection of PaaS platform. In a simple scenario, a custom PaaS implementation would be best suited, whereas in more complex scenarios, a COTS product would be a better option. The general requirement to be fulfilled by all PaaS platforms is to provide a runtime that is more available, reliable, scalable and optimized as compared to a traditional application runtime environment. Also, the concept of a cloud runtime for applications is the primary or key requirement and all other things are secondary. Any PaaS that does not offer this is not a true PaaS. References 1. http://en.wikipedia.org/wiki/platform_as_a_service 2. http://www.forceprepare.com/forcedotcom.html 3. http://en.wikipedia.org/wiki/google_app_engine 4. http://www.springsource.com/products/cloud 5. http://www.neovise.com/paas-providers

about SYNTEL: Syntel provides custom outsourcing solutions to Global 2000 corporations. Founded in 1980, Syntel's portfolio of services includes BPO, complex application development, management, product engineering, and enterprise application integration services, as well as e-business development and integration, wireless solutions, data warehousing, CRM, and ERP. About the Author Siddharth Jaiswar is Principal Architect with Syntel s Cloud Computing Center of Excellence. He is a Sun Certified Enterprise Architect (SCEA) and has extensive experience in designing and architecting Java/J2EE solutions. Siddarth leads Syntel s Private Cloud Center of Excellence, using vfabric, Appistry and other best-of-breed private cloud platforms to architect private cloud solutions for Syntel clients. He also leads Syntel s Cloud Consulting practice. We maximize outsourcing investments through an onsite/off-shore Global Delivery Service, increasing the efficiency of how complex projects are delivered. Syntel's global approach also makes a significant and positive impact on speed-to-market, budgets, and quality. We deploy a custom delivery model that is a seamless extension of your organization to fit your business goals and a proprietary knowledge transfer methodology to guarantee knowledge continuity. SYNTEL 525 E. Big Beaver, Third Floor Troy, MI 48083 phone 248.619.3503 info@syntelinc.com visit Syntel's web site at www.syntelinc.com