Hacker News new | ask | show | jobs
by SkyLinx 1272 days ago
I had never heard of MicroOS before, sounds interesting. Before building this tool I actually used both Terraform and Pulumi. My tool is a ton faster setting things up and only requires a small YAML config file. Would be able to give it a try? I am looking for feedback :)
2 comments

You might then be interested in Fedora CoreOS, we use it with Hetzner cloud and real Hetzner root server with good success. (Also with ovh)
I can test it. What would be the advantage if I use it in my tool instead of Ubuntu? At the end of the day with Kubernetes I don't think it makes much difference which OS you use. I picked Ubuntu because it's standard and servers with this image build very quickly with Hetzner Cloud.
CoreOS (and its spiritual successor Flatcar) are immutable, which gravely limits the silliness that can be done to them post-launch. We use now use Bottlerocket since we're on EKS, but it's even more locked down since to even get an interactive shell is some major hoopjumpery. I believe Talos goes even further and is completely devoid of a shell

So, yes, it absolutely matters which OS you use, of course depending on your threat model and tolerance for "no, you don't get to ssh onto a Node and do whateverthehell you want"

How did you like pulumi? Why did you use both terraform and pulumi at the same time, my understanding was that they serve the same purpose.
We use Pulumi at my current workplace and love it. Being able to use a real language (Typescript, in our case) allows us to create data structure abstractions to feed our Infrastructure-as-Code that make sense from a developer interaction point-of-view. Our abstractions are less leaky and more in-line with a well designed interface, ready for use by a team that doesn't need to know all the details. We can have developers write feature code and design services and just plug in simple details for new services in our stacks Yaml.

However there is a gotcha. There are nearly infinite ways to setup your Pulumi codebase and there is no real prescribed structure outside of "create stacks". This can lead to a lot of time spent in architecting / implementing / testing different structures and abstractions which are not really a thing with Terraform. This can take time and can lead to refactors if you are not extremely intentional with your design.

I used Terraform first and then switched to Pulumi. What I like of Pulumi is that you get to use a proper programming language rather than a DSL, so you have more control/power in a way.