Overview

This project was completed as part of my Cloud Computing studies at the University of Otago.

The project involved using Terraform to provision and configure cloud infrastructure on Amazon Web Services (AWS), applying infrastructure-as-code principles to automate resource deployment and management.

Project Background

This project builds on my earlier Multi-VM Web Application, where I deployed a Movie & TV Watchlist application across three local virtual machines using Vagrant and VirtualBox.

The aim was to extend my understanding of infrastructure deployment by moving from locally hosted virtual machines to AWS cloud infrastructure, using Terraform to automate the provisioning and configuration of cloud resources.

Technologies Used

  • Terraform — Infrastructure provisioning and configuration
  • Amazon EC2 — Cloud-based virtual machines
  • Amazon S3 — Object storage
  • AWS — Cloud infrastructure and services

Project Details

The project explored how cloud infrastructure can be defined, deployed, and managed using Terraform rather than manually configuring resources through the AWS Management Console.

Key areas included:

  • Provisioning AWS resources using Terraform configuration files.
  • Configuring cloud-based compute and storage resources.
  • Understanding the relationship between cloud infrastructure, networking, and storage.
  • Managing infrastructure using version-controlled configuration.

Source Code

View the project on GitHub