DEV Community

Cover image for ☁️ Cloud Computing Explained: A Beginner-Friendly Guide to AWS, IaaS, PaaS & SaaS
Poushmita Paul
Poushmita Paul

Posted on

☁️ Cloud Computing Explained: A Beginner-Friendly Guide to AWS, IaaS, PaaS & SaaS

If you are a beginner in cloud computing, you have probably heard terms like AWS, Azure, EC2, S3, Virtual Machines, Containers, IaaS, PaaS, and SaaS.

At first, all of these terms can feel confusing.

So, in this article, I’m going to explain cloud computing from the very beginning, using simple examples and analogies.

By the end, you should have a clear idea of:

  • What cloud computing actually means
  • On-premises vs cloud computing
  • How computing evolved from physical servers to containers and serverless
  • What AWS is
  • What a Cloud Service Provider (CSP) does
  • The major cloud service categories
  • IaaS, PaaS, and SaaS
  • Some important AWS services such as EC2, S3, RDS and VPC

☁️ 1. What is Cloud Computing?

Let's start with a simple question:

What if you want to run a website?

You need computing resources such as:

  • A server
  • Storage
  • A database
  • Networking
  • Operating system
  • Security
  • And other infrastructure

Traditionally, you would have to buy and maintain your own physical servers.

But cloud computing changes this.

Simple Definition

Cloud computing is the practice of using computing resources such as servers, storage, databases, networking and software over the internet instead of managing all the physical infrastructure yourself.

Think about electricity.

You don't build your own power plant every time you need electricity.

You simply use electricity and pay for what you consume.

Cloud computing follows a similar idea.

Instead of buying and maintaining expensive servers, you can rent computing resources from a cloud provider whenever you need them.


🏢 2. On-Premises vs Cloud

Before understanding the cloud, let's understand the traditional approach.

🏠 On-Premises

Suppose you own a company and want to run an application.

With an on-premises setup:

  • You buy the physical servers.
  • You provide the space for those servers.
  • You hire people to manage them.
  • You pay for electricity and maintenance.
  • You are responsible for hardware failures.
  • You have to plan your capacity in advance.

In simple terms:

You own and manage everything.

Example

Imagine you open a restaurant.

You need to buy:

  • The building
  • Kitchen equipment
  • Tables
  • Refrigerators
  • Electricity infrastructure

You are responsible for maintaining everything.

That's similar to an on-premises infrastructure.


☁️ Cloud Computing

Now imagine that instead of buying all the infrastructure, you rent a fully equipped kitchen whenever you need it.

Someone else takes care of:

  • The building
  • Electricity
  • Maintenance
  • Equipment
  • Infrastructure

You simply use what you need and pay according to your usage.

That's the basic idea behind cloud computing.

On-Premises

You manage the infrastructure.

Cloud

The cloud provider manages the underlying infrastructure, while you use the resources you need.


🚀 3. The Evolution of Computing

Cloud computing didn't appear overnight.

Computing infrastructure evolved through several stages.

A simplified journey looks like this:

Dedicated Servers → Virtual Machines → Containers → Serverless

Let's understand each one.


🖥️ 4. Dedicated Servers

A dedicated server is a physical server used by a single customer or organization.

For example:

Your Application
       ↓
Physical Server
       ↓
Hardware
Enter fullscreen mode Exit fullscreen mode

The entire physical machine belongs to your workload.

Advantages

  • High level of control
  • Good performance
  • Strong isolation
  • You control the underlying machine

Problems

However, dedicated servers can be expensive.

Imagine you have a server with 64 GB RAM, but your application only uses 10 GB.

The remaining resources may sit unused.

That means:

You are paying for resources that you aren't fully using.

Scaling can also be difficult because increasing capacity may require purchasing additional hardware.


🖥️ 5. Virtual Machines (VMs)

Virtualization made infrastructure much more efficient.

Instead of running one application on an entire physical server, we can divide the physical machine into multiple Virtual Machines.

A software layer called a hypervisor allows multiple VMs to run on the same physical machine.

Conceptually:

        Physical Server
              ↓
          Hypervisor
       ↙      ↓      ↘
      VM      VM      VM
      ↓       ↓       ↓
    App A   App B   App C
Enter fullscreen mode Exit fullscreen mode

Each VM behaves like a separate computer.

It can have its own:

  • Operating system
  • Applications
  • CPU allocation
  • Memory
  • Storage

Why are VMs useful?

They allow us to utilize the physical server more efficiently.

Instead of:

Server → One application
Enter fullscreen mode Exit fullscreen mode

we can have:

Server
 ├── VM 1
 ├── VM 2
 └── VM 3
Enter fullscreen mode Exit fullscreen mode

This improves resource utilization and makes scaling easier.

But VMs have overhead

Each VM usually needs its own guest operating system.

So if you run 10 VMs, you may have 10 operating systems consuming resources.

This leads us to the next evolution.


📦 6. Containers

Containers take the idea of efficient resource utilization even further.

A container packages an application together with the dependencies it needs to run.

Unlike traditional VMs, containers can share the host operating system kernel.

A simplified structure looks like this:

        Physical Server
              ↓
        Host Operating System
              ↓
        Container Runtime
       ↙       ↓       ↘
 Container   Container   Container
    ↓           ↓           ↓
   App A       App B       App C
Enter fullscreen mode Exit fullscreen mode

One popular container platform is Docker.

Why are containers useful?

Containers are:

  • Lightweight
  • Fast to start
  • Portable
  • Easy to deploy
  • Efficient in resource usage

For example, if you build an application on your laptop, you can package it into a container and run that same container in another environment.

This helps reduce the classic:

"It works on my machine!" 😅

problem.


⚡ 7. Serverless / Functions

The next step is to think:

What if I don't want to manage servers or even containers?

That's where serverless computing comes in.

With services such as AWS Lambda, you can upload code and let the cloud provider manage the underlying infrastructure.

You generally focus on:

Your Code
   ↓
Function
   ↓
Cloud Provider manages infrastructure
Enter fullscreen mode Exit fullscreen mode

You don't have to manually manage the server operating system or physical hardware.

And importantly:

Serverless does not mean there are no servers.

Servers still exist.

It simply means that the cloud provider manages the servers for you.


🌎 8. What is AWS?

Now that we understand cloud computing, let's talk about one of the biggest cloud platforms.

AWS stands for Amazon Web Services.

AWS is a cloud computing platform provided by Amazon.

It offers a large collection of cloud services that organizations and developers can use to build, deploy and operate applications.

For example, AWS provides services for:

  • Computing
  • Storage
  • Databases
  • Networking
  • Security
  • Machine Learning
  • Analytics
  • Containers
  • Serverless computing
  • Monitoring
  • Developer tools

So AWS is much more than simply "renting a server."

It provides an entire ecosystem of cloud services.


☁️ 9. What is a Cloud Service Provider (CSP)?

A Cloud Service Provider (CSP) is a company that provides cloud computing resources and services over the internet.

Some major cloud providers include:

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)

Other providers also exist, especially for specialized or smaller-scale workloads.

A CSP operates the underlying infrastructure, such as:

  • Data centers
  • Physical servers
  • Networking equipment
  • Storage systems
  • Security infrastructure

Customers can access these resources through web consoles, APIs, command-line tools and other interfaces.


🧩 10. How Cloud Services Work Together

One of the most important things to understand about cloud computing is that services don't usually work alone.

You can combine multiple services to create a complete application.

For example, imagine we are deploying a website.

We might have:

Users
   ↓
Load Balancer
   ↓
Web Server
   ↓
Application
   ↓
Database
   ↓
Storage
Enter fullscreen mode Exit fullscreen mode

In AWS, this could involve services such as:

  • EC2 → computing
  • Elastic Load Balancing → distributing traffic
  • RDS → database
  • S3 → object storage
  • VPC → networking

