Found in 1 comment on Hacker News
thraxil · 2020-04-29 · Original thread
I know I'm late to comment, so this will probably get buried, but I think a key to understanding Terraform and why it is different is to understand that it's an implementation of the Reconciler Pattern. This is a more useful distinction than the usual declarative vs imperative contrast that is usually brought up.

The Reconciler Pattern basically means:

* there is some notion of "expected" state, which is what you define (declaritively) in the configuration

* there is some "actual" state, which is basically what is running at whatever cloud service, etc. you are dealing with.

* the reconciler's job is to query the actual state, compare it to the expected state, calculate the difference (usually in terms of a graph), then make whatever changes it needs to to bring "actual" in line with "expected".

Kubernetes, SaltStack, and others implement the same pattern (just on different levels of resources) and it's becoming increasingly common and important to understand if you're working with cloud stuff.

https://www.oreilly.com/library/view/cloud-native-infrastruc...