Cloud computing models typically designed and consumed around three main layers – IaaS, PaaS and SaaS. Whilst PaaS services are ideal for developers wanting to build cloud native applications they can also provide value in simplifying and automating existing IT operations.
What is PaaS?
PaaS, or Platform-as-a-Service, is one of the three categories of cloud computing. In this particular model, software tools and services will come from a third-party provider. These tools are usually those that are commonly needed and used for application development.
When you consumed PaaS services you are typically consuming the building blocks to develop and deploy cloud native applications. This approach for application development allows for rapid development cycles along with enhanced functionality that may not be available to on-premise applications.
PaaS provides rich database and middleware technologies typically consumed as services through web based API calls. PaaS allows organisations to focus on building and deploying applications without the overheads and lead times associated with standing up on-premise application development environments.
There are a huge number of PaaS services available across different database and middleware technologies. Many of the PaaS services can be consumed on transaction or use basis as required. This is a completely different approach to on-premise application development where environment lead times and available technologies can limit the value of solutions developed. Cloud native applications can use rich functionality from database, mobile, integration, analytics and AI PaaS services to significantly enhance the value of the application.
PaaS allow developers to collaborate virtually across the internet. This approach can help reduce the development cycle along with increase the quality of the application. Developers using and working with PaaS services over the internet removes the time and location constraints involved with on-premise development environments.
PaaS services can also be used to simplify and automate operational procedures. Many database and middleware PaaS offerings include patching and backups as part of the standard service offering. This can considerably reduce the effort associated with repetitive operational tasks.
What is the difference between PaaS, IaaS, and SaaS?
As mentioned, cloud computing has three categories – PaaS, IaaS, and SaaS. Each category serves a specific purpose, although if you haven’t fully encountered these terms yet, you may find them confusing and hard to differentiate from one another.
IaaS or Infrastructure-as-a-Service is the provisioning and consumption of hardware IT resource as a service. Typically these include networking hardware, storage, and servers in the most simple case. Typically we see rich IaaS services coming to market across load balancing, storage resiliency, detailed billing, log access, monitoring, and security.
Software-as-a-Service or SaaS, on the other hand, is the provisioning of software applications over the internet. SaaS applications deliver fully hosted applications to the end user without the requirement to install any software or infrastructure, on-premise, IaaS or PaaS based.In this cloud computing category, all software and infrastructure required to deliver the application is owned and managed by the SaaS provider. Customers typically own the data in a SaaS environment – yet data ingress/egress is typically via SaaS specific API calls.
When to use IaaS, PaaS or SaaS?
As a CIO, how do you know when to use each of them, or all of them? It is important to fully understand each category so as to not to confuse one with another.
Good for lift and shift where existing systems and applications do not require changes or enhancements. Useful where elasticity is required across compute, storage and network layers of the infrastructure stack. Logical first step when vacating an existing data centre.
Good natural fit for cloud native application development. Can offer huge benefits when complimenting existing on-premise systems by modernising or enhancing legacy applications. Useful when PaaS services can be used to automate and reduce the effort associated with repetitive support tasks.
Used to provide business applications over the internet. End users can be provided with powerful applications supporting Finance, Human Resources, Supply Chain & Inventory Management. Complex SaaS applications can still require significant time to configure, migrate and test yet require little to no ongoing software and hardware maintenance or management.
PaaS pros and cons
As with any other kind of services and products, PaaS has its own share of pros and cons. The most recognizable advantage is of course the speed and convenience at which often complex database and middleware software can be consumed. Enterprise ready database and middleware platforms that can typically take many months to establish in an on-premise environment can be consumed with a few mouse clicks through a web browser.
Another benefit of this model is that the database and middleware software that typically makes up PaaS can be scaled quickly and easily as required. This allows for applications to be developed on enterprise class software without requiring massive up-front capital investment in software licenses. All the benefits of cloud pay as you go and elasticity apply to PaaS services.
One negative element of PaaS is that you must use the configurations and versions of software offered by your service provider. For organisations with unique requirements or require the latest versions of software PaaS may be too restrictive.
PaaS also has an element of lock in to a particular cloud vendors services. Development and optimisation of a cloud native software application on one cloud platform may make it prohibitively expensive to migrate to another cloud platform should there be reason to do so.
PaaS also requires developers to understand the API and tooling of the particular platform. Deployment of complex cloud based architectures will require training and investment in cloud platform specific tooling. Re-deploying PaaS services to a different vendor would require reworking any automation or development frameworks implemented to support cloud native application development.
Leading PaaS Vendors
With several PaaS vendors and providers available in the market, how do you know if one brand will suffice for all your cloud computing needs? It will greatly help to know first about the latest leading PaaS vendors so that you can consider which providers are best suited to your needs.
Comprehensive set of PaaS services across database, integration and middleware software stacks. Well established development environments supporting cloud native applications across a huge range of technologies. Implementing innovative technologies in serverless computing and AI/ML capabilities.
Acquisition of Mulesoft brings heavy presence in the integration space. Tableau acquisition makes Salesforce a strong contender in the BI/Analytics space.
Powerful capabilities across database and middleware with Oracle Autonomous Database and enterprise class Oracle Weblogic middleware stacks. Strong enterprise level offerings around Identity Management, Integration, Security and BI middleware products.
Strong PaaS middleware and database capabilities with a focus on Microsoft technologies. Seamless integration for existing Windows Server environments and systems built on the Windows platform. Offers ability to run “other” applications such as Oracle Database, PostgreSQL database and container based app deployments.