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