1. 11

https://crossplane.io/

https://www.pulumi.com/

  1.  

  2. 8

    They’re both interesting (with pulumi having a bit more features available). But I think at this point terraform is so widely used and supports pretty much everything that they probably should have some comparison pages. I can’t find a “why use this rather than terraform?” justification page for either.

    1. 4

      I can’t find a “why use this rather than terraform?” justification page for either.

      https://www.pulumi.com/docs/intro/vs/ https://www.pulumi.com/docs/intro/vs/terraform/

      What I really enjoy about Pulumi is that, unlike Terraform, it defaults to remote state management service.

      1. 3

        I use Pulumi as I prefer to write (typed) code over YAML files. Thanks to that, I can leverage abstraction, composition and specialization constructs available in the wrapper language (I use Python). It’s a game changer for me.

        1. 1

          Have you tried tf-cdk? cdk.tf

          1. 1

            Not yet, I saw it on the TF website but it’s beta, isn’t it?

            1. 1

              Terraform wasn’t 1.0 until like this year.

              It works fine. :D

      2. 5

        Many are really starting to see Terraform become a quite intensive chore, I usually say once you get passed the first 100 lines it’s all downhill from there. Ultimately I don’t see Pulumi (and CDK for that matter) solve this fairly labor-intensiveness, but rather offer an alternative that doesn’t required RTFM’ing on how to do counts, lookups, etc. in HCL.

        Crossplane is very, very neat. Especially for an organization with a bunch of Kubernetes and manifest automation experience. There’s a few other tools out that that take Kubernetes-esque api resources such as eksctl and cluster-api. However again, with more customization of the ‘out-of-the-box’ resources, the more verbose that’ll become. I’m Personally interested to see how this space grows

        1. 2

          I was skeptical of Pulumi at first because HCL is at least a declarative language, which has a number of benefits. But an F# example convinced me you could likely use Pulumi in an entirely declarative way.

          1. 2

            Could likely use is the kind of expression that continues to make me want to force HCL on everyone I have to work with. I think declarative code and IaC are tightly bound for reproducibility and reliability purposes.

          2. 1

            They’re both interesting, but until some new(er) tool can match the ecosystem around Terraform when it comes to providers and modules it will be really hard to replace it.

            I know Pulumi is creating a registry, and they support cross-language usage (for example use a project written in Typescript in your Python stack)

            1. 1

              I think Pulumi has a bridge for Terraform providers.