Fork me on GitHub

I want to start getting a little more organized with my spinning up of ec2 servers (for long running and short lived things) as well as a slowly expanding list of other cloud resources. Is it worth it to just go all in on cloudformation right away, encode the few ec2 instance setups that I use as templates and grow them slowly over time? Or is that overkill if it's not clear that I need it, and sticking with the clojure aws-api library and functions wrapping instance request data the way to go? This seems more ad hoc and perhaps not taking advantage of the "Right tool for the job" on aws.


I can’t say that I used Cloudformation much but I would recommend looking into Terraform.

👍 1
AJ Jaro12:04:36

Yep terraform and Pulumi is another good iaas


Sorry I know this is googleable/researchable but if you have a chance, is there a quick reason you prefer them? Is it that they are more general and don't tie you to AWS? Nicer to use ergonomically? My first impressions are that Terraform might be a bit less tedious than typing out the cloud formation json but introduces its own config language. And pulumi offers an sdk but not for any jvm language. Neither really is getting me excited to try them out vs just big json files I can work with from clojure. Is it just that you have to try them all to get a real sense for the pros/cons of each?

AJ Jaro22:04:49

Right, yeah our Pulumi is written in TypeScript while our app is in Clojure. It allows the automated build up and tear down of resources on command with dynamic values based on previously spun up "things" Depending on what you're building this can be way overkill.


I’m not in love with all thing Terraform, like the HCL language but it’s practical and I find the Terraform AWS provider docs great.