So instead of thinking of AWS as "one service," think of it as a toolbox containing many different services.


🧱 11. The Four Basic Building Blocks of IaaS

When learning Infrastructure as a Service, four fundamental areas are especially useful to understand:

1️⃣ Compute

Compute gives you the processing power required to run applications.

Example:

AWS EC2

You can think of an EC2 instance as a virtual computer that you rent from AWS.


2️⃣ Storage

Storage is used to store files and data.

For example:

AWS S3

S3 can be used to store things such as:

  • Images
  • Videos
  • Documents
  • Backups
  • Application files

Think of S3 as a huge online storage system designed for applications.


3️⃣ Networking

Networking allows your cloud resources to communicate with each other and with users over networks.

AWS provides networking services such as:

Amazon VPC (Virtual Private Cloud)

A VPC allows you to create a logically isolated network environment for your AWS resources.

Think of it as creating your own private network inside AWS.


4️⃣ Databases

Applications often need databases to store structured information.

For example:

Amazon RDS

RDS is a managed relational database service.

Instead of manually installing and maintaining a database server, AWS handles many of the administrative tasks for you.


💡 12. IaaS, PaaS and SaaS

This is one of the most important concepts for beginners.

There are three common cloud service models:

IaaS

Infrastructure as a Service

PaaS

Platform as a Service

SaaS

Software as a Service

Let's understand them using a simple analogy.


🍳 Think About Ordering Food

Imagine you want to eat a meal.

There are three possibilities.

🛒 IaaS — Buy the Ingredients

You get:

  • Kitchen
  • Ingredients
  • Cooking equipment

But you do most of the work yourself.

In IaaS, the provider gives you infrastructure such as:

  • Virtual machines
  • Storage
  • Networking

You manage more of the software stack.


👨‍🍳 PaaS — Use a Ready Kitchen

The kitchen and basic infrastructure are already prepared.

You mainly focus on preparing your application.

With PaaS, the provider manages much of the underlying infrastructure and platform.

You focus primarily on:

Building and deploying your application.


🍽️ SaaS — Order the Finished Meal

You simply use the software.

You don't worry about:

  • Servers
  • Operating systems
  • Infrastructure
  • Application maintenance

The provider handles almost everything.

Examples include:

  • Gmail
  • Microsoft 365
  • Salesforce

You simply use the application through the internet.


🔍 13. IaaS vs PaaS vs SaaS

Model You Mainly Manage Example
IaaS OS, applications, data and configuration Amazon EC2
PaaS Application and data Heroku / similar PaaS platforms
SaaS Mostly just your usage and data Gmail, Microsoft 365

The key idea is:

More Control
    ↑
   IaaS
    ↓
   PaaS
    ↓
   SaaS
    ↓
Less Infrastructure Management
Enter fullscreen mode Exit fullscreen mode

As you move from IaaS → PaaS → SaaS, the cloud provider takes responsibility for more of the underlying technology.


🔐 14. Who is Responsible for What?

This is where the concept of the shared responsibility model becomes important.

Cloud providers are responsible for the security of the cloud, such as:

  • Physical data centers
  • Physical servers
  • Underlying infrastructure

Customers are responsible for many things in the cloud, depending on the service they use.

For example, customers may need to manage:

  • Application security
  • Access permissions
  • Data
  • Configuration
  • Operating systems in some IaaS services

The exact responsibility depends on the service.

So using the cloud does not mean:

"The cloud provider handles security completely."

Instead:

Security is a shared responsibility.


🌍 15. Different Types of Cloud Deployments

Cloud environments can also be categorized based on how infrastructure is deployed.

Public Cloud

Cloud infrastructure is provided by a cloud provider and shared across customers using logical isolation.

Examples:

  • AWS
  • Azure
  • Google Cloud

Private Cloud

Cloud infrastructure is dedicated to a particular organization.

Organizations may use technologies such as:

  • OpenStack
  • VMware-based solutions
  • Other private-cloud platforms

