(no title)
philipbjorge | 1 year ago
In general, I've found CI/CD templates, IAC templates and app templates to be an anti-pattern. It goes to the heart of scalable vs replicable.
> Put simply: something replicable can be copy-pasted (with variations as needed) to grow impact linearly in relation to effort and cost. Something scalable can create impact at a rate that increases faster than the rate at which your effort and costs increase.
In the contexts I've worked in, templates enabled us to rapidly grow and expand our business and technology in unmaintainable ways.
We scaled to 100 services, but our revenue and headcount didn't scale linearly to support the services over time.
---
In general, I lean towards solutions that facilitate distributing and updating templates over solutions that facilitate copying/pasting templates.
- Kubernetes this meant a common Helm service chart for the organization -- Now we could distribute and update kubernetes manifests to the org - CICD this meant building plugins that we distributed to teams - Application templates I've historically moved folks back into monoliths but the microservice chassis pattern looks like a solution here -- https://microservices.io/patterns/microservice-chassis.html
Your calculus might look different depending on your internal capabilities and resources. Good luck!
Atotalnoob|1 year ago
Similar to helm.
Right now, we are using dotnet new templates, which is .net’a way of creating new apps, yeoman for npm, etc.
No copying and pasting. Copying and pasting isn’t DRY and is currently ramped at my org, since we didn’t have any shared templates
ildjarn|1 year ago
funcDropShadow|1 year ago
I am wondering why nobody talks about using version control tools for templates. Git lacks the ability to replace variables and handle flags, but it allows to rebase a small micro service on top of the latest version of the template.
8note|1 year ago
When somebody needs to use an escape hatch, how painful are you gonna make it to keep that escape hatch running?