Focus on applications: platform as a service (PaaS)

Focus on applications: Platform as a Service (PaaS) | ORBIT Cloud Encyclopedia

What are platform services or PaaS for? Which are the most used ones and why use them in the cloud?

Kamil Kovář

Edited 30 Aug 2023

I'm seeing a steady increase in the number of virtual servers that exceeds the number of employees in enterprise companies. I attribute this to both the tendency to abandon monolithic applications (hooray!) and the increasing complexity of external links. The plethora of new servers with their own operating system and platform, on which some application part or microservice runs as a result, creates a huge internal pressure on change management and associated operational and licensing costs. Is there any reason to think that moving to the cloud will improve the situation?

The application architecture depends on the way the software is developed and packaged. Until we are able to help ourselves with containers, we still have to directly manage operating systems and various forms of middleware - from databases to application platforms or various forms of virtualization layers.

Automating manual intervention for deployment, patching, hardening and configuration changes is a necessity from a certain volume of systems onwards. But orchestration of the whole environmentchecking and dealing with exceptions is a significant burden. It increases technical debt, complicates change deployment, and reduces application security and availability.

So how to avoid the same situation of thousands of small change management tickets in the public cloud, how not to go from rain to shine? Let's use platform services as a priority!

What is Platform as a Service for?

As described by my colleague Jakub Procházka in an article on IaaS, public cloud providers differentiate services according to a responsibility sharing model. And it is the platform services that relieve them of the normal operational and bottom-line responsibilitiesthat don't directly relate to the applications that are at stake here.

Types of cloud services | ORBIT Cloud Encyclopedia
Types of cloud services (docs.microsoft.com)

The cloud provider manages all parts of the infrastructure, from storage and networking to virtualization to the operating system and runtime. That is, middleware, framework and anything else that is not directly the compiled application binary itself, its configuration and its data. And that's what we need.

PaaS generally provides us with an environment for developing, deploying or running applications (or supporting scripts), for data storage and manipulation or integration. You can see it nicely in the following picture:

Benefits of Platform as a Service | ORBIT Cloud Encyclopedia
Benefits of PaaS (paradigmadigital.com)

Platform as a Service - overview of typical services

Let's try to list the most used platform services and find their representatives in the main public cloud providers.

For reference, there are more abbreviations tied to PaaS (Platform as a Service), but they don't cover everything that falls into the group:

  • Database as a Service (DbaaS)
  • Functions as a Service (FaaS)
  • Analytics as a Service (AssS)
  • Security as a Service (SecaaS)

The primary service is managed operating system or container platformwhich greatly simplifies the general running of applications. If we consider cloud applications as standard Kubernetes solution that will allow us to run truly native cloud applications, we reach for Azure AKS or AWS EKS on duty.

There are other services or ways of running containers that are more or less configurable, e.g. easily run Azure Container InstancesAmazon ECS.

Next in line is ready environment for running applications written on various general frameworks like .Net, Java, PHP, etc. Typical representatives are Azure App Services or Azure App Service EnvironmentAWS Beanstalk providing a complete managed stack for deploying, publishing and running applications.

When integrating into deployment pipeline we get a flexible environment suitable for the smallest internal applications, sandboxes as well as for global services with distributed performance that would be very difficult to build and manage in an on-premise environment.

Publication of applications is related to content delivery network services represented Azure CDNAmazon CloudFront. They enable massive global coverage of a web or media service across continents. Including coverage of all the caching, synchronization and load distribution solutions that this brings.

And that's not all...

Then there's data storagewhich can be perceived on several levels. Primarily there is block, object or blob storage, which in managed mode can also fit into platform services. However, we usually view them as IaaS.

Most often, we include a large number of controlled database services. Whether it's a native service, tailored to cloud services developed directly by the provider AWS RDS or Azure SQL, or classically proprietary (Oracle) or open source (Postgres, Maria DB), or no sql databases (Azure Cosmos, AWS DynamoDB).

For most common uses, these platforms provide a convenience that allows us to not have a dedicated database team. However, this is not always the case and in large projects DbaaS often does not meet the necessary functionality. For this reason, there are alternatives such as Azure SQL Managed Instancesthat are almost completely compatible with on-premise MSSQL server.

When you work with the cloud, you pay for data downloaded from the cloud out. However, it is not a problem to get a large volume of data into the cloud and let it run business analytics over data collected from various applications about customers, operations, production, etc. Popular platforms are MS Power BI or AWS QuickSight. Applied in a variety of per-user or per-capacity pricing models, they make it possible to get a great tool even for smaller uses where building it on-premise would cost significant and underutilized resources.

That's still not all...

Machine learning, Search services and AI service are modern trends. They come in handy when building a complete environment with, for example, OpenAI, the necessary data warehouses and on-premise tuning can be time-consuming or impossible compared to using ready-made and pre-configured services such as Azure Cognitive ServicesAmazon Sagemaker.

Other complementary, widely used services for message exchange and integration, MaaS (Messaging as a Service) and message queues. The representatives are Azure Service Bus or Amazon MQ for service bus services or Amazon SNSAzure Notification Hubs for a system of simple notifications between systems.

Last but not least, PaaS includes the popular and well-established Serverlessto whom we dedicate a separate article. Let's name the basic services of the main providers Azure FunctionAWS Lambda. Here, the infrastructure and platform are completely abstracted and the user of the service is only concerned with writing and executing the code.

So why use Platform as a Service?

How much time we spend just preparing each new application, web server, database server, ... - often for the sake of sandboxing or testing functionality. Very often we spend more time preparing the platform and environment than testing. Platform as a Service this wasted time is minimized and we can concentrate on the actual work with the software and data.

Advantages and disadvantages of PaaS | ORBIT Cloud Encyclopedia

Today, we can choose from a wide range of excellent business and technical software that is provided as SaaS, including the necessary integrations. But the business drivers are and will continue to be tailor-made applications, adapted to the business model of a given organisation and providing uniqueness and therefore market differentiator. For this, usually smaller part of the application portfolio, for which there is no SaaS alternative, it does not make sense to build demanding internal IT and maintain its operation. This is where PaaS platform services have their place.

About the author
Kamil Kovář
Kamil Kovář

Business Consultant | LinkedIn

Kamil is an experienced consultant and project manager in the field of information technology in various positions in the IT, finance, logistics and telecommunications verticals.

Technical knowledge: project management, business analysis, IT infrastructure, SW development, cloud services