PaaS is platform-as-a-service – a way for developers to create apps without having to worry about the underlying infrastructure. Learn more in our article.
Do you keep hearing about PaaS (or "platform-as-a-service") and feel unclear about what it is? Then this article is for you. It's a quick run through the basics of PaaS that steers well clear of jargon.
However, we have to admit that it's nearly impossible to talk about PaaS without also mentioning IaaS and SaaS. So let's get some definitions out of the way before we get stuck into PaaS proper.
IaaS is infrastructure-as-the-service. It's when vendors virtualise the compute, networking and storage resources of a data centre. The user – usually a sysadmin – can then access and configure them in a way that suits their business's goals, resources and budget.
Then there's SaaS. This is software that you don't have to install on your machine. If you use Netflix or Gmail then you're using SaaS. These pieces of cloud-based software are typically available on subscription rather than through a single license fee.
If IaaS and SaaS are the slices of bread in a digital sandwich, PaaS is the filling. It uses the virtualised resources that reside in IaaS to create a platform for app development (among other things, as we shall see).
It's often said that PaaS is like car rental. You don't have to pay for the vehicle or its repairs and you're not going to get the hubcaps replaced or change the upholstery. You are, however, paying at the pump – and you're the one behind the wheel.
What is PaaS used for?
PaaS is most often used to develop and customise cloud-based mobile apps, websites and APIs. It can, however, be used for other things.
It can be an alternative to Kubernetes as a way of automating software lifecycles and creating agile development workflows.
It often comes with tools that can be used for data analysis and business intelligence.
It also supports a host of programming languages, tools and app environments that allow for the development of IoT (internet of things) applications and data processing for IoT devices.
Finally, it can be used to simplify app migration to the cloud through re-platforming or refactoring (two of the main ways that migration takes place).
Who provides what?
With PaaS, the vendor provides virtualisations of servers, storage, networking, operating systems and runtime. The dev using PaaS provides data and apps.
What are the advantages of PaaS for developers?
Perhaps the biggest advantage of PaaS is the speed and ease with which you can get an app up and running. At bottom, it's convenient for developers. It decreases (or eliminates) the need to manage infrastructure, carry out maintenance tasks and look after dependent services.
PaaS is the 3D printer of the digital world. Just as a 3D printer can create a proof-of-concept much faster than traditional moulds, so PaaS lets you spin up (and destroy) proof-of-concept apps with ease. It takes the brakes off your imagination and lets it cruise.
PaaS is an area of the cloud that's rich in tools, apps and APIs. It's remarkably easy to plug those services into your development process – partly because you don't have to worry about runtime, servers and other infrastructural complexities.
And last but not least, it can save you money. Your app doesn't have to be overseen by a full-time sysadmin. Devs have greater freedom to play with ideas without breaking the bank.
What are the disadvantages of PaaS?
The main one is that a dev using PaaS has a lack of control over infrastructure. They can't fine-tune the OS or other functions that have been virtualised. Similarly, they can't prevent the provider from experiencing an outage – and if the vendor changes the product in a way you don't like, you're stuck with it.
Of course, from another perspective, this is an advantage. Many devs prefer these functions to be outsourced, either from convenience or because they don't have the skills to juggle both.
Another issue is vendor lock-in. Once you've developed your app, it can be hard to move it from one cloud to another unless you're using an open-source framework. This means you need to be sure that you've chosen the right cloud provider.
Related to this is a compatibility issue that can dog devs. It can be tricky to use PaaS offerings in conjunction with existing dev platforms.
Finally, PaaS isn't always good for rolling out an app at scale. Nine times out of 10, a proof-of-concept app will perform better on a dedicated server than on a PaaS offering.
Where can PaaS be deployed?
PaaS can be deployed in private, public or hybrid cloud environments. Not sure what the difference is? Check out our
explainer article
.
What are some examples of PaaS?
Every leading cloud service provider has a PaaS offering. That means AWS, Google Cloud, IBM Cloud and Microsoft Azure.
Then there are smaller software vendors with offerings like Red Hat OpenShift and Salesforce Heroku.
Finally, there's the world of open-source PaaS, two notable examples being Apache Stratos and Cloud Foundry.
What's next for PaaS?
The big names in cloud provision are beginning to offer AI-platform-as-a-service (AIPaaS) which, as you'd expect, is a platform for developing and deploying AI applications.
As well as this, it's likely that PaaS offerings will expand their list of first- and third-party integrations in the coming years. This should reduce the compatibility issues that we mentioned above.
Conclusion
PaaS gives devs a whole host of benefits. It cuts out the need to look after infrastructure, enabling them to spin up new app ideas almost in real time. From management's perspective, it can unlock cost savings and encourage creativity.
It's a key part of the digital transformation that so many enterprises are embracing. Are you going to join them?
Are you looking for a
managed cloud migration service
? At Ascend Cloud Solutions, we've handled more than 400 cloud migrations and counting.
Get in touch
today for a no-obligation consultation.