DEV Community

Emmanuel Praise
Emmanuel Praise

Posted on

Infrastructure as a Service (IaaS): An Investigation into Amazon Web Services (AWS) EC2 and Its Application in Modern Computing

Author: Nweibong Emmanuel Praise
Category: Cloud Computing
Case Study: Amazon Web Services – Elastic Compute Cloud (EC2)

Abstract

The increasing demand for digital services has made traditional computing infrastructure increasingly challenging for some organizations to maintain. Businesses, universities and other institutions require computing resources that can support their applications, store information and accommodate changes in user demand. Infrastructure as a Service (IaaS) provides an alternative by allowing organizations to access computing resources through cloud service providers without having to purchase and maintain all the physical equipment themselves.

This article examines Infrastructure as a Service, focusing on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) as a case study. It investigates the architecture, operation, major components, benefits and limitations of EC2. It also examines how the service could be applied in hosting a university student management portal.

  1. Introduction

Computing infrastructure plays an important role in the operation of modern organizations. Almost every institution that provides digital services depends on servers, storage systems, networking equipment and software platforms.

In the past, organizations generally had to acquire their own physical servers and establish server rooms or data centres before deploying applications. Apart from the initial cost of purchasing equipment, they also had to consider electricity, cooling, maintenance, security and the availability of qualified technical personnel.

These requirements can become difficult to manage, especially for small organizations and institutions with limited financial resources.

Cloud computing has introduced a different approach to managing these resources. Instead of purchasing all the required hardware, organizations can obtain computing resources from providers over the internet.

One of the service models responsible for this development is Infrastructure as a Service (IaaS). It provides access to virtual computing infrastructure while allowing customers to manage their operating systems, applications and other configurations.

To understand how this model works in a practical environment, this research uses Amazon EC2 as a case study.

  1. Understanding Infrastructure as a Service (IaaS)

Infrastructure as a Service is a cloud computing service model in which a provider makes computing resources available to customers over the internet.

These resources typically include:

  • Virtual machines and processing power.
  • Storage systems.
  • Networking infrastructure.
  • IP addresses and network configurations.
  • Virtualized computing environments.

The major idea behind IaaS is that organizations can use computing infrastructure without necessarily owning the physical hardware.

For instance, consider a university that wants to develop an online platform for managing student records. Rather than purchasing a physical server, the university can rent a virtual server from an IaaS provider and install the necessary software.

The university manages the operating system, application and database configurations, while the provider manages the underlying physical infrastructure.

According to the National Institute of Standards and Technology (NIST), cloud computing provides convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort.

This definition helps explain why IaaS has become an important approach to delivering computing infrastructure.

  1. Technical Operation of IaaS

IaaS relies heavily on virtualization and resource management technologies.

Virtualization allows a physical server to provide multiple independent virtual computing environments. Each virtual machine receives allocated resources such as processor capacity, memory and storage.

A customer can configure these resources based on the requirements of the application being deployed.

The general operation involves the following stages:

Resource provisioning: The customer requests computing resources through the provider's management interface.

Virtual machine creation: The provider allocates resources and creates a virtual server using a selected machine image.

Configuration: The customer installs and configures the operating system, applications and other required software.

Deployment: The application is uploaded and made accessible through the network.

Monitoring and scaling: Resource usage is monitored, and additional capacity can be provisioned when necessary.

This arrangement gives customers control over their computing environments without requiring them to manage the physical servers.

  1. Case Study: Amazon Web Services (AWS) Elastic Compute Cloud

Amazon Web Services is a cloud computing platform that provides infrastructure and other computing services to individuals and organizations.

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

Amazon EC2 provides on-demand computing capacity through virtual servers known as instances. These instances can be configured to run different operating systems and applications depending on the customer's requirements.

An organization can launch an instance, connect to it remotely, install its software and use it to host services.

4.1 Major Components of Amazon EC2

To understand EC2 as an IaaS solution, it is important to examine some of its major components.

a. EC2 Instances

An instance is a virtual server running within AWS infrastructure. Different instance types provide different combinations of processing power, memory, storage and networking capacity.

For example, a small web application may require fewer computing resources than a large enterprise application.

b. Amazon Machine Images (AMIs)

An Amazon Machine Image is a template used to launch EC2 instances. It contains information required to configure the instance, including an operating system and potentially preinstalled software.

This makes it easier to create servers without manually installing everything from the beginning.

c. Amazon Elastic Block Store (EBS)

EBS provides persistent block storage that can be attached to EC2 instances. It is useful for storing operating system files, application data and other information that must remain available beyond the lifetime of an individual instance session.

d. Security Groups

Security groups function as virtual firewalls for EC2 instances. They control incoming and outgoing network traffic through configured rules.

For example, an administrator can allow web traffic through HTTP and HTTPS while restricting remote administrative access to approved IP addresses.

e. Regions and Availability Zones

AWS organizes its infrastructure into geographical Regions and Availability Zones.

Regions represent separate geographical areas, while Availability Zones are isolated locations within a Region.

Deploying application resources across multiple Availability Zones can help reduce the effect of an individual location failure.

These components demonstrate that EC2 provides more than just a virtual computer. It provides a configurable infrastructure environment for deploying and managing applications.

  1. Practical Application: Hosting a University Student Management System

To examine the practical usefulness of IaaS, consider a university that wants to deploy a student management system.

The proposed system will allow students to:

  • Log in to their personal accounts.
  • Register for courses.
  • Check examination results.
  • Download learning materials.
  • Receive announcements.
  • View academic information.

Lecturers will also be able to manage courses, record attendance and upload students' grades.

The university needs a server capable of running the application and handling requests from different users.

Proposed AWS EC2 Implementation

Stage 1: Provisioning the server

The university creates an AWS account and launches an EC2 instance.

Ubuntu Linux can be selected as the operating system because it supports the software technologies required by the application.

Stage 2: Installing the application environment

The administrator installs the necessary technologies, such as:

  • Python programming language.
  • Django web framework.
  • Nginx web server.
  • PostgreSQL database system.

Stage 3: Deploying the application

The student management system is uploaded to the EC2 instance and configured to run as a web application.

Stage 4: Configuring network access

The administrator configures the instance's security group to permit the required web traffic.

Administrative access, such as SSH, should be restricted to authorized IP addresses rather than exposed unnecessarily.

Stage 5: Connecting the database

The application is connected to a database where student records, courses, examination results and other academic information are stored.

For a more reliable production environment, the database can be hosted separately using a managed database service.

Stage 6: Monitoring performance

The university monitors the server's resource consumption and application performance.

If the number of users increases significantly during course registration or examination periods, additional computing capacity can be introduced.

This example demonstrates how an educational institution can use IaaS to deploy a real application without purchasing its own physical server infrastructure.

  1. Proposed System Architecture

The following architecture illustrates how the student management system could be deployed using AWS EC2.

   STUDENTS / LECTURERS
            |
            |
         INTERNET
            |
            |
      AWS CLOUD
            |
            |
      EC2 INSTANCE
            |
      NGINX SERVER
            |
            |
     DJANGO APPLICATION
            |
            |
      DATABASE SERVER
            |
            |
     ACADEMIC RECORDS
Enter fullscreen mode Exit fullscreen mode

The architecture separates the different responsibilities of the system.

  • Users interact with the application through their web browsers.
  • AWS provides the cloud infrastructure.
  • EC2 provides the virtual computing environment.
  • Nginx handles incoming web requests.
  • Django processes application requests and business logic.
  • The database stores and retrieves academic information.

This is a proposed deployment architecture, not a report of an actual university system already running on AWS.

  1. Analysis of the Benefits of IaaS

The use of IaaS offers several advantages when compared with traditional infrastructure management.

7.1 Reduced Initial Investment

Organizations do not necessarily need to purchase expensive physical servers before deploying applications.

Instead, they can obtain computing resources and pay according to the selected pricing arrangement.

7.2 Resource Scalability

One major advantage of EC2 is the ability to change computing capacity when application requirements change.

A university may initially use a small server but increase its capacity when more students begin accessing the portal.

AWS also provides Auto Scaling to help automatically adjust the number of instances based on configured conditions.

7.3 Greater Flexibility

Customers can select operating systems, instance types, storage configurations and networking arrangements according to their requirements.

This is particularly useful for developers who need different environments for testing and production.

7.4 Faster Deployment

Creating a virtual server can be faster than acquiring and installing physical hardware.

This allows organizations to develop and deploy applications without waiting for physical infrastructure procurement.

7.5 Geographical Availability

AWS provides infrastructure across different geographical Regions and Availability Zones.

Organizations can select suitable deployment locations and design systems that distribute resources across multiple locations.

  1. Limitations and Challenges of IaaS

Although IaaS provides important advantages, it is not without limitations.

8.1 Security Responsibilities

