Skip to content

Instantly share code, notes, and snippets.

@stevengonsalvez
Last active May 24, 2021 12:34
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stevengonsalvez/d047746d11afcf4d7e19db040db4d0fe to your computer and use it in GitHub Desktop.
Save stevengonsalvez/d047746d11afcf4d7e19db040db4d0fe to your computer and use it in GitHub Desktop.

Terraform over ARM any day

  • The JSON of ARM is so hard to read or write from scratch . it is super hierarchial and really cluttered . HCL is much more readable and even writing from scratch is not a pain
  • The interpolation is really way better in HCL compared to ARM . Eg: Inabaility to ingest a map as an interpolated value (for environment variables)
  • A bit of conditional operations (for each , ternary etc) in HCL.
  • Predictability: With the plan , it actually gives you what exactly will happen
  • Modularity with HCL (Dont get me started with Nested Syntax in ARM !!!) .
  • inability to create the resource group and the other resources in one template ? - why ?
  • Sematic versions (versions of api used etc) , cannot be declared as semantic parts of code.

ARM advantages

  • State management (I think so ) : according to documentation ARM is stateless , but still allows to rollback to previous versions (so manages some state) - Have not tried out parallel pipelines executing on ARM . On terraform , the locking mechanism prevents from split brain problems . If ARM deals with it (then the state management is simpler)
@SamChristy
Copy link

SamChristy commented May 24, 2021

Terraform Advantages:

  • OS Community with plethora of existing templates, covering a wide range of technologies.
  • Vendor Agnostic, allowing one solution to cover all IaC needs.
  • Larger userbase, making recruiting and onboarding easier.
Disadvantages
  • Runs locally by default, making some things slightly harder to manage when running in the cloud (e.g. secret management)?
  • Potentially more complicated than "native" ARM alternative?

@SamChristy
Copy link

GitHub Actions Advantages

  • Simpler
  • Loads of free templates on GH marketplace, covering all common usecases
  • Large market share/more popular than DevOps
Disadvantages
  • Less enterprise functionality than DevOps (e.g. Gates)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment