3 ms·
A common thread I've seen is that preference for declarative or functional often correlates with how you approach systems. Many of our traditional operators /
by grogenaut 5y ago
A common thread I've seen is that preference for declarative or functional often correlates with how you approach systems.
Many of our traditional operators / SysDE greatly prefer reams of declarative configuration. They like to be able to look at a system configuration and understand it in totality. Even if there are abstractions. These folks tend to run other people's software, be great at reading manuals, and debugging systems they can't see code for. The reasoning for a given setup is usually in a wiki or is common knowledge (to some extent) in their heads and the organization expertise of running that software for years.
Most of our engineers (SDE) hate declarative as it's not DRY, really boring, and doesn't encode the intent as you said. Code based solutions let a developer (who groks code) understand some of the rules behind WHY (to some extent), and developers tend to be lazy and want to move that knowledge out of their head and into computers so they don't have to deal with it.
Both sets of people can be right.
- lukev 5y agoIt really doesn't have to be either/or. It's possible to build quite nice abstractions in a declarative style, using real code. This is actually the next generation of devops tools... CDK, Pulumi, etc.
- grogenaut 5y agoBeen using CDK for years, since pre-alpha. I love it and my company is moving very heavily towards CDK, a thing I helped drive. Some of our ops folks still prefer pure declarative. Like down to the explicit yaml and knowing exactly what AWS flags are ticked in what way. They're also much less comfortable with code. It's not an argument it's a preference, it's how their brains think and their comfort zone. They would literally rather see 1.5 MB of zipped yaml then read through CDK libraries. They literally look at the generated CFN over the cdk.
- carlmr 5y agoPulumi looks really interesting.
- carlmr 5y agoI think this is the most satisfying answer I got in this thread yet, the WHY makes sense, and I like the WHY, because it is the simplest way to understand the how. I guess I'm in camp 2.