Members of the DevOps team are responsible for operations, configuration management, automated deployments, and monitoring.
The following problem is an opportunity to demonstrate your knowledge in these areas and perhaps learn something along the way.
-
Configuration Management: Using the latest Ubuntu LTS, write the necessary ansible playbook to:
-
Build a Docker Swarm Cluster with three masters servers (you can use vagrant to achieve it).
-
Apply best practices to make the server secure.
-
-
Application: the application exposes the port
:8080, and there are the two endpoints:/workand/metrics. Theworkendpoint just returnOKresponse, and it did not expect any input. The/metricsendpoint exposes Prometheus metrics. You will find the application in the application directory.- Containerize the application. The app is a simple binary ready to go.
- Use docker stack to deploy the application in the cluster.
- Apply best practices to build the docker image and deployment.
- It seems that the developer had a bad day, so the app has an easter egg, can you find it?
-
Have fun! Feel free to add your own features and ideas so long as they complement and extend the required features. This is your chance to show off.