Clutch, the Open-Source Platform for Infrastructure Tooling
eng.lyft.com
eng.lyft.com
It looks like it would aid in more self-service and keep users away from cloud console's.
The workflow engine looks the most powerful since it would allow for a way to avoid fat fingering common manual changes.
Sad that it doesn't seem to offer any deployment visibility options. I would love to connect it to our CI/CD system to see what changes are currently being rolled out.
There's the k8s manifest, Cloudbuild config, various operators for databases, a CloudFormation repo for AWS resources, another one for Datadog config etc. It all feels very disjointed.
It helps abstracting deployment away.
Disclaimer: I work @ ShuttleOps
One job, one tool is still valid today.
Deployment visibility is what my startup - https://sleuth.io - is trying to focus on, with light workflow sprinkled in. Other options I've found are usually tracking as a side feature of a tool like Sentry, Rollbar, or GitHub, or a completely custom app like what Slack built in https://slack.engineering/deploys-at-slack-cd0d28c61701
I'm not entirely sure what problem does Clutch solve that is not solvable using Terraform
neither of them solve for CI or pull request workflows themselves, so people try to bridge the gap with Jenkins and now the frankenstein monster comes to life -- now you've got golang, groovy, yaml, none of which your product devs generally have any familiarity with, let alone the idiosyncrasies of terraform state management, cloudformation stacks stuck in ROLLBACK_COMPLETE, yaml whitespace sensitivity, Jenkins scripting sandbox woes, troubleshooting from logs without being able to step through a debugger in an IDE, errors that only happen in eu-west-3, etc, etc...
Clutch looks great!
I previously worked at Stripe, where we had something vaguely similar; a UI for managing deploys, infra changes, etc. All a thin wrapper around a CLI we could also use, plus some niceties like embedded monitoring. I'm going to really miss that tool the next time I build my own web service.
It really helped product engineers make changes to production with speed, confidence, and safety.
Before, doing so was a combination of yaml config changes, a smattering of in-house and third-party CLI's, and sometimes complex combinations thereof. You could do it, and we did all the time, but it was less discoverable, slower, and more prone to error.
I'll be curious to see if Clutch is something that proves easy for other orgs to adopt to their needs.
The real promising part is how this is made to be extended. It seems like a self-service ops API built around protobufs which is a good starting point.
Any idea which one?
Edit: I assume Backastage as it’s the first listed on the linked comparison page.
It generally looks like:
- Go to company with major growth
- Tackle a problem they face
- Leverage company resources to build a open source solution
- Sell management on all the benefits of open source
- (Optional) Wait for stock to fully vest
- Create consulting services company for the tool you built
This plan won't work if management doesn't agree that you're solving a valuable problem, and also won't work if other companies don't view the problem you're solving as valuable.
This part requires permission from the company in some jurisdictions
Comparison isn’t perfect but it’s usually good enough.
Although lots of companies use common tools (let's say, randomly, Kubernetes), companies' infrastructures are usually a pretty unique combination of software and rules. The "infrastructure tooling" abstracts away those software and rules and allows developers to deploy "things" simply using the provided tools.
For example, imagining a company using Kubernetes, an infrastructure tool could be a web UI that allows you to deploy a specific application by simply clicking buttons. That tool would in fact deploy to Kubernetes, yet as the user that detail doesn't matter to you.