What do you mean by Platform as a Service?


Platform as a service (PaaS) is a category of cloud computing services that provide a computing
platform and a solution stack as a service. Along with software as a service (SaaS) and infrastructure as a
service (IaaS), it is a service model of cloud computing. PaaS offerings facilitate the deployment of
applications without the cost and complexity of buying and managing the underlying hardware and
software and provisioning hosting capabilities.


Technically, a PaaS is an Application Platform comprised of an operating system, middleware and other
software that allows applications to run on the cloud with much of the management, security, scaling
and other stack related headaches abstracted away. This allows you to focus on two things: customers
and developing your application. Let the PaaS deal with system administration details like setting up
servers or VMs, installing libraries or frameworks, configuring testing tools, etc.

Platform as a Service allows users to create software applications using tools supplied by the provider.
PaaS services can consist of preconfigured features that customers can subscribe to; they can choose to
include the features that meet their requirements while discarding those that do not. PaaS works on top
of IaaS and will do all of that work automatically. 


Characteristics of PaaS


Multi-tenant architecture 

A PaaS offering must be multi-tenanted. A multi-tenant platform is one that uses common computing
resources including hardware, operating system, software (i.e. application code), and a single underlying
database with a shared schema to support multiple customers simultaneously. This is in direct contrast to
the traditional client/server architecture, which requires an entire stack of hardware and software to be
dedicated to each tenant (customer). 


Customizable /Programmable User Interface

PaaS offering should provide the ability to construct highly flexible user interfaces via a simple “drag &
drop” methodology that permits the creation and configuration of UI components on the fly. Furthermore,
given the growing set of Web devices, additional flexibility to use other technologies such as CSS, AJAX and
Adobe Flex to specify the appearance of the application’s interface should be available to the UI designer.

Unlimited Database Customizations

Database used by application should have option of customization for more flexibility in application
development. Specifying relationships between objects, a key requirement of any sophisticated business
application, must be possible through the declarative Web-based interface. Other mandatory functions
include the ability to incorporate validation rules and permissions at the object/field level and the ability
to specify auditing behavior.

Automation

PaaS environments automate the process of deploying applications to infrastructure, configuring application components, provisioning and configuring supporting technology like load balancers and databases, and managing system change based on policies set by the user. While IaaS is known for its ability to shift capital costs to operational costs through outsourcing, only PaaS is able to cut down costs across the development, deployment and management aspects of the application lifecycle.

Security

The PaaS offering should provide a flexible access control system that allows detailed control over what
users of the SaaS application can see and the data each user can access. Definition of access from the
application level (including tabs, menus, objects, views, charts, reports and workflow actions) to the
individual field level should be possible. Defining an access control model should be possible through the
creation of groups and roles and the assignment of users to either groups or roles.

Runtime Framework

This is the “software stack” aspect of PaaS, and perhaps the aspect that comes first to mind for most
people. The PaaS runtime framework executes end-user code according to policies set by the application
owner and cloud provider. PaaS runtime frameworks come in many flavors, some based on traditional
application runtimes, others based on 4GL and visual programming concepts, and some with pluggable
support for multiple application runtimes. 

0 comments:

Feel free to contact the admin for any suggestions and help.