AWS Account Setup and Cloud Computing Models: IaaS, PaaS, CaaS, FaaS and SaaS
Cloud computing has completely changed the way applications are built, deployed, and managed. Instead of purchasing physical servers, networking equipment, storage, and other infrastructure, organizations can rent computing resources from cloud providers and pay based on usage.
Amazon Web Services (AWS) is one of the major cloud service providers offering reliable, scalable, and on-demand cloud computing services.
In this article, we will understand:
- What AWS and cloud service providers are
- Why cloud computing became important
- The difference between IaaS, PaaS, CaaS, FaaS, and SaaS
- How containers fit into cloud computing
- Examples of AWS services for different models
- How to create an AWS account
- Why setting up an AWS budget is important
What Is AWS?
AWS stands for Amazon Web Services.
In simple terms, AWS is a cloud service provider that offers computing resources and services on demand. Instead of purchasing and maintaining physical infrastructure yourself, you can use infrastructure and services provided by AWS.
A simple definition is:
AWS provides reliable, scalable, on-demand cloud computing services.
The important word here is on-demand. You can provision resources when you need them and adjust them according to your requirements.
For example, an application might initially require only two servers. During a period of high traffic, you may need five servers. Cloud platforms make it possible to scale resources according to demand.
Before Cloud Computing
To understand the value of AWS, consider how an application would traditionally be deployed.
Suppose you want to build a website. You would need several components:
- Networking equipment
- Routers and switches
- Cables
- Storage
- CPU
- RAM
- Physical servers
- Virtualization
- Operating system
- Middleware
- Runtime environment
- Database
- Application code
For example, a Java application might require a JVM runtime, a middleware such as Tomcat, a database such as MySQL, storage, and the application’s JAR file.
Traditionally, an organization had to purchase and maintain much of this infrastructure itself. This required significant capital investment, hardware management, networking configuration, maintenance, and time.
Cloud computing changed this approach.
Instead of buying everything yourself, a cloud provider can provide the infrastructure as a service. You can select the amount of CPU, RAM, storage, and other resources you need and pay according to usage.
Cloud Service Providers
AWS is not the only cloud service provider.
Other major providers include:
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure
The concepts discussed here are not limited to AWS. They represent broader cloud computing models that can be found across cloud platforms.
Cloud providers offer a large number of services, and these services can broadly be understood through different service models.
The major models discussed here are:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Container as a Service (CaaS)
- Function as a Service (FaaS)
- Software as a Service (SaaS)
1. Infrastructure as a Service (IaaS)
IaaS stands for Infrastructure as a Service.
With IaaS, the cloud provider manages the underlying infrastructure, while you are responsible for managing the software environment and your application.
The cloud provider generally handles:
- Physical servers
- Networking
- Storage
- CPU
- RAM
- Virtualization
You are responsible for things such as:
- Operating system
- Middleware
- Runtime
- Database configuration
- Application
- Application updates and patches
The important idea is that the cloud provider gives you the infrastructure, but you have greater responsibility and control over the software stack.
Example: AWS EC2
Amazon EC2 is a good example of an infrastructure-oriented AWS service.
After launching an EC2 instance, you may need to configure the operating system, runtime, middleware, database, application, and other components depending on your architecture.
When Is IaaS Useful?
IaaS is useful when you need greater control over your environment.
For example, you may want to:
- Choose a particular operating system
- Configure a specific Java version
- Fine-tune JVM settings
- Customize Tomcat
- Install specific software
- Control the server environment
The trade-off is that greater control also means greater responsibility.
2. Platform as a Service (PaaS)
PaaS stands for Platform as a Service.
With PaaS, the cloud provider manages much more of the underlying environment.
Instead of worrying about servers, operating systems, middleware, and runtime configuration, developers can focus primarily on:
- Application code
- Business logic
- Application data
The cloud provider manages the infrastructure and platform components.
Understanding PaaS With a Kitchen Analogy
Imagine renting an empty restaurant.
With IaaS, you get the basic infrastructure such as the space, electricity, and water. You still need to bring your equipment, chef, ingredients, and other resources.
With PaaS, much more is already prepared.
The infrastructure, environment, tools, and platform are provided. You mainly bring your recipe and ingredients—in other words, your application and business logic.
Example: AWS Elastic Beanstalk
AWS Elastic Beanstalk is presented as an example of PaaS.
For a Spring Boot application, the developer can provide the application package, such as a JAR file, while the platform handles much of the underlying setup.
The benefit is simplicity.
The downside is that you generally have less control over the underlying environment compared with managing your own infrastructure.
IaaS vs PaaS
The easiest way to understand the difference is responsibility.
| Responsibility | IaaS | PaaS |
|---|---|---|
| Physical infrastructure | Cloud provider | Cloud provider |
| Networking | Cloud provider | Cloud provider |
| Storage | Cloud provider | Cloud provider |
| CPU/RAM | Cloud provider | Cloud provider |
| Virtualization | Cloud provider | Cloud provider |
| Operating system | You | Provider |
| Middleware | You | Provider |
| Runtime | You | Provider |
| Application | You | You |
| Application data | You | You |
So, IaaS gives you more control, while PaaS reduces the amount of infrastructure you need to manage.
3. Container as a Service (CaaS)
Another important cloud model is Container as a Service (CaaS).
Containers became particularly useful for solving a common development problem:
“It works on my machine, but it doesn’t work in production.”
This can happen when development and production environments are different.
For example:
- Development may use Java 17
- Production may use Java 21
- Library versions may differ
- Environment variables may differ
- File paths may differ
- Dependencies may be missing
These differences can cause an application to behave differently after deployment.
What Is a Container?
A container packages an application together with the runtime and dependencies it needs.
For example, a container might include:
- Application
- Required runtime
- Application dependencies
- Configuration required for execution
This makes the application environment more consistent across different platforms.
Virtual Machines vs Containers
A physical server can run multiple virtual machines.
For example:
Physical Server
│
├── Virtual Machine 1
│ ├── Container 1
│ ├── Container 2
│ └── Container 3
│
└── Virtual Machine 2
├── Container 4
├── Container 5
└── Container 6
A virtual machine generally includes its own operating system.
Containers are more lightweight because they share the host operating system while packaging the application and its required runtime/dependencies.
This allows many containers to run on a single virtual machine.
Why Do We Need Container Orchestration?
Imagine an application receiving heavy traffic.
Instead of running only one container, you may need dozens or even hundreds of containers.
Someone needs to manage:
- Which virtual machines run the containers
- How many containers should run
- Container failures
- Restarting failed containers
- Load distribution
- Scaling
This is where container orchestration comes into the picture.
Kubernetes is a popular container orchestration technology. AWS also provides container services such as Amazon ECS and Amazon EKS.
With a container service, you provide your container image and configuration, such as:
- Number of containers
- CPU limits
- RAM limits
- Scaling rules
The platform handles much of the operational work required to run and manage those containers.
4. Function as a Service (FaaS)
FaaS stands for Function as a Service.
With FaaS, instead of managing a complete application server, you write a function that performs a specific task.
The platform executes the function when it is required.
A popular example is AWS Lambda.
Example: Video Processing
Suppose a user uploads a 4K video to Amazon S3.
You want to automatically create:
- 1080p version
- 720p version
You could write a function containing the video conversion logic.
The flow could look like this:
User uploads 4K video
↓
Amazon S3
↓
Event
↓
AWS Lambda
↓
Video conversion
↓
1080p + 720p files
↓
Amazon S3
The Lambda function can be triggered when the video is uploaded. It performs the conversion and stores the resulting files back in S3.
One important characteristic of FaaS is that the function runs when required.
If there are no events for several hours, the function is not continuously running like a traditional server-based application. When demand suddenly increases, the cloud platform can scale function execution.
FaaS is therefore particularly useful for short-lived, event-driven workloads.
5. Software as a Service (SaaS)
SaaS stands for Software as a Service.
This is the model most familiar to everyday users.
Instead of building and managing the software yourself, you simply use software provided by another company.
You typically:
- Log in
- Use the software
- Pay according to the provider’s pricing model
You don’t need to manage the underlying servers, operating systems, runtime, or application deployment.
Examples discussed in the source include products such as Amazon Chime, Amazon WorkMail, and Amazon QuickSight.
The key idea is simple:
The provider manages the software; the customer uses the software.
Understanding the Five Cloud Models
We can summarize the models like this:
| Model | Main Idea | Customer Focus |
|---|---|---|
| IaaS | Infrastructure is provided | Software + application |
| PaaS | Platform is provided | Application + data |
| CaaS | Container infrastructure is managed | Containers + configuration |
| FaaS | Functions execute on demand | Function/business logic |
| SaaS | Complete software is provided | Using the software |
As we move from IaaS toward SaaS, the cloud provider generally takes responsibility for more of the underlying technology.
That means less infrastructure management for the customer, but usually also less control over the underlying environment.
Setting Up an AWS Account
Once you understand the basic cloud concepts, you can create an AWS account and begin experimenting with AWS services.
The general account setup process described in the source includes:
- Open the AWS console/account registration page.
- Choose the account creation option.
- Provide and verify your email address.
- Create the root-user password.
- Select an appropriate account plan.
- Provide your personal or organization information.
- Add a payment method.
- Complete identity verification.
- Activate the account.
- Open the AWS Management Console.
AWS may require payment-method verification during account creation. The source describes a small refundable verification transaction.
Important: AWS pricing, free-tier terms, credits, and account-registration requirements can change over time, so always check the current AWS terms before creating an account.
Don’t Forget AWS Billing and Budgets
One of the most important lessons for beginners is:
Never assume that cloud usage is automatically free.
Even when experimenting with free-tier services, you should understand what you are using and monitor your costs.
The source recommends creating an AWS budget and setting up alerts so you can be notified when your spending reaches a specified threshold.
For example, you could create a monthly budget and configure an alert at a percentage of that budget.
If your monthly budget were $5, an 80% alert would notify you when the tracked cost reaches approximately $4.
You can also configure alerts based on an absolute amount.
For learning environments, a zero-spend budget can also be useful as an early warning mechanism: if AWS detects a charge above the threshold, you receive an alert and can investigate which service generated the cost.
Why AWS Budgets Matter
AWS provides a huge number of services.
During learning, it is easy to:
- Launch a resource and forget about it
- Leave a server running
- Store unnecessary data
- Enable a service unintentionally
- Experiment with resources without understanding their pricing
A budget alert gives you an additional layer of protection.
It does not replace understanding AWS pricing, but it helps you detect unexpected costs earlier.
Final Thoughts
Cloud computing becomes much easier to understand when we stop thinking of the cloud as one giant service and instead break it down into different service models.
At one end, IaaS gives you infrastructure with significant control.
PaaS moves more responsibility to the provider so developers can concentrate on their applications.
CaaS focuses on running and managing containers at scale.
FaaS allows individual functions to execute on demand, often in response to events.
Finally, SaaS provides complete software that users simply consume.
The overall progression can be remembered as:
IaaS → PaaS → CaaS → FaaS → SaaS
More infrastructure responsibility → Less infrastructure responsibility
More control → Less underlying control
Understanding these models provides a strong foundation before diving deeper into AWS services such as EC2, S3, Lambda, ECS, EKS, RDS, and other cloud technologies.
And when you begin experimenting with AWS, remember one practical rule:
Understand what you are deploying, monitor your usage, and always configure billing alerts.
That small habit can save you from unpleasant surprises while learning cloud computing.