Skip to content
This repository has been archived by the owner on Jul 25, 2024. It is now read-only.
/ devops_homework Public archive

homework assignment for potential devops engineers

Notifications You must be signed in to change notification settings

Datical/devops_homework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Liquibase DevOps Homework

Please clone this repo. Do not fork unless you want others to potentially see your work.

Please ask questions. You can email me at [email protected].

The assignment is to troubleshoot the app locally, build the infrastructure, and deploy it.

Please create a NOTES.md with your thought process, troubleshooting, and solutions. The goal here is not to "weed someone out" but rather to see your thought process when dealing with a typical DevOps-y day :)

Task 1 - Application

The application is a simple to-do list app. There are bugs that need to be fixed:

  1. The Dockerfile for the api (todo-api) is inefficient. Convert it to a multi-stage docker build and make it as efficient/small as possible. If done correctly the final image should be < 300 MB.
  2. The docker-compose file in the root of the project has 2 bugs. Fix them. You should be able to run a docker-compose up to start the application. If the application is working you should be able to browse to http://localhost and create a to-do list.

Task 2 - Infrastructure Resources

The infrastructure should be written as code. Please create the following resources in the AWS free tier. Note that using existing public modules is perfectly acceptable:

  • Elastic Load Balancer
  • EC2 Instance
  • Postgres RDS Database
  • Any required security groups

Infrastructure Requirements

  • The load balancer should only allow access to port 80.
  • The EC2 instance should only allow access from the load balancer
  • The database should only allow access from the EC2 instance
  • We should be alerted if the ELB health check is not passing.

Task 3 - Application Deployment

Deploy your docker containers to the EC2 instance created above.

Task 4 - Production Database

  • The database is currently a local postgres docker container. This is fine for local development, but not suitable for production. Make any necessary changes required to use the RDS Database you created instead.

About

homework assignment for potential devops engineers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published