cdCon talk w/ Michael Stahnke from CircleCI.

In the world of gitops, everything is code (infra, app, etc). This means, the unit of work is a “commit”. The result of gitops should be determinism.

It’s not necessarily determinism, b/c of things like docker’s mutable tag of “latest” Determinism requires knowing all the various inputs.

  • Similar to waterfall where you need to know all the inputs/requirements up front.

“what’s right” - test phase “what’s wrong” - deploy phase

“change” is the new unit of work given the broader complexity of things.

  • This can be due to something like “a load balancer spins up a new node” or “your payment provider said you can’t take payments from Russia”
  • Captures intentional change (code change) and unintentional (external stuff which aren’t source code)

If “change” is the unit of work and not the “commit”, can we invert things and validate before we even commit?

Release time feedback “monitoring is running CI in production” lol

“the system is not a controlled environment, therefore determinism isn’t possible”

“change before the change”

  • will the top 20 users of react still work if we release this new version?

He calls this “continuous validation” to “automate confidence”.

  • I really like the phrasing “automated confidence”.