Cloud Service Models Explained: SaaS, PaaS, IaaS, Middleware, and Runtime Environments

SaaS- Software as a Service is an architecture where software applications are hosted and managed by cloud providers and delivered to users over the internet. Instead of installing and maintaining software on individual devices (downloading and consistently updating the app), the user can access the application through a web browser. In a SaaS, the cloud provider manages the underlying infrastructure, security, updates, and maintenance. The user does not interact with anything but the app. Common SaaS are gmail, yahoo, zoom, slack or dropbox. 

IaaS- Infrastructure as a Service is a cloud computing model that provides virtualized computing resources over the internet such as VMs, storage, networking, and other infrastructure components. This model gives the most control out of the other models. The user is responsible for maintaining the: 

  • OS 
  • OS security patches 
  • Applications
  • Data 
  • Middleware 

Definition: Middleware is a software layer that acts as an intermediary between operating systems, applications and databases that enables communication, coordination, and data exchange between different systems. Its primary role is to allow different software systems which may be written in different programming languages or reside on different platforms (Mac , Linux) to communicate seamlessly with one another. Middleware provides services such as API communication, authentication, database connectivity, and messaging. 

Middleware Duties: 

  • Process and route API requests 
  • Authenticate API credentials 
  • Authorize access 
  • Translate between data formats (JSON, YAML, XML)
  • Enable data exchange between different systems (applications getting data from a database) 

PaaS- Platform as a Services is a cloud computing model that provides a managed platform allowing developers to build, test, deploy, and manage applications without needing to manage the underlying infrastructure such as servers, storage, networking, and operating systems. The cloud provider supplies and maintains components such as runtime environment, developer tools  (IDE, debugging tools), middleware, and database services. PaaS allows the developer to focus on writing and shipping application code, rather than having divided attention to infrastructure and application code. 

Definition: A run time environment is the system including the OS and supporting software components (python interpreter, python libraries) that provide the necessary resources and services needed to execute. Without a runtime environment, an application is just a file instead of a running application. 

Leave a Reply

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