3 ms·
You have to walk a fine line. If you neglect your infrastructure for too long you get in a situation where you get bogged down by all the circumstantial complex
by gizmo 15y ago
You have to walk a fine line. If you neglect your infrastructure for too long you get in a situation where you get bogged down by all the circumstantial complexity in your infrastructure. If you are too zealous about debt you automate things that don't need automating and you end up with an over-engineered infrastructure that is completely automated but never works quite right.
As with the design of software projects the design of the infrastructure takes time. People often go through phases where they take it either far too seriously (after they got burned) and through phases where they cowboy-code their way through.
The problem here is really mundane. It's difficult to set up an architecture right and you don't get there by throwing buzzwords to the wall (and see which ones stick). Even if you use multiplexed dictionary stores, Bazoop Clusters, BunnyHQ, and tricircular backups you still may end up with with a mess of an architecture if you don't know exactly which problems you're trying to fix. And you can easily waste a few weeks evaluating different deployment tools and automation software and still end up with something that works only barely. The opportunity cost is immense.
- dells 15y ago+1
- Retric 15y agoIt's not a static trade off either. If you see two world class developers debating some tradeoff it's about as relevant to the average coder as what two Olympic level swimmers discussing their diet has to do with someone trying to lose some weight. AKA avoid holes to big for your team to get themselves out of.