Do not use AWS CloudFormation

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Pulumi

    Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages ๐Ÿš€

  • There is a local company here in Seattle called Pulumi[1]. We've been using their tool extensively over the last 18+ months and it's pleasure to use.

    It's built on top of Terraform, but it simplifies IaC because you can now write your infra components in one of few high-level languages they support (JS, Go, Python, etc). CDK is similar, but biased towards AWS. With Pulumi you can provision your infra stuff in multiple clouds easily.

    [1] https://www.pulumi.com/

  • terraform-cdk

    Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform

  • I'm ex AWS so I used CloudFormation sort of because I had to (I guess, no one told me not to use terraform, but it felt wrong not to drink our own champaign). I left AWS to co-found a startup and just used what I knew already (namely CDK). I have to say I am highly tempted to give Terraform a look, but if I do, it will be terraform + CDK: https://github.com/hashicorp/terraform-cdk

    For me troubleshooting, speed, and that punch in the gut feeling when you see after 30 mins of crunching the dreadful - update failed rollback in progress.

    AWS should fix this by making the SDK/API be 1:1 with infra as code. The result of a describe call should === the stuff needed to create that thing declaratively. It's almost like that.

    CDK is an amazing project, their high level constructs are making AWS SAM / Serverless framework / Amplify complex. With a line of code I get a best-practice opinionated VPC, an ECS cluster, a Fargate task with an ALB.

    So I agree perhaps CFN has native issues (speed, troubleshooting) but don't hate CDK just because it uses CFN in the back.

    So if you have to choose between CloudFormation or Terraform, I'd choose CDK.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cloud-radar

    Create Functional and Unit tests for Cloudformation Stacks.

  • If you are using cloudformation, I have a python testing library https://github.com/DontShaveTheYak/cloud-radar

    It allows unit testing of cloudformation templates locally without needing aws credentials or deploying anything.

    It also supports functional testing of cloudformation stacks once they are deployed.

    Full guide on my blog https://la-tech.co/post/hypermodern-cloudformation/getting-s...

  • dark

    Darklang main repo, including language, backend, and infra

  • I think this is the motivation for https://darklang.com/, trying to solve a lot of the complexity of infra. That said itโ€™s a huge undertaking.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts