AdminTurnedDevOps/DevOps-The-Hard-Way-AWS
AdminTurnedDevOps/DevOps-The-Hard-Way-AWS has 2,436 GitHub stars and 1,230 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-08 20:14 UTC. Last push 2025-04-27.
This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalDevOps-The-Hard-Way-AWS
This tutorial contains a full, real-world solution for setting up an environment that is using DevOps technologies and practices for deploying apps and cloud services/cloud infrastructure to AWS.
The repository contains free labs, documentation, diagrams, and docs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS.
DevOps Scenario
The scenario that you're currently facing is you work in an organization that is very monolithic. There is a ton of bare metal, virtualization, manual deployments of applications, and old school practices based on the current teams knowledge of IT.
You're brought in to the company and team to make things more modern so the organization can not only succeed, but stay ahead of their competition. Management now understands the needs and complexity that comes with staying ahead of their competition and they know that they need to. Otherwise, the organization will fall...
DevOps Solution
The solution is to deploy the Uber API for the sign-up page. Currently this solution is sitting on a bunch of baremetal, but it's time to sprinkle a little DevOps on it.

As a DevOps Engineer, you're more or less (most likely) not writing the app, but instead, deploying it. That's why you're not writing your own app in this tutorial.
Full Disclosure - I did have to edit this app a bit from Uber to make it compatible with Python3. You can find the repo here:
https://github.com/AdminTurnedDevOps/Python-Sample-Application
Technology Details
You will be using the following technologies and platforms to set up a DevOps environment.
- AWS
- AWS will be used to host the application, cloud infrastructure, and any other services we may need to ensure the Uber app is deployed properly.
- GitHub
- To store the application and infrastructure/automation code
- Python
- Python will be used for the Uber app (it is written in Python) and some automation efforts that aren't in Terraform.
- Terraform
- Create an S3 bucket to store Terraform State files
- Create an AWS ECR repository with Terraform
- Create an EKS cluster
- Docker
- Create a Docker image
- Store the Docker image in AWS ECR
- Kubernetes
- To run the Docker image that's created for the containerized Uber app. Kubernetes, in this case, EKS, will be used to orchestrate the container.
- CI/CD
- Use GitHub Actions to create an EKS cluster
- Automated testing
- Testing Terraform code with Checkov
- Monitoring and Observability
- Logs, traces, metrics, and monitoring for the EKS cluster and the containerized apps.
Labs
- Prerequisites
- AWS:
- Terraform - The purpose of the Terraform section is to create all of the AWS cloud services you'll need from an environment/infrastructure perspective to run the Uber application.
- Docker - The purpose of the Docker section is to create a Docker image from the app that the organization is running on-prem (the uber app), containerize it, and store the container inside of a container repository. For the container repo, you'll use AWS ECR.
- Kubernetes - The purpose of the Kubernetes section is to connect to EKS locally and to write the Kubernetes manifest to deploy the Python Uber app.
- Automated Testing - The purpose of the Automation Testing section is to ensure that all of the Terraform code is performing as it should be from a policy, security, and static code analysis perspective.
- CICD - The purpose of this section is to automatically create an EKS cluster with CICD using GitHub Actions
- Monitoring and Observability
- Performance and Resource Optimization (WIP)
Explore related projects
n8n-io/n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
209,840 starslanggenius/dify
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
160,680 starsmicrosoft/PowerToys
Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows
140,710 starsstablyai/orca
Orca is the place for working with a fleet of agents (e.g. Grok Bot, Claude Code). Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.
119,206 stars