DEV Community

mikkergimenez
mikkergimenez

Posted on • Edited on

Short in progress: Infrastructure is not code

It's not that I don't fully embrace infrastructure as code, but I do wonder if there's something past this that helps shore up the leaky abstractions.

On the one hand infrastructure is defined by specifications.

Things I don't like about infrastructure as code.

  1. How much of the code is underutilized. So much of the code you touch once and then never touch again.
  2. It's a poor abstraction, for all the focus on declarative code, Infrastructure management is often an imperative process, how things are done is often as important as what is done (upgrading a database)
  3. In this imperative process, there is often a lot of context required. When you manage things via a UI, there are warnings, suggestions (backup first) and you can monitor the status of the imperative change.
  4. A mature codebase often feels like the code is the focus of the attention rather than the infrastructure itself. Every time you touch terraform, there could be a ton of upgrades to manage. For instance, terraform updates their AWS module near weekly.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay