Introduction
Cloud computing has changed how individuals, developers and businesses access computing resources. In the past, hosting a website or running an application often required purchasing a physical server, installing the necessary software and maintaining the equipment. This could be expensive, especially for students, startups and small businesses
Today, cloud computing provides another option. Instead of purchasing physical hardware, users can rent computing resources from cloud service providers and access them over the internet.

One of the main service models that makes this possible is Infrastructure as a Service (IaaS).

In this article, I explain the concept of IaaS using Amazon Web Services (AWS) as an example. I also share my first practical experience creating an Amazon EC2 virtual machine, checking its status and connecting to its Linux terminal. Along the way, I discuss a challenge I encountered while trying to install a web serve
What is Infrastructure as a Service (IaaS)?

Infrastructure as a Service is a cloud computing model that provides users with computing resources over the internet.

These resources can include:

  • Virtual machines and processing power.
  • Storage space.
  • Networking resources.
  • Operating systems.
  • Security and access configurations.

Rather than buying a physical server, a user rents computing resources from a cloud provider. The provider manages the underlying physical infrastructure, while the customer configures and manages the operating system, applications and other resources within the virtual environment.

For example, a developer who wants to host a website can rent a virtual server, install web server software and make the website available online without purchasing a physical computer for hosting.

How does IaaS work?

IaaS works through a technology called virtualisation.

Cloud providers operate large data centres containing physical servers, storage systems and networking equipment. These resources are divided into virtual resources that customers can access through a management console or other tools.

A typical IaaS process involves:

  1. Creating an account with a cloud provider.
  2. Selecting a virtual machine configuration.
  3. Choosing an operating system.
  4. Configuring storage and network access.
  5. Connecting to the virtual machine.
  6. Installing and managing applications.

This approach gives users flexibility because they can select resources based on their needs rather than purchasing an entire physical server.

Understanding AWS and Amazon EC2

Amazon Web Services (AWS) is a cloud computing platform that provides services for computing, storage, databases, networking and application development.

One of its main infrastructure services is Amazon Elastic Compute Cloud (Amazon EC2).

EC2 allows users to launch virtual servers called instances. Each instance can run an operating system and applications selected by the user.

For example, a developer can launch a Linux instance, connect to it remotely, install Apache and use it to host a website.

Some important EC2 components include:

  1. Amazon Machine Image (AMI): An AMI is a template used to create an EC2 instance. It contains the operating system and other configuration information required to launch the virtual server.

  2. Instance type:The instance type determines the computing resources available to the virtual machine, including processor capacity and memory.

  3. Key pair:A key pair provides credentials used for secure access to an EC2 instance. The private key must be protected because it can be used to authenticate access.

  4. Security group:A security group acts as a virtual firewall. It controls which network traffic can enter or leave an EC2 instance.

  5. Storage: EC2 instances can use storage volumes to hold the operating system, applications and other data.

My practical experience: Creating an EC2 instance

For my practical introduction to IaaS, I used the AWS Management Console to create an EC2 instance.

My objective was to understand how a virtual server is created, how it can be accessed remotely and how it can eventually be used to host a simple website.

Step 1: Accessing the AWS Management Console

I began by creating an AWS account and accessing the AWS Management Console.

The console provides a central interface for accessing and managing AWS services.

After completing the initial setup, I searched for Amazon EC2 and opened the EC2 service.

Step 2: Selecting the virtual machine configuration

From the EC2 dashboard, I selected the option to launch an instance.

I configured the instance with a Linux operating system and selected the t3.micro instance type.

I also created an SSH key pair, which is used for secure authentication when connecting to a Linux server.

The key pair was saved securely rather than shared publicly.

Step 3: Configuring network access

Before launching the instance, I reviewed the network settings.

The security group is an important part of this process because it determines which connections are permitted.

For a basic website-hosting experiment, two important inbound rules are:

Rule Port Purpose
SSH 22 Remote administration
HTTP 80 Accessing a website

SSH access should be restricted to a trusted IP address wherever possible. HTTP access can be allowed from the internet when the intention is to make a public test website accessible.

Step 4: Launching the EC2 instance

After reviewing the configuration, I selected the option to launch the instance.

AWS displayed a success notification confirming that the launch had been initiated.

I then opened the EC2 Instances dashboard to check the result.

The instance appeared with a state of Running.

Its status checks eventually showed 3/3 checks passed, confirming that the instance had passed the checks displayed by the EC2 console.

This was an important part of the practical because it showed that I had successfully provisioned a virtual machine in the AWS cloud.

Step 5: Connecting to the Linux server

After confirming that the instance was running, I selected it and opened the connection options.

I used EC2 Instance Connect, which provides a browser-based terminal for connecting to a supported Linux instance through the AWS Management Console.

The terminal opened successfully and displayed the Linux command prompt.

The default username shown was:

ec2-user 

This allowed me to interact with the remote server through the terminal without needing to install a separate SSH application on my phone.

At this point, I had successfully completed two important IaaS activities: provisioning a virtual server and accessing it remotely.

Attempting to install Apache

After connecting to the server, my next objective was to install Apache.

Apache HTTP Server is software that receives HTTP requests and delivers website content to visitors.

My intention was to install Apache, create a basic HTML page and access it through the instance's public IP address.

I attempted to install Apache using the following command:

sudo yum install httpd -y 

However, the installation did not complete successfully. The package manager reported that it could not find the "httpd" package.

This meant that I could not proceed to the website creation and browser testing stages during this attempt.

Rather than presenting the website as successfully deployed, I considered this an important troubleshooting experience.

An important operating system lesson

One detail I discovered while reviewing my terminal output was that the instance was running Amazon Linux 2, rather than Amazon Linux 2023, which I had originally intended to use.

The terminal also displayed a notice that Amazon Linux 2 had reached its end of support.

According to AWS, Amazon Linux 2 reached end of support on June 30, 2026. AWS recommends migrating to Amazon Linux 2023.

This distinction is important because the two operating systems use different package-management tools:

  • Amazon Linux 2 commonly uses yum.
  • Amazon Linux 2023 uses dnf.

The failed Apache installation cannot be attributed to the operating system version alone without further investigation. Repository availability, package metadata and network configuration are also possible areas to investigate.

For a future attempt, I would use a supported Amazon Linux 2023 AMI, verify that the instance can reach its package repositories and follow the appropriate installation procedure.

For Amazon Linux 2023, the Apache installation command is:

sudo dnf install httpd -y 

After installation, Apache can be started with:

sudo systemctl enable now httpd 

A simple webpage can then be created in the default Apache web directory:

echo '<h1>My First AWS Website</h1><p>Hosted using Amazon EC2.</p>' | sudo tee /var/www/html/index.html 

If Apache is running and the security group allows HTTP traffic on port 80, the page can be tested by opening:

http://YOUR_PUBLIC_IP 

These are the next steps in the planned experiment; they were not completed in my initial attempt.

Why IaaS is useful to small businesses

IaaS can be useful to small businesses because it reduces the need to purchase and maintain physical server equipment.

Consider a small business operating in Bamenda, Cameroon, that wants to establish an online presence.

Instead of purchasing a dedicated physical server, the business could consider renting a cloud-based virtual server to host a website or application.

Some potential advantages include:

Lower initial investment:There may be no need to purchase physical server hardware.
Scalability:Computing resources can be adjusted as business requirements change.
Remote accessibility:Administrators can manage cloud resources from different locations.
Flexible resource management:Businesses can select infrastructure configurations according to their needs.
Reduced hardware maintenance: The cloud provider maintains the underlying physical equipment.

However, businesses should also consider internet reliability, electricity supply, foreign currency payment requirements and ongoing cloud service costs.

IaaS can reduce the initial investment required to obtain computing infrastructure, but cloud services are not automatically free.

Security and the Shared Responsibility Model

An important concept when using IaaS is the AWS Shared Responsibility Model.

AWS is responsible for security of the cloud infrastructure, including physical data centres, hardware and foundational networking.

Customers are responsible for security within the resources they configure. This includes operating system updates, application security, access permissions, credentials and network rules.

For example, AWS maintains the physical infrastructure supporting an EC2 instance, but the customer must protect login credentials and configure firewall rules appropriately.

This distinction is important because using a cloud provider does not automatically make every application hosted on it secure.

Cost management and resource cleanup

Another important lesson when working with cloud infrastructure is that resources should not be left running unnecessarily.

AWS provides billing and cost-management tools that help users monitor their usage.

A beginner experimenting with EC2 should:

  1. Review the estimated cost of selected resources.
  2. Configure a budget and notification threshold.
  3. Monitor usage and available credits.
  4. Stop or terminate resources that are no longer required.
  5. Check for remaining storage volumes, snapshots and other potentially billable resources.

A budget alert is a notification mechanism, not an automatic spending limit.

Terminating an EC2 instance is an important cleanup step, but users should also check whether storage volumes, snapshots, elastic IP addresses or other resources remain and whether they may incur charges.

What I learned from this practical exercise

My first experience with AWS EC2 helped me understand several concepts beyond their theoretical definitions.

First, I learned that launching a virtual machine is different from purchasing a physical computer. The resources are provisioned through the cloud console.

Second, I understood the importance of instance types, operating system images, key pairs and security groups when creating a cloud server.

Third, I experienced how EC2 Instance Connect can provide access to a remote Linux terminal directly through a browser.

Finally, I learned that practical cloud computing involves troubleshooting. Selecting an operating system, managing software repositories and installing applications are all part of working with cloud infrastructure.

The Apache installation issue also showed me why it is important to check the operating system version and its support status before following installation instructions.
Conclusion

Infrastructure as a Service provides a flexible way to access computing resources without purchasing and maintaining physical servers.

Amazon EC2 demonstrates this concept by allowing users to create virtual machines, select operating systems, configure networking and connect to their servers remotely.

Through my practical work, I successfully launched an EC2 instance, confirmed that it was running, passed the displayed instance status checks and connected to its Linux terminal.

Although I did not complete the Apache installation or publish a live webpage during this attempt, the experience gave me a better understanding of how cloud infrastructure is provisioned and managed.

For students and small businesses, learning IaaS is a useful starting point for understanding how modern applications and websites can be hosted using cloud technology.

Cloud computing is not simply about renting a server. It is about understanding how computing resources can be provisioned, configured, secured, maintained and used to solve real-world problems.

References

  1. Amazon Web Services. What is Cloud Computing?
  2. Amazon Web Services. Get Started with Amazon EC2
  3. Amazon Web Services. Connect to a Linux Instance Using EC2 Instance Connect
  4. Amazon Web Services. Amazon Linux 2
  5. Amazon Web Services. What is Amazon Linux 2023?
  6. Amazon Web Services. AWS Shared Responsibility Model
  7. National Institute of Standards and Technology. The NIST Definition of Cloud Computing (SP 800-145)

This article documents my initial hands-on EC2 experience. The EC2 instance was launched and accessed successfully, but Apache installation and live website hosting remained unfinished at the time of writing. Introduction
Cloud computing has changed how individuals, developers and businesses access computing resources. In the past, hosting a website or running an application often required purchasing a physical server, installing the necessary software and maintaining the equipment. This could be expensive, especially for students, startups and small businesses.

Today, cloud computing provides another option. Instead of purchasing physical hardware, users can rent computing resources from cloud service providers and access them over the internet.

One of the main service models that makes this possible is Infrastructure as a Service (IaaS).

In this article, I explain the concept of IaaS using Amazon Web Services (AWS) as an example. I also share my first practical experience creating an Amazon EC2 virtual machine, checking its status and connecting to its Linux terminal. Along the way, I discuss a challenge I encountered while trying to install a web server.

What is Infrastructure as a Service (IaaS)?

Infrastructure as a Service is a cloud computing model that provides users with computing resources over the internet.

These resources can include:

  • Virtual machines and processing power.
  • Storage space.
  • Networking resources.
  • Operating systems.
  • Security and access configurations.

Rather than buying a physical server, a user rents computing resources from a cloud provider. The provider manages the underlying physical infrastructure, while the customer configures and manages the operating system, applications and other resources within the virtual environment.

For example, a developer who wants to host a website can rent a virtual server, install web server software and make the website available online without purchasing a physical computer for hosting.

How does IaaS work?

IaaS works through a technology called virtualisation.

Cloud providers operate large data centres containing physical servers, storage systems and networking equipment. These resources are divided into virtual resources that customers can access through a management console or other tools.

A typical IaaS process involves:

  1. Creating an account with a cloud provider.
  2. Selecting a virtual machine configuration.
  3. Choosing an operating system.
  4. Configuring storage and network access.
  5. Connecting to the virtual machine.
  6. Installing and managing applications.

This approach gives users flexibility because they can select resources based on their needs rather than purchasing an entire physical server.

Understanding AWS and Amazon EC2

Amazon Web Services (AWS) is a cloud computing platform that provides services for computing, storage, databases, networking and application development.

One of its main infrastructure services is Amazon Elastic Compute Cloud (Amazon EC2).

EC2 allows users to launch virtual servers called instances. Each instance can run an operating system and applications selected by the user.

For example, a developer can launch a Linux instance, connect to it remotely, install Apache and use it to host a website.

