Focus on applications: platform as a service (PaaS)

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, what are the most used ones and why use them in the cloud?

Kamil Kovář

 

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

The application architecture also depends on the way the software is programmed 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 orchestrating the entire environment, checking and resolving exceptions is a significant burden. It increases technical debt, complicates the deployment of changes, and reduces the security and availability of applications.

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 platform services or PaaS are for

In general, as nicely described by my colleague Jakub Procházka in his article on IaaS, public cloud providers differentiate services according to the model of sharing responsibility for running them. Platform services are the ones that relieve us of the normal operational and bottom-line responsibilities that don’t directly relate to the applications, which is what this is all about.

 

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

 

Thus, the cloud provider manages all parts of the infrastructure, from storage and networking to virtualization to the operating system and runtime (i.e. 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 an environment for developing, deploying or running applications (or supporting scripts), storing data and manipulating or integrating it. 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: an overview of typical services

Let’s try to list a few examples of 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 probably don’t cover everything in 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 a managed operating system or container platform that greatly simplifies the general running of applications. If we consider a Kubernetes solution that allows us to run truly cloud-native applications as a cloud standard, we reach for Azure AKS or AWS EKS service.

There are other services or ways of running containers that have more or less configurability, e.g. easy-to-operate Azure Container Instances and Amazon ECS.

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

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

Related to application publishing are content delivery network services represented by Azure CDN and Amazon CloudFront, which enable massive global coverage of a web or media service across continents with coverage of all the caching, synchronization and load distribution solutions that this brings.

Then there is data storage, which can be perceived on multiple levels. Primarily there is block, object or blob storage, which in managed mode can also fit into platform services, but we usually think of them as IaaS.

Most often, however, we include in PaaS a large number of managed database services, whether native, developed tailored to cloud services directly by the AWS RDS or Azure SQL provider, or classic 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 Instances that are almost completely compatible with an on-prem MSSQL server.

When working with the cloud, you pay for data downloaded from the cloud, but it is not a problem to get a large volume of data into the cloud and let business analytics run there 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.

Machine learning and AI services are modern and growing trends where setting up a complete environment, the necessary data warehouses and tuning in on-premise can be time consuming compared to using ready-made and pre-configured services like Azure Congnitive Services and Amazon Sagemaker.

Other complementary, widely used services are messaging and integration services, MaaS (Messaging as a Service) and message queues. Representatives are Azure Service Bus or Amazon MQ for service bus services or Amazon SNS and Azure Notification Hubs for a simple notification system between systems.

Last but not least, PaaS includes of course the popular and well-established Serverless, to which we dedicate a separate article, just because of the popularity of the topic. Let’s mention at least the names of the main Azure Function and AWS Lambda providers’ core services. Here, the infrastructure and platform are completely abstracted and the user of the service is dedicated only to writing and executing 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 minimizes that wasted time so we can focus on the work itself.

 

Advantages and disadvantages of PaaS | ORBIT Cloud Encyclopedia

 

Conclusion

Today, we can choose from a wide range of excellent business and technical software that is provided as SaaS, including the necessary integrations. However, the engine of business is and will be tailor-made applications, adapted to the business model of a given organization and providing uniqueness and therefore market differentiator. But for this, usually smaller part of the application portfolio for which there is no SaaS alternative, it doesn’t make sense to build demanding in-house IT and keep it running. This is where PaaS platform services have their place.

 

This is a machine translation. Please excuse any possible errors.

 

About the Author
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

Encyklopedie cloudu

Icon
Encyklopedie cloudu
Zavřít

Cloud encyclopedia

Icon
Cloud encyclopedia
Close
Loading...