As a starting point for writing about my line of work, here’s a high-level overview of some of the principles that I consider important for the devops mindset. This is a placeholder of sorts, as I plan to write more about each of these bullet points in future posts.
Caveat: None of these are original thoughts, they’re just the scraps I’ve collected along the way.
- Stability is paramount
- Resilience through redundancy - servers as cattle, clusters as cattle, no snowflakes
- Use logs and metrics for visibility, but make sure you understand the baseline for good state and minimize noise
- Automated infrastructure is not the same as autonomous infrastructure
- Separate configuration from state whenever possible
- Try to understand the problem before you attempt to solve it
- Infrastructure as code is not a replacement for good documentation
- Beware of over-engineered solutions, and solutions in need of problems. Often the boring option is the best option
- Fail fast - failure should be an option, and can be automated against