Cloud Computing Stack 101 (II): PaaS
Even most non-techy people probably have an idea of what cloud computing is by now, but when you start getting into SaaS, PaaS, Iaas – even those of us in the industry can struggle.
In a nutshell Platform as a Service (PaaS) is an abstracted and integrated cloud-based computing environment that supports the development, running, and management of applications. What exactly is it? Read along and learn it all!
What is PaaS?
Well, there does seem to be some confusion around PaaS. It’s a bit like middleware, both in what it does and in that people had trouble to understand (middleware) 10-15 years ago.
For us, PaaS is a set of services aimed at developers that help them develop and test apps without having to worry about the underlying infrastructure.
Developers do not want to have to worry about provisioning the servers, storage and backup associated with developing and launching an app. They want to write code, test the app, launch the app, and be able to continually make changes to it to fix bugs.
All the back-end stuff about setting up servers should be done automatically and transparently in the background, and that is the promise of PaaS.
So then what is the difference between PaaS and middleware?
Middleware is a software layer that offers sophisticated features to developers – transactions, security, clustering, etc. – so they can focus on building their custom applications instead of solving those hard problems repeatedly.
But middleware is only “static” software in the sense that you still have to configure it, deploy it on servers, manage and monitor it, which was typically left to IT teams to do.
PaaS is a superset of middleware and offers all these good middleware services to developers, in addition to covering the operational aspects that were typically owned by IT teams.
More than just tools
As suggested by the name, platform as a service is more than just an out-of-the-box development tool. As part of their ongoing subscription fee, businesses will also receive additional support from their PaaS provider.
For example, the PaaS vendor is charged with maintaining and securing all of the software development tools at the customer’s disposal. If a business was to start its own software development project from scratch they may need to purchase new hardware and software and set up security protocols like access management. With PaaS, businesses can simply log-in through an online portal and focus on application development.
Another important feature of PaaS is the way in which the cloud services are constantly updated. It can prove extremely costly and time-consuming to overhaul in-house IT systems, but with PaaS, upgrades occur on a regular basis. It should also be straightforward for developers to request changes to their PaaS offering – for example, if they wish to develop for a different operating system.
Collaboration is also a major aspect of PaaS. Vendors can help developers across all points of the development cycle from the idea stage to deployment.
Risks of using PaaS
- Integration – integrating PaaS solutions with in-house IT systems, particularly legacy tools, can be challenging. Even if businesses do successful integrate their PaaS service, it could lead to an increase in IT complexity.
- Vendor lock-in – as with other instances of cloud computing, vendor lock-in is a risk when adopting PaaS. Businesses will be relying on their vendor’s infrastructure and software and switching to a different supplier can be challenging. It is vital that businesses take their time before committing to a PaaS vendor, making sure that their business goals are aligned.
- A lack of control – with PaaS, businesses are trusting their cloud supplier with their application development platform, but this trust is not always rewarded. PaaS downtime, for example, is completely out of your control, but can have significant consequences for your software development cycle. Also, if your provider suddenly changes its business trajectory, stopping the support of a particular programming language for example, development can be disrupted.
- Security concerns – although the reputation of cloud computing is improving all the time, some businesses may not feel entirely comfortable hosting their applications with a third party. Businesses dealing in sensitive datasets may be subject to greater regulatory scrutiny and may not be able to adopt PaaS for compliance reasons.
The reasons behind PaaS adoption
The platform as a service market is estimated to be worth $2.8 billion and is expected to reach a value of $68.3 billion by 2026. The growth of this industry is connected to the development of cloud computing generally, and infrastructure as a service in particular. The majority of business that deploys PaaS, are also implementing IaaS.
One of the major benefits of PaaS is that it opens up the software development process to include experts and non-experts alike.
Because the features of a PaaS solution can be as complex or simple as required, many platform as a service tools allow anyone to develop software. The use of point-and-click frameworks mean that technical know-how is no longer a barrier to turning a great idea into a great application.
For businesses looking to embrace platform as a service it is important to remember that it will not solve all of your development issues.
Organisations are still tasked with the creation, testing and deployment of their applications. Even with the support of your vendor, there remains plenty of work to be done in-house in order to create software that meets your business objectives.
That being said, PaaS, when deployed correctly, can be a great way of streamlining the development process and allows businesses to access powerful tools that may have otherwise been out of reach.
Perhaps your business is already using PaaS? Share your story with us!