- Platform as a Service (PaaS) is a service model in Cloud computing that provide platform and environment to allow developers to build applications and services over the internet.
- This model offers the runtime environment for applications. It also offers development & deployment tools, required to develop applications. PaaS has a feature of point-and-click tools that enables non-developers to create web applications.
- PaaS services are hosted in the cloud and accessed by users simply via their web browser.
- Platform as a Service allows users to create software applications using tools supplied by the provider. PaaS services can consist of pre-configured features that customers can subscribe to; they can choose to include the features that meet their requirements while discarding those that do not.
- Packages can vary from offering simple point-and-click frameworks where no client-side hosting expertise is required to supplying the infrastructure options for advanced development.
- The infrastructure and applications are managed for customers and support are available. Services are constantly updated, with existing features upgraded and additional features added
- Google's App Engine, Force.com are examples of PaaS offering vendors. The developer may log on to these websites and use the built-in API to create web-based applications.
- PaaS services are generally paid for on a subscription basis with clients ultimately paying just for what they use
- Clients also benefit from the economies of scale that arise from the sharing of the underlying physical infrastructure between users, and that results in lower costs.
Features of PaaS:
- Operating system
Server-side scripting environment
Database management system
Tools for design and development
Benefits of PaaS:
Makes development possible for non-experts: with some PaaS offerings anyone can develop an application. They can simply do this through their web browser utilizing one-click functionality. Salient examples of this are one-click blog software installs such as WordPress.
They don’t have to invest in physical infrastructure: being able to ‘rent’ virtual infrastructure has both cost benefits and practical benefits. They don’t need to purchase hardware themselves or employ the expertise to manage it. This leaves them free to focus on the development of applications. What’s more, clients will only need to rent the resources they need rather than invest in fixed, unused and therefore wasted capacity.
Flexibility: customers can have control over the tools that are installed within their platforms and can create a platform that suits their specific requirements. They can ‘pick and choose’ the features they feel are necessary.
Teams in various locations can work together: as an internet connection and web browser are all that is required, developers spread across several locations can work together on the same application build.
Security: security is provided, including data security and backup and recovery.
Adaptability: Features can be changed if circumstances dictate that they should.
Here are the characteristics of PaaS service model:
PaaS offers browser-based development environment. It allows the developer to create a database and edit the application code either via Application Programming Interface or point-and-click tools.
PaaS provides built-in security, scalability, and web service interfaces.
PaaS provides built-in tools for defining workflow and approval processes and defining business rules.
It is easy to integrate with other applications on the same platform.
PaaS also provides web services interfaces that allow us to connect the applications outside the platform.
Security engineering of pass applications: Since the PaaS applications are dependent on the network, PaaS applications must explicitly use cryptography and manage security exposures.
Lack of portability between PaaS clouds: Although standard languages are used yet the implementations of platforms services may vary. For example, file, queue, or hash table interfaces of one platform may differ from another, making it difficult to transfer workloads from one platform to another.
Event-based processor scheduling: The PaaS applications are event oriented which poses resource constraints on applications, i.e., they have to answer a request in a given interval of time.