Some important EC2 components include:

  1. Amazon Machine Image (AMI): An AMI is a template used to create an EC2 instance. It contains the operating system and other configuration information required to launch the virtual server.

  2. Instance type:The instance type determines the computing resources available to the virtual machine, including processor capacity and memory.

  3. Key pair:A key pair provides credentials used for secure access to an EC2 instance. The private key must be protected because it can be used to authenticate access.

  4. Security group:A security group acts as a virtual firewall. It controls which network traffic can enter or leave an EC2 instance.

  5. Storage: EC2 instances can use storage volumes to hold the operating system, applications and other data.

My practical experience: Creating an EC2 instance

For my practical introduction to IaaS, I used the AWS Management Console to create an EC2 instance.

My objective was to understand how a virtual server is created, how it can be accessed remotely and how it can eventually be used to host a simple website.

Step 1: Accessing the AWS Management Console

I began by creating an AWS account and accessing the AWS Management Console.

The console provides a central interface for accessing and managing AWS services.

After completing the initial setup, I searched for Amazon EC2 and opened the EC2 service.

Step 2: Selecting the virtual machine configuration

From the EC2 dashboard, I selected the option to launch an instance.

I configured the instance with a Linux operating system and selected the t3.micro instance type.

I also created an SSH key pair, which is used for secure authentication when connecting to a Linux server.

The key pair was saved securely rather than shared publicly.

Step 3: Configuring network access

Before launching the instance, I reviewed the network settings.

The security group is an important part of this process because it determines which connections are permitted.

For a basic website-hosting experiment, two important inbound rules are:

Rule Port Purpose
SSH 22 Remote administration
HTTP 80 Accessing a website

SSH access should be restricted to a trusted IP address wherever possible. HTTP access can be allowed from the internet when the intention is to make a public test website accessible.

Step 4: Launching the EC2 instance

After reviewing the configuration, I selected the option to launch the instance.

AWS displayed a success notification confirming that the launch had been initiated.

I then opened the EC2 Instances dashboard to check the result.

The instance appeared with a state of Running.

Its status checks eventually showed 3/3 checks passed, confirming that the instance had passed the checks displayed by the EC2 console.

This was an important part of the practical because it showed that I had successfully provisioned a virtual machine in the AWS cloud.

Step 5: Connecting to the Linux server

After confirming that the instance was running, I selected it and opened the connection options.

I used EC2 Instance Connect, which provides a browser-based terminal for connecting to a supported Linux instance through the AWS Management Console.

The terminal opened successfully and displayed the Linux command prompt.

The default username shown was:

ec2-user 

This allowed me to interact with the remote server through the terminal without needing to install a separate SSH application on my phone.

At this point, I had successfully completed two important IaaS activities: provisioning a virtual server and accessing it remotely.

Attempting to install Apache

After connecting to the server, my next objective was to install Apache.

Apache HTTP Server is software that receives HTTP requests and delivers website content to visitors.

My intention was to install Apache, create a basic HTML page and access it through the instance's public IP address.

I attempted to install Apache using the following command:

sudo yum install httpd -y 

However, the installation did not complete successfully. The package manager reported that it could not find the "httpd" package.

This meant that I could not proceed to the website creation and browser testing stages during this attempt.

Rather than presenting the website as successfully deployed, I considered this an important troubleshooting experience.

An important operating system lesson

One detail I discovered while reviewing my terminal output was that the instance was running Amazon Linux 2, rather than Amazon Linux 2023, which I had originally intended to use.

The terminal also displayed a notice that Amazon Linux 2 had reached its end of support.

According to AWS, Amazon Linux 2 reached end of support on June 30, 2026. AWS recommends migrating to Amazon Linux 2023.

This distinction is important because the two operating systems use different package-management tools:

  • Amazon Linux 2 commonly uses yum.
  • Amazon Linux 2023 uses dnf.

The failed Apache installation cannot be attributed to the operating system version alone without further investigation. Repository availability, package metadata and network configuration are also possible areas to investigate.

For a future attempt, I would use a supported Amazon Linux 2023 AMI, verify that the instance can reach its package repositories and follow the appropriate installation procedure.

For Amazon Linux 2023, the Apache installation command is:

sudo dnf install httpd -y 

After installation, Apache can be started with:

sudo systemctl enable now httpd 

A simple webpage can then be created in the default Apache web directory:

echo '<h1>My First AWS Website</h1><p>Hosted using Amazon EC2.</p>' | sudo tee /var/www/html/index.html 

If Apache is running and the security group allows HTTP traffic on port 80, the page can be tested by opening:

http://YOUR_PUBLIC_IP 

These are the next steps in the planned experiment; they were not completed in my initial attempt.

Why IaaS is useful to small businesses

IaaS can be useful to small businesses because it reduces the need to purchase and maintain physical server equipment.

Consider a small business operating in Bamenda, Cameroon, that wants to establish an online presence.

Instead of purchasing a dedicated physical server, the business could consider renting a cloud-based virtual server to host a website or application.

Some potential advantages include:

Lower initial investment:There may be no need to purchase physical server hardware.
Scalability:Computing resources can be adjusted as business requirements change.
Remote accessibility:Administrators can manage cloud resources from different locations.
Flexible resource management:Businesses can select infrastructure configurations according to their needs.
Reduced hardware maintenance: The cloud provider maintains the underlying physical equipment.

However, businesses should also consider internet reliability, electricity supply, foreign currency payment requirements and ongoing cloud service costs.

IaaS can reduce the initial investment required to obtain computing infrastructure, but cloud services are not automatically free.

Security and the Shared Responsibility Model

An important concept when using IaaS is the AWS Shared Responsibility Model.

AWS is responsible for security of the cloud infrastructure, including physical data centres, hardware and foundational networking.

Customers are responsible for security within the resources they configure. This includes operating system updates, application security, access permissions, credentials and network rules.

For example, AWS maintains the physical infrastructure supporting an EC2 instance, but the customer must protect login credentials and configure firewall rules appropriately.

This distinction is important because using a cloud provider does not automatically make every application hosted on it secure.

Cost management and resource cleanup

Another important lesson when working with cloud infrastructure is that resources should not be left running unnecessarily.

AWS provides billing and cost-management tools that help users monitor their usage.

A beginner experimenting with EC2 should:

  1. Review the estimated cost of selected resources.
  2. Configure a budget and notification threshold.
  3. Monitor usage and available credits.
  4. Stop or terminate resources that are no longer required.
  5. Check for remaining storage volumes, snapshots and other potentially billable resources.

A budget alert is a notification mechanism, not an automatic spending limit.

Terminating an EC2 instance is an important cleanup step, but users should also check whether storage volumes, snapshots, elastic IP addresses or other resources remain and whether they may incur charges.

What I learned from this practical exercise

My first experience with AWS EC2 helped me understand several concepts beyond their theoretical definitions.

First, I learned that launching a virtual machine is different from purchasing a physical computer. The resources are provisioned through the cloud console.

Second, I understood the importance of instance types, operating system images, key pairs and security groups when creating a cloud server.

Third, I experienced how EC2 Instance Connect can provide access to a remote Linux terminal directly through a browser.

Finally, I learned that practical cloud computing involves troubleshooting. Selecting an operating system, managing software repositories and installing applications are all part of working with cloud infrastructure.

The Apache installation issue also showed me why it is important to check the operating system version and its support status before following installation instructions.
Conclusion

Infrastructure as a Service provides a flexible way to access computing resources without purchasing and maintaining physical servers.

Amazon EC2 demonstrates this concept by allowing users to create virtual machines, select operating systems, configure networking and connect to their servers remotely.

Through my practical work, I successfully launched an EC2 instance, confirmed that it was running, passed the displayed instance status checks and connected to its Linux terminal.

Although I did not complete the Apache installation or publish a live webpage during this attempt, the experience gave me a better understanding of how cloud infrastructure is provisioned and managed.

For students and small businesses, learning IaaS is a useful starting point for understanding how modern applications and websites can be hosted using cloud technology.

Cloud computing is not simply about renting a server. It is about understanding how computing resources can be provisioned, configured, secured, maintained and used to solve real-world problems.

References

  1. Amazon Web Services. What is Cloud Computing?
  2. Amazon Web Services. Get Started with Amazon EC2
  3. Amazon Web Services. Connect to a Linux Instance Using EC2 Instance Connect
  4. Amazon Web Services. Amazon Linux 2
  5. Amazon Web Services. What is Amazon Linux 2023?
  6. Amazon Web Services. AWS Shared Responsibility Model
  7. National Institute of Standards and Technology. The NIST Definition of Cloud Computing (SP 800-145)

This article documents my initial hands-on EC2 experience. The EC2 instance was launched and accessed successfully, but Apache installation and live website hosting remained unfinished at the time of writing.