Technical exercise

We would like to challenge you with a technical exercise. It will check the level of your knowledge in common DevOps technologies that we’re using. You don’t have to do all of the exercises, but try to do as much as you can.

1. Github

All your changes should be made in a private fork of this repository. When you're done please:

  • Create a private repository on your Github account
  • Give read only access to 10Clouds-devops-test user.

2. Application

  • Prepare a simple 3-tier hello-world application with flask or django where you can simply interact (read/write) with database.

3. Docker

  • Dockerize the prepared application
  • Prepare Docker Compose files for local/dev/prod environments

4. Automation

  • Prepare CI/CD flow as a declarative/script pipeline (Jenkinsfile)
  • Use ansible to deploy all changes to server

5. Infrastructure

  • Terraform → Prepare IaC setup on one of the selected public clouds (aws/gcp). Think about: VPC, EC2/ECS, S3, RDS, ELB etc.

6. Documentation

  • Remember about writing simple and clear documentation of how to run your application.

*7. Kubernetes

  • Make sure that your containers can be deployed on Kubernetes Cluster. Minikube can be your new friend.

8. If you have any ideas and want to expand above tasks feel free to do so!