Understanding PaaS | For Beginners with Practical Scenarios

PaaS“,  this buzz word has been introduced around 2015 with the evolution of Cloud Computing. There are multiple articles explaining the famous IaaS Vs PaaS Vs SaaS diagram but only few talks about the real case. I know people still confuse about the same hence thought of writing a series. This is the first part which explains PaaS For Beginners. So lets get started

What is PaaS

“Platform as a Service” or PaaS is a hosting Model in which instead of providing the bare metal machine or a basic OS you provides a Platform on which you need to build something for end users. Sometimes PaaS referred as “Server Less” as well.

Unlike SaaS here you have to build you application first before consuming the same. SaaS services generally have only the end user URL for access but in PaaS you get the underlying platform and have control over its monitoring. You are responsible of your code and queries and can have multiple application running on a common PaaS service. In a typical SaaS service you can only do the Identity Management, Role base access and application configuration where in PaaS much more options are available based on service type.

Unlike IaaS you do not have control over the underlying machine. You can’t RDP or SSH to the machine. You simple get some API’s or an interface to interact with your service. Maintenance and Patching of Operating System is not your responsibility.

Different Type of Services in PaaS

Some PaaS services exists globally in Public Cloud, Private Cloud and On-Premise as well. Open Shift, Cloud Foundry, Service Fabric, Kubernets are typical example of Enterprise PaaS Platform which can sit in all the 3 worlds. Benifit of such services is that ther is no vendor lock-in. You can move from one vendor to another. However the Management and Maintenance of platform becomes more of your responsibility and less of Vendor’s.

There are services which are specifically provided by Public cloud vendors like Microsoft’s Azure SQL, Amazon’s AWS RDS, Google’s GCP BigQuery etc. such services provides Vendor lock-in as other vendor does not offer the same service. If you try to go to a different provider later on, you have to think about migrating from such service. However Management and Maintenance of such services are majorly taken care by Vendor and you have to focus more on to the build and results.

Example | Some Popular type of PaaS Services

DBMS system is a typical example. Here vendor host the DBMS for you and You build you own Databases which need to be consumed by end user or other applications.

Benefits you get here includes No management of DBMS, Inbuilt monitoring, auto backup, optimization of queries with minimal intervention etc.

Examples include Azure SQL ,Amazon Relational Database Service (RDS), Google’s Cloud Table, Cloud Spanner  etc.

Web Application Hosting Service is another popular use case. Here you provide the Run time for you web application like PHP, Java , .NET, GO, Node etc. and a storage where you can host the application files via FTP.

Benefits you get here is Inbuilt application monitoring, Error logging, No run time management, Auto Patching etc.

Examples include Azure Web App ,Amazon Elastic Beanstalk, Google’s App engine  etc.

Container Orchestration Service is another one which is very hot these days. Weather it is Docker Swarm, DC OS or Kubernetes, Vendors helps you in managing the cluster. You simple works on creating the containers and adding new slave nodes to the cluster platform. Master node and related task is managed by the Vendor.

Benefits No need to manage the master node. All complex task of managing services are taken care by the vendor. Simple interface to control the master and its update/patching process is easy.

Examples include Azure Container Services (AKS) , Amazon Elastic Container Service (ECS), Google’s Container Engine (GCE) and Google’s Kubernetes Engine (GKE)

BigData  Service is also picking up the heat. Under this category services you will get the cluster built for you. You simple specify parameters like size and type and in result you will get the up and running Cluster with right platform/run-time deployed on it. You get interface to interact with the platform and some tools to monitor the health.

Benefits Tedious task of setting up the cluster is not on you. Cost effective as you can start/stop the cluster on demand. No upfront investments are needed for setting up the workload. Monitoring and Patching is Vendor’s responsibility.

Examples include Azure Data Lake, HDInsight, Amazon Redshift, Elastic Map Reduce (EMR) , Google’s BigTable, BigQuery etc.

I hope it must have clarified some doubts you might be having around PaaS. I will be working on another post under same series which will explore more of PaaS area and will go in more detail. Please provide your feedback so that i could try to incorporate those in my future articles. Enjoy working with Cloud 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *