SRE Assessment - steeleye/recruitment-ext GitHub Wiki
Technical Test
This task should demonstrate SRE skills, using all of the below:
- AWS services
- Infra as a Code(IAC) tools such as AWS Cloud Formation,Terraform etc.,
- End to End Automation
- Configuration Management (or) Scripting
- Source Control
If your solution provides a list of manual steps, you are doing it wrong.
Task
a) Launch 3 separate Linux nodes using the tools of your choice
2 x application nodes
1 x web node
b) Deploy the sample application to the appropriate nodes
c) Install NGINX on the web node and balance requests in a round-robin fashion
Goal
Sending a HTTP request to the web node should return the response:
Hi there, I'm served from <application node hostname>!
Demonstrate the round-robin mechanism is working correctly
Considerations
Share your work on a public git repo
Include a README.md with clear and concise instructions
Invocation should be simple and intuitive
Take care not to over engineer a solution
Sample application code (Golang)
package main
import (
"fmt"
"net/http"
"os"
)
func handler(w http.ResponseWriter, r *http.Request) {
h, _ := os.Hostname()
fmt.Fprintf(w, "Hi there, I'm served from %s!", h)
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8484", nil)
}