This was a challenge interview for a senior devops position.
In this task, you'll write code that provisions a web server and database to the cloud. We will be looking at your skills in the following areas:
- setting up infrastructure from scratch,
- approaching a problem, and
- documenting your solution.
This is a timeboxed task so feel free to explain tradeoffs, or how you would improve aspects of the solution given more time.
- Provision a web server and SQL database to the cloud using infrastructure as code
- The application needs to be reachable from the internet
- The database needs to be reachable from the application
- The deployment needs to be highly available (HA), multiple zones or regions
- Write documentation which provides a clear way to recreate your setup and test the application is running correctly
- Pick any web server, as long as it can respond to HTTP requests on port 80 or 443
- Pick any SQL database
- The cloud infrastructure provider can be either Google Cloud Platform (GCP) or Amazon Web Services (AWS)
- Use any configuration management tool
- Use some of the current tools we use: Terraform, Kubernetes
- Emphasize readability, maintainability, security, and DevOps methodologies.
- As this is timeboxed, explain tradeoffs you made in these areas and how they could be improved.