PaaS : Platform as a Service
- General Purpose
General Purpose PaaS should provide the tools required to completely automate the process of acquiring virtual infrastructure for a given application.
- PaaS -> Platform as a Service
Platform as a Service (PaaS) is an abstracted and integrated cloud-based computing environment that supports the development, running, and management of applications. Application components may exist in a cloud environment or may integrate with applications managed in private clouds or in data centers.
Infrastructure as a Service (IaaS) is at the foundational level and includes capabilities such as operating systems, networks, virtual machines, and storage.
In the middle is the Platform as a service (PaaS) environment, which includes services for developing and deploying applications.
Software as a Service (SaaS) is at the top of the pyramid representing the actual applications offered to end users.
PaaS vendors create a managed environment that brings together a combination of components that would have been managed separately in a traditional development environment. Services integrated in PaaS include middleware, operating systems, and development and deployment services to support software development and delivery organizations.in simple description With PaaS, vendors still manage runtime, middleware, O/S, virtualization, servers, storage, and networking, but users manage applications and data.
Most PaaS platforms are associated with software development, and they provide developers several advantages. (Windows Azure PaaS is one of them. It delivers a robust platform, allowing users to test, build, and deploy applications with ease, so that the enterprises can focus on the application, rather than managing complex computing resources.)
The goal of the PaaS provider is to create an abstracted environment that supports an efficient, cost-effective, and repeatable process for the creation and deployment of high-quality applications. These applications are designed to be implemented in public or private cloud environments.
- Generations of PaaS
In order to improve PaaS technology, it is going through many transformations phases since it has been launched in the market. Currently, PaaS evolved to a great extent that business and developer start relying and adopting it. has named this technology transformations in PaaS architecture as “PaaS generations”.
Generation 01: This generation was based on classical fixed proprietary cloud platforms. AWS, Heroku and Azure were initial technology platforms who initiated such services.
Generation 02: This generation platforms were developed around open source solutions. OpenShift and Cloud Foundry were emerged as one of the top players of this generation. These technology providers offered clients to run their own PaaS (in the cloud or on-premise). Aforementioned, PaaS platforms also initiated the idea of containers and developed their own container models. However, currently these PaaS vendors are transforming their approach and moving toward improved technology models. For example: presently, Openshift transferred from its own container model to the Docker based container model. The same transformation performed by Cloud Foundry, through its internal Diego solution.
Generation 03: Currently, third generation of PaaS is purely focused on container models. The new PaaS platforms like Deis, Dawn, Octohost, Flynn and Tsuru are purely built on Docker based container models. These platforms build around Docker from scratch. Moreover, these PaaS models are deployable on public IaaS clouds or on their own servers.
❖ PaaS Delivery
The delivery model of PaaS is similar to SaaS, except instead of delivering the software over the internet, PaaS provides a platform for software creation. This platform is delivered over the web, and gives developers the freedom to concentrate on building the software while still not having to worry about operating systems, software updates, storage, or infrastructure.
PaaS allows businesses to design and create applications that are built into the PaaS with special software components. These applications, or middleware, are scalable and highly available as they take on certain cloud characteristics.
- Benefits of PaaS
One of the major benefits of platform as a service PaaS is its ability to improve a developer’s productivity. PaaS provides direct support for business agility by enabling rapid development with faster and more frequent delivery of functionality. It does this through continuous integration techniques and automatic application deployment. PaaS also enables developers to realize the cloud’s broader benefits.
1. Pay as you go method
Users only pay for the services procured, so there is not any wastage of resources. Pay-as-you-go method permits you to be charged only for what you use. Some PaaS providers charge monthly fee to access their platform and the apps. It is important to discuss pricing before engaging their services.
2. Speed, Flexibility and Agility
PaaS provides better flexibility, speed, and agility to the development process. By providing a predictable, application infrastructure, enterprises don’t get bogged down with enabling applications and can meet the customers’ needs
3. Scalability and Performance
Cloud can be scaled to meet your growing IT system requirements.
Regarding performance, it is the PaaS provider’s responsibility to ensure that customers’ services run without any hurdle and, also to provide them with the ability to access their resources via dashboards for better performance.
4. No backup overheads
Storage spaces and backups require costs for maintenance, power, and cooling, which all drain a company’s budget. These are not required with PaaS solutions, as PaaS eliminates the need for backup and storage. It will ultimately result in substantial savings.
5. High Network bandwidth
It’s very important for deployment process of a web app to perform testing to see how it performs in different frameworks. It often results in a network-wide slowdown, but with PaaS, the entire process of testing can be done on the cloud computing servers.
Web-based creation tools
There is no need to separately license, install and maintain a set of tools for creating applications. PaaS services already provide you with the necessary environment. Web-based tools allow developers to work from any place with a wide array of devices.
7. Zero software maintenance
PaaS in cloud computing provides all the management and upgrades of both hardware and software, so that the users can focus only on their business.
PaaS platforms help you focus on code, not management, so you can build, test, and deploy applications without worrying about IT tasks or waiting for days to get servers ready for writing code.
- Collaboration tools
PaaS provide a number of powerful collaboration tools allowing geographically dispersed development team to focus their efforts on creating and delivering a single piece of software.
❖ When to Use PaaS
There are two primary user groups that benefit from using Cloud at the PaaS level (compared to at an IaaS level): Enterprises with their own intern software development activities and independent software vendors (ISVs) interested in selling SaaS services on top of a hosted PaaS.At the same time there are many situations that utilizing PaaS is beneficial or even necessary. If there are multiple developers working on the same development project, or if other vendors must be included as well, PaaS can provide great speed and flexibility to the entire process. PaaS is also beneficial if you wish to be able to create your own customized applications. This cloud service also can greatly reduce costs and it can simplify some challenges that come up if you are rapidly developing or deploying an app.
❖ Examples of PaaS
There are numerous PaaS examples out there that can be divided into several categories depending on their focus and specifics of distribution method they use.We have public (Heroku), private (Apprenda, OpenShift, Cloud Foundry), and hybrid (IBM Bluemix) PaaS solutions. There are also mobile PaaS solutions, specifically designed to provide capabilities for developing mobile applications. There are also PaaS systems, specifically aimed to allow rapid development. The most famous among those are Mendix and Sales Force.
Apart from that, there are also open source based PaaS solutions, designed to allow applications to run in an open source environment, rather than hosting them. A famous example of such platform is Google App engine.
- More about Cloud Foundry
Cloud Foundry, a VMware-led project, is the world’s first ‘open’ PaaS offering. It provides a platform for building, deploying, and running Cloud apps using Spring for Java developers and other JVM languages/frameworks,including Rails, Sinatra, Node.js, Groovy, Grails,and Scala. Cloud Foundry is an application platform which includes a self-service application execution engine; an automation engine for application deployment and lifecycle management; a scriptable command line interface (CLI) for integration with development tools to ease development and deployment processes; an open architecture for quick development framework integration; an application services interface; and a Cloud provider interface. One of the core tenets of Cloud Foundry is that it is free from underlying infrastructure. This gives users the option to use their existing infrastructure (desktop, datacenter and private Clouds) whilst still leveraging all the benefits of PaaS.
- If you have questions about the cloud (IaaS and PaaS) and how your next application could benefit,please reach out to The Pishro Group.Our cloud computing team has a reputation for providing right-sized solutions to the most complex challenges with which your business is faced.
We hope that definition and examples above made the PaaS much clear for you .However, PaaS offers keep gaining popularity. Extensive collaboration tools, ability to spread out costs over time and the fact that there is no need to worry about setting up and managing middleware is what makes developers use PaaS,also we find out PaaS increased support for automated Deployment and Added features/methods for reaching higher availability levels .If you were still considering whether it is worth it to go cloud computing, we hope that the information, provided in our blog helped you to make your mind and embrace this popular and convenient delivery model.