4 ms·
Is anyone still using Cloudformation?
by guidedlight 3y ago
Is anyone still using Cloudformation?
- camhart 3y agoUsed by serverless framework.
- throwaway2990 3y agoYes. It’s good.
- trulyhnh 3y agoYes. Curios what do you use?
- simmerup 3y agoi use it on my team. Makes it easy for every dev to set up their own environment
- merek 3y agoIt's used under the hood by AWS CDK and AWS SAM, both of which are popular
- lifesaverluke 3y agoYes. But only with the CDK.
- irjustin 3y agoSame. The CF templates are a nightmare at any reasonable size.
- winkelwagen 3y agoWhat would you use instead?
- aden1ne 3y agonot OP, but I use terraform instead.
- simmerup 3y agoI find terraform doesn’t do the tear down as well
- vegardx 3y agoIn what way? I've always found that Terraform does it exceptionally well, mostly because of the dependency graph and how good providers map resources so that they don't end up in a dead lock.
- AlecBG 3y agoI've found the exact opposite of that in practice. Had way more problems with tearing down CDK stacks
- re-thc 3y agoTerraform is too low level. If only there were L2 / L3 constructs like CDK. There are modules, but often only community / 3rd party.
- zmgsabst 3y agoThat’s on the way, eg https://developer.hashicorp.com/terraform/cdktf https://developer.hashicorp.com/terraform/cdktf
- re-thc 3y agoSure, but we're talking about now. Lots of things have been "on the way".
- OJFord 3y ago> There are modules, but often only community / 3rd party. What, it's Terraform's fault that you haven't bothered to write one yourself?
- lxrbst 3y agoIndirectly and/or under the hood. What alternatives are there? Terraform?
- ody4242 3y agoTerraform Crossplane (although it's quite new, and missing a lot of things that Terraform has)
- jdub 3y agoYes. Directly – no CDK or wrappers – using the serverless transform when it makes sense. I know how CloudFormation behaves, and none of the wrappers have convinced me that translating through CloudFormation makes sense. ("through" because if you're using CDK, you're translating from imperative to declarative to imperative... why?!)
- slau 3y agoI write CloudFormation for a living. I had been quick to disregard CDK, and sort of ignored it for a while. I tried it on a recent greenfield project, and now I’m kicking myself for not giving it a try in earnest earlier.
- moritonal 3y agoIt's in my opinion one of the more interesting tech in the IaC space. Even the way it works internally with the JS interpreter is kind of smart.
- lf-non 3y agoYes, purely from a user pov, the way fake stack traces are reported to point out the failing construct is quite nice.
- loevborg 3y agoWhat do you mean by "JS interpreter"? Can you elaborate?
- anentropic 3y agoThe libraries for other supported languages of CDK are built as wrappers for underlying JS or maybe TS code via https://github.com/aws/jsii https://github.com/aws/jsii So all the core CDK code is written first in JS/TS and then stubs for the other languages are added Unfortunately this is often done without consideration for how the other supported langs actually work, and artefacts of e.g. JS lack of support for kwargs leak through This is why e.g. the typing in CDK Python is completely broken - pretty much uniformly the concrete types like "Resource" don't implement their corresponding interface like "IResource" (to a type checker) (There are many other typing niggles like this but that's the most egregious and pervasive one) At the end of the day, having to explicitly cast concrete types as their interface to satisfy type checker is a minor annoyance, albeit a stupid one that could have been avoided with more care in the core library. I could live with that, but I encountered so many bugs and issues trying to use CDK on current project that it's now much clearer to me why every company I worked at previously was using Terraform. Pretty sure some of those issues are ultimately CloudFormation ones. The cumbersome CF > CDK JS > CDK Python stack is great for obfuscating errors and making debugging hard or impossible though. Pulumi do something similar, albeit with Go as the core language and Terraform underneath. From what I've seen with a little use they have a much more successful result though, Pulumi Python was not a complete mess, and deploys faster and more reliable with better error feedback. I guess they just took more care to get it right.
- dmw_ng 3y agoThere are tons of resource types only available via cfn compared to cloud control api vs terraform vs direct api, any decently complex deployment often requires mixing one or more options just to get full coverage
- running101 3y agoYes, I have engineers who refuse to use anything else.