6 ms·
Someone just brought this up to me, but I don't see the use if you're already using Flynn to deploy Rails apps. Anyone actually know where this product would f
by AtheistOfFail 10y ago
Someone just brought this up to me, but I don't see the use if you're already using Flynn to deploy Rails apps.
Anyone actually know where this product would fall in the development pipeline? It sounds amazing.
Edit: Okay, got it, it's a configuration management application which only applies if you're manually handling your AWS containers.
- rememberlenny 10y agoTerraform allows you to store your configuration changes in version control. Instead of manually clicking buttons in AWS or any kind of IAAS, you can set up Terraform configurations to set up IAM users or spin up EC2 instances. This provides infrastructure configuration that is clearly documented.
- shorsher 10y agoIn my internship this past summer, I used terraform to easily describe the infrastructure and deploy my application on AWS. I.e, what type of EC2 instance I wanted. I really enjoyed my time using it.
- suraj 10y agoI haven't used Flynn, however I am using terraform. Main purpose is to completely automate AWS configuration so we can bring up entire site in CI. This makes it really easy to have staging and production deployed from CI.
- user5994461 10y agoIt's not for development, it's for infrastructure. Terraform allows you to manage VPC, network, routing table , firewalls and gateways in the cloud. There is no other software to do that (only manual click in the AWS website). It can also create AMI, instances and auto scaling groups but there are many tools in that field that do it better.
- sethvargo 10y agoHi there, Terraform is a tool that captures Infrastructure as Code. Flynn appears to be a PaaS, akin to something like Heroku with scheduling capabilities on top. Under the hood, there is some sort of infrastructure that Flynn is deploying to; it's providing an API on top of it to easily manage deployments and scaling. Terraform is the tool that defines the layout and composition of underlying infrastructure resources. Another one of Terraform's strengths is that it supports multiple providers. Most of this thread mentions AWS, but Terraform also supports GCP, Azure, and DigitalOcean. But Terraform can manage anything with an API, so you can codify things like GitHub teams and permissions, DNS configuration, PagerDuty escalation policies, and so much more (https://www.terraform.io/docs/providers/index.html https://www.terraform.io/docs/providers/index.html). All of these definitions are captured in code. You can bring that code under management of source control to get peer review, pull requests, or permission models (signoffs) too. If you are an individual developer happy with Heroku or Flynn, Terraform probably isn't the best choice for you, especially if you do not have a background in operations or you do not want to manage servers. However, most medium->large scale production applications cannot be supported by such technologies and demand a tool like Terraform to manage the complexity. I hope that clears up the differences a bit. Disclaimer: I work for HashiCorp, the company that makes Terraform.
- hubert123 10y agoSo why isn't it also a replacement for ansible? I dont understand this artificially limited scope. You set machines up, why not also set up their software and repos?
- bschwindHN 10y agoAnsible can be used in conjunction with TerraForm and Packer to create AMIs which get fed into a TerraForm script. That's one way, anyway
- HeyImAlex 10y agoI don't know a lot about terraform, but it sounds like they are very different things? Terraform talks mostly to cloud provider apis, ansible usually deals with running code on the servers themselves.