

Imperative vs. Declarative Change Workflows with Dominic Hutton & Niccolo' Cascarano
Dec 11, 2024
Dominic Hutton, Staff SRE at HashiCorp with a rich background in engineering, teams up with Niccolo' Cascarano, Senior Staff SRE at Google and a pro in continuous delivery systems. They dive into the intriguing world of configuration management, comparing imperative and declarative workflows. Listeners will learn how declarative methods simplify complexity while imperative approaches can cater to quick tasks. The importance of managing scripts, navigating synchronization pitfalls, and fostering collaboration between development and operations also takes center stage.
AI Snips
Chapters
Transcript
Episode notes
Declarative vs. Imperative Configuration
- Declarative configuration uses a DSL to describe a desired state, letting the system determine how to achieve it.
- Imperative configuration involves writing specific instructions executed sequentially, like traditional programming.
Imperative vs. Declarative Systems
- Imperative systems require code to define actions, while declarative systems use data to define the intended state.
- An imperative system can indeed have a declarative interface, as seen in Spinnaker.
Spinnaker and Kubernetes Examples
- Spinnaker uses declarative APIs to create workflows, but ultimately executes an imperative workflow.
- Kubernetes, conversely, is declarative; you define the desired state in a YAML file, and Kubernetes figures out how to achieve it.