Hybrid Cloud

A combination of:

Private infrastructure + Public Cloud

For example, an organization might keep some sensitive systems in its own environment while using AWS or Azure for other workloads.


🏢 16. Why Do Companies Use Cloud Computing?

Cloud computing provides several important advantages.

💰 1. Cost Efficiency

You don't necessarily need to purchase expensive hardware upfront.

You can use resources according to your requirements.


📈 2. Scalability

Suppose your website normally receives 1,000 users per day.

Suddenly, it becomes popular and receives 100,000 users.

Cloud infrastructure can provide mechanisms to scale resources to handle increased demand.


⚡ 3. Speed

Instead of waiting weeks to purchase and install physical servers, cloud resources can often be provisioned much faster.


🌍 4. Global Availability

Cloud providers operate infrastructure across multiple geographic regions.

This allows applications to be deployed closer to users and designed for higher availability.


🛠️ 5. Less Hardware Management

You don't have to physically maintain the underlying servers and data centers when using cloud services.


🗺️ 17. A Simple AWS Application Architecture

Let's put everything together.

Suppose we want to deploy an e-commerce website.

A simplified architecture could look like this:

                👤 Users
                   |
                   ↓
          Load Balancer
                   |
                   ↓
              EC2 Instances
                   |
          ┌────────┴────────┐
          ↓                 ↓
        RDS                S3
     Database          Images/Files
          |
          ↓
      Application Data
Enter fullscreen mode Exit fullscreen mode

And these resources can be placed inside a:

VPC (Virtual Private Cloud)

This is how multiple cloud services can work together to create one complete application.


🧠 18. The Most Important AWS Services to Remember

As a beginner, don't try to memorize hundreds of AWS services.

Start with these:

AWS Service Simple Meaning
EC2 Virtual server
S3 Object/file storage
RDS Managed relational database
VPC Virtual network
ELB Distributes traffic across resources
Lambda Run code without managing servers
CloudWatch Monitoring and observability
IAM Identity and access management

Once these concepts become clear, learning other AWS services becomes much easier.


🎯 19. What Should a Beginner Learn First?

If you are starting cloud computing from zero, don't try to learn everything at once.

A simple learning path is:

Cloud Computing Basics
        ↓
Networking Basics
        ↓
Linux Basics
        ↓
Virtual Machines
        ↓
AWS Fundamentals
        ↓
EC2 + S3 + IAM
        ↓
VPC + RDS
        ↓
Load Balancing
        ↓
Containers + Docker
        ↓
Serverless
        ↓
Cloud Projects
        ↓
DevOps / Cloud Engineering
Enter fullscreen mode Exit fullscreen mode

The goal isn't to memorize AWS services.

The goal is to understand:

Why does this service exist, what problem does it solve, and how does it connect with other services?


🚀 Final Takeaway

Cloud computing is basically a shift from:

"I need to own and manage the infrastructure."

to:

"I need computing resources, so I'll use them from a cloud provider."

The evolution can be remembered as:

Physical Servers
       ↓
Virtual Machines
       ↓
Containers
       ↓
Serverless
Enter fullscreen mode Exit fullscreen mode

And the common service models can be remembered as:

IaaS → Infrastructure
PaaS → Platform
SaaS → Software
Enter fullscreen mode Exit fullscreen mode

If you're learning AWS, start with:

EC2 → Compute
S3  → Storage
RDS → Database
VPC → Networking
IAM → Access Control
Enter fullscreen mode Exit fullscreen mode

Once these fundamentals are clear, the rest of cloud computing becomes much easier to understand.


💬 One Question for You

If you're also learning cloud computing, which topic confused you the most when you started?

Let me know in the comments. It might become the topic of my next beginner-friendly article! ☁️🚀


📚 Learning Notes

This article is based on my Day 1 learning journey into cloud computing. I’m documenting the concepts I learn and trying to explain them in the simplest way possible so that other beginners can learn along with me.

Top comments (0)