Skip to content

Repository files navigation

AWS 80 Projects Challenge

A structured cloud engineering portfolio built through 80 hands-on AWS projects.

8 of 80 projects completed Latest project: CloudDesk SaaS AWS Terraform and AWS SAM Docker GitHub Actions


Overview

This repository is the central index for my 80-project AWS cloud infrastructure challenge.

Each project is developed in its own GitHub repository and connected here as a Git submodule. This keeps every implementation independently documented while providing one place to review my progression across:

  • AWS architecture and networking
  • Infrastructure as Code
  • Linux and compute administration
  • Containers and application delivery
  • High availability and Auto Scaling
  • Serverless systems
  • CI/CD and deployment automation
  • Identity, security, and secret management
  • Observability, reliability, and disaster recovery

The objective is not simply to deploy AWS services. Each project is designed around an operational or business requirement and documents the architecture, implementation choices, validation process, security considerations, troubleshooting, and lessons learned.


Progress

Completed: 8 projects
Next: Project 9 — Selection and planning
Remaining: 72 projects

Progress: [########........................................................................] 8 / 80

Project Index

# Status Project Engineering outcome Core technologies
1 Static Website with CloudFront Hosted static content in Amazon S3 and delivered it through CloudFront for improved availability and global distribution. S3, CloudFront, IAM
2 WordPress on Amazon Lightsail Deployed and administered a WordPress workload using a simplified AWS virtual server platform. Lightsail, WordPress, Linux, DNS
3 EC2 Apache Web Server Provisioned an EC2 instance, configured network access, and automated Apache installation and website delivery. EC2, Security Groups, Linux, Apache
4 Highly Available Web Application with Terraform Replaced single-instance architecture with repeatable infrastructure using an ALB, Launch Template, and Auto Scaling Group. Terraform, EC2, ALB, Auto Scaling
5 FinTrust NLB Docker Service Deployed a containerized Flask service behind a Network Load Balancer with automated instance replacement and scaling. Docker, Terraform, NLB, Auto Scaling, Flask
6 FinTrust Customer Portal Built a production-oriented three-tier application with private compute and database layers, container delivery, load balancing, and managed secrets. Terraform, Docker, ECR, ALB, Auto Scaling, RDS, Secrets Manager
7 NovaTech Serverless Website Automated secure static-site delivery using a private S3 origin, CloudFront OAC, GitHub Actions, and passwordless AWS authentication through OIDC. S3, CloudFront, OAC, IAM, GitHub Actions, OIDC
8 CloudDesk Multi-Tenant SaaS Built a serverless multi-tenant SaaS backend with Cognito authentication, tenant-scoped RBAC, private PostgreSQL connectivity, secure secret retrieval, automated testing, OIDC deployment, and CloudWatch observability. AWS SAM, Lambda, API Gateway, Cognito, RDS PostgreSQL, Secrets Manager, GitHub Actions, OIDC, CloudWatch

Status legend: ✅ Completed · 🚧 In progress · ⬜ Planned


What the Projects Demonstrate

Architecture

  • Selecting services based on workload and business requirements
  • Designing for availability, scalability, and failure recovery
  • Separating public, application, identity, and database responsibilities
  • Designing tenant-aware application and authorization boundaries
  • Documenting data flow and deployment workflows with diagrams

Infrastructure as Code

  • Reusable Terraform configuration
  • Serverless Infrastructure as Code with AWS SAM and CloudFormation
  • Variables, parameters, outputs, data sources, and resource dependencies
  • Repeatable infrastructure deployment and teardown
  • Infrastructure validation before deployment

Security

  • Least-privilege IAM roles and policies
  • Private S3 origins through CloudFront Origin Access Control
  • Private application and database networking
  • API Gateway JWT authorization with Amazon Cognito
  • Tenant-scoped role-based access control
  • GitHub OIDC instead of long-lived AWS access keys
  • AWS Secrets Manager for application and database credentials

Delivery and Operations

  • Docker image build and deployment
  • Amazon ECR integration
  • GitHub Actions CI/CD
  • Automated linting, tests, coverage checks, and infrastructure validation
  • Load-balancer health checks
  • Auto Scaling and unhealthy-instance replacement
  • Structured CloudWatch logging, alarms, SNS notifications, and dashboards
  • Troubleshooting documentation and architecture decision records

Repository Model

This is a portfolio index repository. The project directories are Git submodules rather than copied source-code folders.

AWS80ProjectsChallenge/
├── aws-static-website-cloudfront/
├── aws-wordpress-lightsail/
├── aws-ec2-apache-webserver/
├── highly-available-web-app-terraform/
├── fintrust-nlb-docker/
├── fintrust-customer-portal/
├── novatech-serverless-website/
├── clouddesk-multi-tenant-saas/
├── .gitmodules
├── LICENSE
└── README.md

Each submodule points to the corresponding standalone project repository, where the complete source code, diagrams, screenshots, decisions, and troubleshooting notes are maintained.


Clone the Complete Portfolio

Clone the index and initialize every project submodule:

git clone --recurse-submodules https://github.com/simeonprimordial/AWS80ProjectsChallenge.git
cd AWS80ProjectsChallenge

When the repository was cloned without --recurse-submodules, initialize the projects afterward:

git submodule update --init --recursive

Pull the latest commits recorded by the portfolio repository:

git pull
git submodule update --init --recursive

To fetch newer commits from each submodule's tracked remote branch for review:

git submodule update --remote --recursive

Updating a submodule locally does not automatically update this index. The new submodule commit must also be committed in the parent repository.


Project Documentation Standard

As the challenge progresses, each substantial project aims to include:

  • A clear business problem and solution overview
  • Architecture, deployment, and request-flow diagrams
  • Repository structure and deployment instructions
  • Security, performance, and cost considerations
  • Validation evidence
  • Architecture decision records
  • Monitoring and troubleshooting guidance
  • Lessons learned and future improvements

Projects may differ in depth depending on their scope, but the standard becomes more rigorous as the portfolio advances.


Current Focus

Project 8, CloudDesk, is complete. It marks the portfolio’s transition from isolated infrastructure components into a complete serverless backend where identity, tenant isolation, authorization, relational persistence, private networking, CI/CD, testing, and observability work together.

The next step is selecting and planning Project 9 while continuing into broader portfolio areas such as:

  • Observability with CloudWatch, Prometheus, and Grafana
  • Configuration management and automation
  • ECS and Kubernetes workloads
  • Secure multi-environment CI/CD
  • Event-driven and data-processing systems
  • Backup, disaster recovery, and cross-region architectures
  • Cloud security and compliance controls

Portfolio Links


License

This index repository is licensed under the MIT License. Individual project repositories may include their own license and usage conditions.

About

My 80 hands-on AWS projects documentation across compute, networking, security, serverless, IaC, CI/CD, DevOps, data, ML & DR building toward a Cloud/DevOps role.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors