What is PaaS?
Platform-as-a-service (PaaS) is a cloud-based computing model that provides clients with a platform that enables them to both develop and run business applications at speeds which usually far exceed those available using on-site solutions. As this platform is delivered via a service provider, clients need not worry about building and maintaining the expensive infrastructure that would normally be required for the development and running of such software. PaaS is usually provided on a subscription basis, which ensures that the costs of the service are pre-determined and easily manageable.
PaaS is one of three main cloud computing service models, alongside IaaS (Infrastructure-as-a-service) and SaaS (Software-as-a-service). These models provide a scaled level of service, starting with IaaS which provides the user with access to cloud-based infrastructure, such as compute, storage and networking. PaaS goes a step further, and in addition to infrastructure access, clients are provided with a platform including the necessary tools to develop, test and manage their own applications. The highest level of service then being SaaS, which provides clients with subscription based, ready-to-use applications that are hosted centrally.
PaaS is usually focused towards web developers and software engineers who do not want to have the extra workload of managing and maintaining the associated infrastructure required to run PaaS services. PaaS can be provided via public, private or hybrid cloud hosting solutions and are designed to support the complete application lifecycle of building, testing, deploying, managing and updating, according to Microsoft.
Managed Service Providers (MSPs) typically provide the host operating system for server-side scripting, the host application (often a programming language), and, frequently, a database (MySQL, Postgres SQL, etc). They will also host the server software, including automatic upgrades and patching, technical support, the backend storage platform, hosted network access, and often specific tools to aid in the design and development of applications.
Programming languages such as Go, Node.js, Java, PHP, Python, and Ruby are frequently bundled with PaaS services. You will essentially be given access to server with one or more of these languages installed and configured automatically, and all other platform services, such as software configuration files, will automatically be configured for you by the provider. Access will be via a web browser, SSH or thin client. This allows the user to focus on the code and software to run on the platform service.
As cloud services have matured, the content available on a PaaS has changed and evolved. More features are being added, and the landscape of PaaS is changing rapidly. Due to these changes, the service model division lines between IaaS, PaaS, and SaaS are shifting and often overlapping. Cloud storage platforms, payment gateways, and automated WordPress deployments are examples of how the classification of PaaS has changed in recent years. Implementing code in Docker containers is another popular recent addition to PaaS service providers portfolio.
Currently, the most popular choice of cloud-based computing service is SaaS. This is because this delivery system offers ease of use as well as savings on time and cost, with a reduced need for maintaining on-site infrastructure. Whilst PaaS is currently the least popular model of cloud-based service, it is growing in popularity more rapidly than either IaaS or SaaS.
Organizations who opt to use PaaS for their business needs can expect to benefit from its many advantages. The major appeal of PaaS over SaaS is the freedom clients must develop their own software for use on the platform. Clients also have full control over which users can access this software and the overall maintenance of the software. The service provider will generally manage all other aspects of the infrastructure, ensuring that while clients have the freedom for application development, they also have the required support in place. As applications developed using PaaS are often accessed via the Internet, this means that they can be accessible to colleagues scattered across different geographical locations.
As use of PaaS increases, organizations are finding that they must choose the right PaaS cloud service provider for their project. Consuming PaaS services can lead to vendor lock-in, meaning that your code has been designed to run on a particular service provider’s infrastructure, so you want to make sure the MSP is still at the forefront of Cloud PaaS services now and in the future. Performance also must be a serious consideration; often the larger PaaS service providers leverage shared compute, which can mean performance IO decreases for the user. While this may not be widespread, it is always imperative to think of the future of your code when opting for a PaaS cloud provider to ensure your code will run quickly and efficiently.