lucidsoftware / cumulus

Cloudformation alternative
http://lucidsoftware.github.io/cumulus/
Apache License 2.0
28 stars 6 forks source link

Question: cumulus vs terraform #127

Open conorgil opened 8 years ago

conorgil commented 8 years ago

I just read this blog post giving an overview of cumulus. It sounds interesting and I have the same desire to essentially automate a diff between my IAC in git and the actual AWS account. However, based on my understanding it seems like Cumulus is trying to replace CloudFormation by using the AWS API directly. There are tons of AWS resources and tons of APIs. There are already existing tools which are tackling this and we are using one called Terraform by HashiCorp. It has a very active community and already has tons of AWS API coverage with a large team already focusing on the tool full time.

Questions on my mind:

Thanks for writing the blog post and super interested in your thoughts here.

mike503 commented 8 years ago

To me, Terraform seems incredibly complex. This project seems to simplify things in an easier to digest manner. However, the documentation other than specific modules is completely sparse. There isn't a clear INSTALL, I haven't found where the AWS API configuration is supposed to be defined, etc.

Otherwise, this seems simple enough that I was excited to give it a quick try. Especially if I can view my existing setup, to be able to produce some templates out of that instead of from scratch.

msiebert commented 8 years ago

@mike503 I just added a page about getting started with Cumulus: https://lucidsoftware.github.io/cumulus/getting-started/

@conorgil we originally built Cumulus to meet our IAC needs because Cloudformation wasn't quite what we needed. Our desire was to have a tool that would reduce boilerplate, work with AWS, and avoid destructive changes. We think what we came up with is a pretty nice interface into AWS infrastructure managment, and which, as @mike503 pointed out, is a little simpler than Terraform. That's probably because Terraform tries to support many PAAS providers, and Cumulus is an AWS tool. Hopefully, this simplicity makes using Cumulus as nice for other organizations as it has for us.

Additionally, we don't view Cumulus as a product per se, and therefore is not a true competitor with Terraform or Cloudformation. It's the tool we use at Lucid, and as such we will continue to support it.

repudi8or commented 8 years ago

Thats for the "getting started" page but i think it needs a litte more info. I expected from the doc that the "migrate" command would pull info from my aws environment and create "configuration.json", but that seems to not be the case. If a minimal configuration.json needs to pre-exist before running "migrate", can you please provide sample contents.

(.env)somedude@somedude:~/projects/cumulus$ cumulus -v -r somedude-role cloudfront migrate Reading configuration from '/Users/somedude/projects/cumulus' /Users/somedude/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/cumulus-aws-0.11.0/lib/conf/Configuration.rb:102:in read': No such file or directory @ rb_sysopen - /Users/somedude/projects/cumulus/configuration.json (Errno::ENOENT) from /Users/somedude/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/cumulus-aws-0.11.0/lib/conf/Configuration.rb:102:ininitialize' from /Users/somedude/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/cumulus-aws-0.11.0/lib/conf/Configuration.rb:143:in new' from /Users/somedude/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/cumulus-aws-0.11.0/lib/conf/Configuration.rb:143:ininit' from /Users/somedude/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/cumulus-aws-0.11.0/bin/cumulus:630:in <top (required)>' from /Users/somedude/.rbenv/versions/2.1.5/bin/cumulus:23:inload' from /Users/somedude/.rbenv/versions/2.1.5/bin/cumulus:23:in `

' (.env)somedude@somedude:~/projects/cumulus$

msiebert commented 8 years ago

@repudi8or I linked to a sample configuration in the Getting Started docs, but it turns out the styles on the page made it so it looked just like regular text :grimacing:. Luckily, I've got a pull request open to make the site look nicer that should fix this issue. In the meantime, if you just use the sample config in the repo, it should fix your problem.

msiebert commented 8 years ago

btw, please keep the suggestions or pull requests for the documentation site coming. We'd like to make sure that the documentation is easy to understand, and there are likely some rough patches, since this is the first time the documentation is being used outside Lucid.