Do not use AWS CloudFormation

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

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • talent.io - Download talent.io’s Tech Salary Report
  • Scout APM - Less time debugging, more time building
  • Pulumi

    Pulumi - Universal Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀

    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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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

    Client, backend, and services for Dark: https://darklang.com

    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