Automated Web Application Deployment on AWS

Author: Regis Nde Tene (Chopinregis)

Status: UNVERIFIED (Score: 0/100)

Duration: 3 Day Project


Executive Summary

This project automates the deployment of a simple web application to AWS using DevOps principles. The project utilizes Docker for containerization, Infrastructure as Code (IaC) with Terraform to provision AWS resources, and a Bash script for continuous deployment. This hands-on exercise provides experience with Linux CLI, Git, AWS, DevOps, Networking, Scripting, Containerization, and IaC.

Key Skills

Project Execution Log

Stage 1: Set Up Development Environment & Web App

Deliverables

Stage 2: Containerize Application with Docker

This stage focused on **containerizing the web application using Docker**. We learned how to create a `Dockerfile` to define the application's environment, build a Docker image from it, and then run and test the image locally to ensure the application functions correctly within a container. This establishes a foundational piece for consistent deployments.

Deliverables

  • [x] `Dockerfile` - A text file that contains all the commands to assemble a Docker image.
  • [x] `.dockerignore` file - An optional but highly recommended file to exclude specific files and directories from the Docker build context, optimizing build times and image size.
  • [x] Locally built Docker image - The complete image available on your machine, verifiable with `docker images`.
  • [x] Documentation/notes on local Docker build and run commands - A clear record of how to build the image and run the container on your local machine for verification.

Stage 3: Provision AWS Infrastructure with Terraform

Deliverables

Stage 4: Automate Deployment with Bash Script

Deliverables

Stage 5: Configure System Monitoring & Logging

Deliverables