This repo contains code for a multi-tier application.
The application overview is as follows:
+------------+ +------------+
<=> | (web tier) | <=> <=> | (api tier) | <=>
(load balancer) <=> | (web tier) | <=> (load balancer) <=> | (api tier) | <=> (db)
<=> | (web tier) | <=> <=> | (api tier) | <=>
+------------+ +------------+
The folders web
and api
respectively describe how to install and run each app.
This challenge is divided in multiples parts(deliverables). You don't need to finish all. Show us what do you finished.
- Create web
Dockerfile
- Create api
Dockerfile
- Define a
docker-compose.yml
in the project root that run theweb
andapi
with a simpledocker-compose up
- Publish the image in a public registry with the command
docker-compose push web api
- Create a PostgreSQL database with user, password and database.
- Create a Virtual Machine, or other solution, to run api application
- Create a Load Balancer pointing to api application
- Create a Virtual Machine, or other solution, to run web application
- Create the web docker container pointing to api docker container
- Create a Load Balancer pointing to web application
- Use a container orchestrator to run the applications
- Solution must handle instance container failures
- WEB and API tiers must have multiple instances
- Deploy of new version without downtime
- WEB should access API using a Internal Load Balancer, but keep the API public
Please specify all steps needed to execute and see the application working.
The scripts should be delivered as a public repo on Github or a pull-request made against the https://github.com/robsonpeixoto/devops-challenge-apps repo