Using a cloud provider does not mean that the customer has no security responsibilities.

AWS protects the underlying physical infrastructure, but customers remain responsible for securing their operating systems, applications, access permissions and data.

This is known as the shared responsibility model.

8.2 Dependence on Internet Connectivity

Applications hosted in the cloud generally require internet connectivity to be accessed remotely.

In areas where connectivity is unreliable, users may experience difficulties accessing cloud-hosted applications.

This is an important consideration for organizations operating in regions where internet infrastructure is still developing.

8.3 Cost Management

Although IaaS can reduce initial infrastructure investment, operating costs can increase if resources are not properly managed.

Running unnecessary instances, storing unused data and transferring large volumes of information may result in additional charges.

Organizations therefore need to monitor their resource consumption.

8.4 Technical Expertise

Managing an IaaS environment requires knowledge of operating systems, networking, server administration and security.

An organization without qualified technical personnel may find it difficult to configure and maintain its infrastructure properly.

8.5 Service Availability

Cloud providers design their infrastructure for availability, but service interruptions can still occur.

Organizations should therefore consider backup arrangements, monitoring and recovery strategies when deploying important applications.

  1. Security and Management Considerations

Security is an important part of any IaaS deployment, particularly when applications contain sensitive information such as student records.

For an EC2-based student management system, the following measures should be considered:

  1. Use strong authentication and protect administrative credentials.
  2. Restrict SSH access to authorized users.
  3. Configure security groups to allow only necessary network traffic.
  4. Regularly update the operating system and installed software.
  5. Implement appropriate database access controls.
  6. Encrypt sensitive information where necessary.
  7. Maintain regular backups.
  8. Monitor system activities and resource usage.

These measures help reduce the risk of unauthorized access, data loss and service disruption.

  1. Comparison of IaaS, PaaS and SaaS

Cloud computing is commonly divided into three service models: IaaS, PaaS and SaaS.

Feature| IaaS| PaaS| SaaS
Full meaning| Infrastructure as a Service| Platform as a Service| Software as a Service
Main provision| Computing infrastructure| Application development platform| Ready-to-use software
User control| High| Moderate| Limited
User manages| OS, applications and data| Applications and data| Mainly usage and data
Example| Amazon EC2| Google App Engine| Gmail

The main difference between these models is the level of management and control given to the customer.

IaaS provides greater control over the underlying computing environment, while PaaS reduces infrastructure management responsibilities for developers. SaaS provides complete applications that users can access without managing the underlying infrastructure.

  1. Other Providers of Infrastructure as a Service

Amazon EC2 is not the only available IaaS solution. Other major providers include:

Microsoft Azure Virtual Machines: Provides configurable virtual machines for running applications and operating systems.

Google Cloud Compute Engine: Offers virtual machines and computing resources through Google Cloud.

Oracle Cloud Infrastructure: Provides computing, storage and networking resources for different workloads.

DigitalOcean Droplets: Provides virtual private servers commonly used by developers and small businesses.

Although these providers offer similar infrastructure capabilities, their pricing structures, available resources and management tools differ.

  1. Conclusion

Infrastructure as a Service has changed how organizations acquire and manage computing resources. Rather than depending entirely on physical infrastructure, organizations can obtain virtual servers, storage and networking resources from cloud providers.

The examination of Amazon EC2 shows how IaaS can be used to create flexible computing environments for hosting applications. The proposed university student management system demonstrates how an institution can deploy its services, manage academic information and adjust computing resources according to user demand.

However, adopting IaaS requires careful consideration of security, internet connectivity, technical expertise and operational costs.

In conclusion, IaaS is a valuable approach to modern infrastructure management. Its usefulness depends not only on the capabilities of the cloud provider but also on how effectively the organization plans, configures and manages the resources it uses.

References

  1. Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing. National Institute of Standards and Technology, Special Publication 800-145.
    https://csrc.nist.gov/pubs/sp/800/145/final

  2. Amazon Web Services. What is Amazon EC2? Amazon EC2 User Guide.
    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/

  3. Amazon Web Services. Amazon EC2 Documentation.
    https://aws.amazon.com/documentation-overview/ec2/

  4. Amazon Web Services. Security in Amazon EC2.
    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security.html

  5. Amazon Web Services. Shared Responsibility Model.
    https://aws.amazon.com/compliance/shared-responsibility-model/

  6. Amazon Web Services. Amazon EC2 Auto Scaling.
    https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html

Top comments (0)