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
- Containerization Concepts (e.g., Docker)
- Linux Command Line Interface (CLI) and System Administration
- DevOps Methodologies
- Scripting (Bash/Shell, Python)
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