PaaS is probably the biggest revolution in cloud transformation and application development in the last five years. It’s also probably the least well understood.
In a world where everything is “as a service”, what does the P in PaaS really mean?
Infrastructure as a Service, or IaaS, is largely about servers in the cloud, probably virtual ones. You can spin them up and down when you need them and only pay for them when you want to use them. Software as a Service, or SaaS, is largely about software in the cloud. You can subscribe to an application, such as Office 365 and only pay for the number of licenses that you need, for as long as you need them. Platform as a Service, or PaaS, is largely about what exactly? Platforms? It’s really not a very helpful name, is it?
So let's start with the ‘Why’ instead and work back from there. Why PaaS? What does it do? Why does it matter? Well, it is a completely different approach to architecting, building and scaling complex cloud-first applications that:
- Drastically reduces the time to market for new applications
- Significantly reduces the effort required to maintain applications and infrastructure
- Reduces the time to scale up and scale out your operations to near zero
- Makes the very latest innovations in technology, data and AI available for immediate adoption
- Reduces friction to change by making use of highly flexible, loosely coupled, software and infrastructure services
Here at Dootrix, we have successfully leveraged PaaS to reduce application development time by over 80%, scale-out infrastructure into new territories in a matter of minutes, and implement demanding performance and security requirements in just a matter of days. Statements like this sound like they are hyperbole but in-fact, if you understand how PaaS is transforming the cloud, they are just a matter of fact. In the rapidly evolving world of cloud and cloud transformation, it’s the difference between travelling by horse and travelling by car. It’s just that in this world, there are a lot of people still trying to sell you horses and a large number of organisations that have never even seen a car!
The database example
Most IT decision-makers understand what a database is and how its usage and complexity has had to scale over time, both with the evolution of technology and with the growth of business operations. Let us use the humble database then, as our introduction to PaaS-ification.
It’s the 1990’s and we are in the pre-cloud era. You have either procured a bare metal server, or perhaps a VM. You have access to the machine and a whole bunch of contracts that lock you into various service levels for years to come. You install a database server and start using it to run your stock control.
Security threats mean you have to patch the OS regularly. Updates to the database software mean you have to install updates regularly. You need to make regular backups. Maintaining this system is becoming a full-time job. On top of this, the business is growing. First, your disk space starts to run out. Then your CPU starts to struggle with the increasing load on the system. You go back to the service provider to re-negotiate and up-spec but there is a heavy cost associated with this. There is downtime and re-configuration. It takes weeks or even months to get the upgrade done. You need to invest in a larger backup capability now but also, under a new policy, you have to store multiple off-site backups. You need to procure even more kit and train even more people to make this happen efficiently.
It’s now 2010 and your cutting edge business has migrated its database servers and related applications to the cloud. You have employed a strategy known as ‘lift and shift’ where you have taken your ‘on-prem’ systems and literally migrated them into VMs in the public cloud. This could not have come at a better time as you have extended your operations overseas. The move to the cloud means that you are no longer locked into complex contracts and can move faster. It’s much easier to upgrade your infrastructure and it’s now possible to mirror it in another data centre in APAC without having to negotiate with another service provider. However, some things are still the same. You are still having to constantly re-build VMs and consider memory and disk space usage. You still have to employ a handful of system administrators to ensure the system is regularly patched kept up to date. Figuring out how to replicate/share data efficiently across different territories is even harder now. Backup and security are becoming a significant headache and the performance demands are increasing exponentially. You are having to make constant tweaks to the infrastructure.
It’s now 2019 and you have just completed a migration of the database servers. You have adopted something called Platform as a Service. In particular, you have employed one specific service out of hundreds of ‘platform services' to handle just your database needs. This particular service is called SQL Database Service on Microsoft Azure.
This has been a bit of a revelation. There are no VM’s to maintain. There are no hard limits on disk space and compute. You only get charged for what you use and the whole thing scales elastically and automatically with the needs of your business. There are no software updates to manage. There is nothing to patch. You don’t even know what the underlying operating system is anymore and you don't need to care. Backup is automatic and built into the service. There is a 99.9% uptime guarantee and 1 hour SLA. You can replicate and scale the database into different geographical regions at the click of a button. Large efficiencies in terms of ongoing operation and maintenance mean you have massively reduced your overall cost while simultaneously increasing scalability, capacity and resilience.
Your entire database operation has been simplified by making use of someone else's platform. And this particular platform has been built to make your life as painless as possible by abstracting and automating away everything that isn’t absolutely core to the storing, serving and querying of structured data.
This is the P in Platform as a Service.
Lego for solution architects
The above example focuses on a single platform abstraction, that of the humble database. This is just one PaaS service among hundreds that are available today. Among these hundreds of services, you will find that each one replaces a more traditional function that would have previously taken a huge amount of effort to build, run and operate at scale.
Performant and secure API’s to unlock your systems of record and make data available to third parties can take months and months to build. PaaS services like API Management can make this process as simple as a few lines of configuration while also providing many other benefits ‘for free’ such as logging, reporting and rate-limiting.
Video analytics services can be used to automatically tag and search video feeds. Transcoding services can be used to store and serve media to many different devices in many different formats. App and container services can be used to serve web applications without having to worry about managing web servers. Secure key vault services can even be used to abstract away hardware security modules and dramatically reduce the overhead in dealing with sensitive information.
PaaS opens the door into a world of pre-built microservices that are engineered from the ground up to scale elastically, work well together and solve the problems that are common to all large infrastructure and software projects. PaaS services are like lego bricks for solution architects and cloud-savvy software developers; they enable development at a rapid scale and pace because they are pre-packaged ‘problem solving' services that come ready to use and out of the box.
The cloud is a huge enabler of digital transformation and innovation. It allows organisations to move at a speed and scale that would have been impossible just a few years ago. But the cloud too is evolving. ‘Lift and shift’ is often where the journey starts for established organisations with legacy/on-prem IT but even at this point it is worth considering how PaaS can be used to simplify your deployments. Hybrid IaaS/PaaS solutions can be a great way to start by combining traditional VM’s or containerisation with ‘cloud-native’ alternatives like SQL Database or App Service. However, if you're starting a greenfield project you should definitely consider adopting a PaaS first approach to software development. If you do, I very much doubt you will look back.
Want to understand the impact that PaaS could have on your organisation? Download our free eBook, The CIO's Guide to PaaS now.