What is Cloud Computing

Cloud Computing is the technology that enables remote use of computing resources — both software and hardware — over the Internet. Instead of maintaining local physical servers, companies and developers use third-party data centers to process data, store files, and run applications.

Key use cases include:

  • Big Data processing — analyzing large volumes of data without dedicated hardware
  • Storage — files, backups, and databases hosted in a distributed and redundant manner
  • Application servers — environments for running APIs, websites, and services without managing physical hardware

The pay-as-you-go model is one of the biggest draws: you pay only for the resources you consume and can scale up or down based on demand.


IaaS — Infrastructure as a Service

IaaS provides the core cloud infrastructure: virtual servers, storage, networking, and firewall and security services. The provider manages the physical hardware, networking, and virtualization, while the customer is responsible for the operating system, middleware, runtime, and applications.

This is the model that offers the most control and the most responsibility. Ideal for teams that need full flexibility over environment configuration.

Examples:

  • AWS EC2
  • Google Compute Engine
  • Azure Virtual Machines
  • DigitalOcean Droplets

When to use: when you need full control over the environment, have a team capable of managing servers, or require very specific network and security configurations.


PaaS — Platform as a Service

PaaS goes beyond infrastructure and provides the operating system and development environment in the cloud. The provider manages servers, storage, networking, OS, and middleware. The customer only worries about application code and data.

It includes development tools, libraries, managed databases, and deployment pipelines. The goal is to accelerate the development cycle by eliminating operational complexity.

Examples:

  • Heroku
  • Google App Engine
  • Railway
  • Render
  • AWS Elastic Beanstalk

When to use: when the priority is delivery speed and the team wants to focus on code without worrying about OS patches, load balancing, or server configuration.


SaaS — Software as a Service

SaaS is a complete application delivered over the Internet, typically licensed by subscription or usage volume. The provider manages absolutely everything: infrastructure, platform, application, updates, and maintenance. The end user accesses the software through a browser or dedicated client.

There is no need to worry about installation, maintenance, or updates — all of that is the provider’s responsibility.

Examples:

  • Google Workspace (Gmail, Docs, Drive)
  • Slack
  • Salesforce
  • Microsoft 365
  • Notion

When to use: when the need is to use ready-made software without deep infrastructure customization and with the least possible operational overhead.


Other models: DaaS, FaaS, BaaS

DaaS — Desktop as a Service

DaaS provides virtual desktops over the Internet. The provider hosts and manages the VDI (Virtual Desktop Infrastructure), while the user accesses a full work environment from any device. Licensing is typically per-user subscription.

Examples: Amazon WorkSpaces, Azure Virtual Desktop, Citrix DaaS.

When to use: remote teams that need standardized environments or scenarios with strict security requirements where data never leaves the data center.

FaaS — Functions as a Service

FaaS is the quintessential serverless model. You write individual functions and the provider handles all execution: provisioning, scaling, and billing per invocation. There are no servers to manage — not even the concept of a server.

Examples: AWS Lambda, Cloudflare Workers, Google Cloud Functions, Azure Functions.

When to use: event-driven workloads, lightweight APIs, asynchronous processing, and scenarios where cost should be proportional to actual usage.

BaaS — Backend as a Service

BaaS provides ready-made backend services — authentication, real-time databases, file storage, push notifications — that can be consumed directly by the frontend without building and maintaining a backend server.

Examples: Firebase, Supabase, AWS Amplify.

When to use: MVPs, mobile-first applications, and projects where prototyping speed matters more than full backend control.


XaaS — Everything as a Service

XaaS is the umbrella term that covers any IT resource delivered as a service through the cloud. Beyond the models already mentioned, there are many specializations:

AcronymNameDescription
CaaSContainers as a ServiceContainer orchestration and management (e.g., Google GKE, AWS ECS)
MaaSMonitoring as a ServiceManaged monitoring and observability (e.g., Datadog, New Relic)
DRaaSDisaster Recovery as a ServiceCloud-based disaster replication and recovery
NaaSNetwork as a ServiceOn-demand virtualized network infrastructure
DBaaSDatabase as a ServiceManaged databases (e.g., Amazon RDS, PlanetScale)

The XaaS trend reflects the shift from purchase models (CapEx) to consumption models (OpEx), where virtually any IT capability can be consumed as a service. This lowers the barrier to entry, enables scaling without heavy upfront investment, and transfers operational complexity to specialized providers.


Comparison: IaaS vs PaaS vs SaaS

The table below shows the division of responsibilities between provider and customer for each model:

LayerOn-PremisesIaaSPaaSSaaS
ApplicationCustomerCustomerCustomerProvider
DataCustomerCustomerCustomerProvider
RuntimeCustomerCustomerProviderProvider
MiddlewareCustomerCustomerProviderProvider
OSCustomerCustomerProviderProvider
VirtualizationCustomerProviderProviderProvider
ServersCustomerProviderProviderProvider
StorageCustomerProviderProviderProvider
NetworkingCustomerProviderProviderProvider

The higher you go in the stack (from IaaS to SaaS), the less operational responsibility you have — and the less control too.


How to choose the right model

The choice depends on a few practical criteria:

  • Level of control needed: if you need to configure the OS kernel or granular firewall rules, IaaS is the way. If you just want to ship code, PaaS works. If you want ready-made software, SaaS.
  • Team capability: IaaS requires infrastructure expertise. PaaS reduces that requirement. SaaS practically eliminates it.
  • Cost and predictability: SaaS has more predictable costs (per-user license). IaaS can vary based on resource consumption. PaaS falls in between.
  • Delivery speed: PaaS and SaaS accelerate time-to-market. IaaS offers more flexibility but requires more upfront work.
  • Compliance and security: some regulated industries require full control over infrastructure (IaaS or on-premises). Others accept managed models as long as the provider holds adequate certifications.

In practice, most companies use a combination of models. An application might run on PaaS, consume a managed database (DBaaS), send emails via SaaS, and have backups replicated on IaaS. This hybrid approach is the norm in the modern cloud ecosystem.


References