SIGNALW

Basics about DevOps (study notes)

Notes taken from a DevOps course by Ben Lambert.

What is DevOps?

There isn’t consensus on a single definition on DevOps. But the lack of any standard definition doesn’t detract from its value. Because DevOps is a philosophy. It’s the philosophy of the efficient development, deployment, and operation of the highest quality software possible.

Three Tenets:

  • Culture
    • Culture requires the removal of silos (Dev/Test/Security/Ops) in favor of high collaboration, e.g. cross-functional teams, teams that are responsible for the complete life cycle of a product, where everyone works towards a common set of goals.
    • Blameless culture, one that understands that failure is going to happen and it’s important to prevent a similar failure from happening in the future.
  • Automation
    • Key point is reducing human intervention to a minimum.
    • There are a lot of places to use automation in the pipeline of development, deployment and operations:
      • Development –> CI
      • Deployment –> CD
      • Operations –> IaC
    • Benefit is it allows the whole software engineering pipeline to move faster, scale better, and produce higher-quality software.
  • Metrics
    • Basic metrics that help to quantify the success of DevOps practices: frequency of deployments, mean time to recovery (MTTR), mean time to discovery (MTTD), system availability, service performance, customer complaints, lead time.

Business values of DevoOps

  • improve lead time
  • improve system stability (Git, Jenkins, Spinnaker, …)
  • reduce operational costs