Skip to content

This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS

License

Notifications You must be signed in to change notification settings

FutureTechZW/DevOps-The-Hard-Way-AWS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps-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.

  1. AWS
  2. Python
  3. Terraform
  4. Docker
    • Create a Docker image
    • Create an AWS ECR repository with Terraform
    • Store the Docker image in AWS ECR
  5. Kubernetes
  6. AWS CDK
  7. CI/CD
  8. Monitoring for applications and cloud services
  9. GitHub
  10. Security best practices (DevSecOps)
  11. Automated testing

Labs

  1. Prerequisites
  2. 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.

WIP

This project started on 5/16/2021 and is not done yet. I'm expecting the full thing to take 1-2 months based on my current time constraints.

About

This repository contains free labs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 87.7%
  • HTML 8.4%
  • Makefile 1.8%
  • Dockerfile 1.1%
  • JavaScript 1.0%