Platform as a Service (PaaS)

In the PaaS models, cloud providers deliver a computing platform, typically including operating system, programming-language execution environment, database, and web server. Application developers can develop and run their software solutions on a cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers.
The term “platform as a service (PaaS)” is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), software as a service (SaaS), desktop as a service (DaaS), managed software as a service (MSaaS), mobile back-end as a service (MBaaS), and information technology management as a service (ITMaaS).
Tool: Cloud Foundry is an open source cloud computing platform as a service (PaaS).

Software as a Service (SaaS)

Software as a Service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as “ondemand software”. SaaS is typically accessed by users using a thin client via a web browser. The term “software as a service” (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), platform as a service (PaaS), desktop as a service (DaaS), managed software as a service (MSaaS), mobile back-end as a service (MBaaS), and information technology management as a service (ITMaaS).

DBaaS (Database as a service – Cloud Database) is a database as a service model. Application owners do not have to install and maintain the database themselves. Instead, the database service provider takes responsibility for installing and maintaining the database, and application owners are charged according to their usage of the service. Known vendors are Amazon Web Services (AWS), CenturyLink, Citus Data, ClearDB, EnterpriseDB, Google, IBM, Microsoft, MongoDB, Oracle, Rackspace, Redis Labs, and SAP.

Function as a Service (FaaS) or serverless computing, is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function’s container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.

Despite the name, it does not actually involve running code without servers. The name “serverless computing” is used because the business or person that owns the system does not have to purchase, rent or provision servers or virtual machines for the back-end code to run on.

Serverless code can be used in conjunction with code written in traditional server style, such as microservices. For example, part of a web application could be written as microservices and another part could be written as serverless code. Alternatively, an application could be written that uses no provisioned servers at all, being completely serverless.

Serverless code can either be triggered by specific events (such as user registration with Amazon Cognito), or be configured to run behind an API management platform in order to expose it as a REST API endpoint.