Hacker News new | ask | show | jobs
by SingAlong 2158 days ago
I'm working on a command-line deployment tool that deploys to DigitalOcean and AWS LightSail (to start with). This is based on my experience deploying apps.

I expect to finish the remaining work in the next few weeks. Can I contact you to try it out? (My email is on my profile)

1 comments

You mean like Terraform?
Terraform is so heavy handed - I wouldn't call it a deployment tool. It's more of a means to build out infrastructure in AWS.

Once you get your AWS account setup there's still virtually no tooling to actually manage deploys of new code into that infrastructure. We're going to hand roll some tooling on top of aws-cli most likely.

CodeDeploy is totally fine, but honestly I'm tired of being nickel-and-dimed in AWS.

I'm already paying AWS a massive amount for compute, storage, and bandwidth - I don't want to pay more just be able to use it efficiently.

Maybe it's the FOSS nerd in me - but I can't stand the walled-gardens we're essentially creating in these IaaS providers.

I understand.. alot of hidden costs that add up..

(just fyi though, codedeploy is free for EC2 / lambda usages: https://aws.amazon.com/codedeploy/pricing/ )

I agree Terraform isn't great for installing software. Cloud-init works but it can be cumbersome. If that is your major pain point though then I'd look into EKS and using Kubernetes to manage and install software. There is a CLI tool called eksctl that makes setting up an EKS instance a breeze. I don't know all the intricacies with AWS, but with Google Cloud you can setup a single node "cluster".

If you're already planning on standing up at least 3 compute instances though, might as well run EKS in a cluster.

It took me half an hour and a 30-line (with spaces) terraform file to get a Lightsail instance up with static ip, running wordpress.
I'm building a bunch of opinionated Ansible playbooks + tooling, with a Heroku-like experience.
I’m curious- why ansible instead of terraform for dealing with the cloud provider APIs for your base layer of infrastructure?
TBH because Ansible is what I’ve been using for a long time.

And based on what FunnyLookinHat mentions in another comment, Terraform seems to offer a lot less. I have no first-hand experience with Terraform to confirm that.

Terraform goes quite a lot further than FunnyLookinHat mentions. I actually don't advocate for using it further than infrastructure myself (I like using specific tooling for specific jobs), but that doesn't mean it can't go a lot further (https://www.terraform.io/docs/providers/index.html for a list of the providers, and it's possible to use the null provider to write some more custom things and hack arounds).

I've had a lot of success coupling Terraform with provisioners like Ansible or Saltstack.

Of course, if Ansible is what you're used to and it works for you, there's no real benefit to using something else right now :) I'm a big fan of Terraform, so I hope you also have a play around with it to see if it can help with what you're doing in the future.

Yea it’s focused on the infrastructure layer.

It has a separate state mechanism to keep things in sync that Ansible didn’t have the last time I tried only using Ansible. They’re a match made in heaven when put together IMO.