3 ms·
In the past you had developers who worked on their app code and ops people who are concerned with where it runs. Now, we're moving a bunch of that ops work ove
by mfer 6y ago
In the past you had developers who worked on their app code and ops people who are concerned with where it runs.
Now, we're moving a bunch of that ops work over to be work of the app dev. That means more context switching and knowledge outside the area of most concern. All while companies what increased velocity.
Why should developers always be concerned with the platform details?
If the developers should be concerned with the platform should ops also now need to be intimately concerned with the details of the apps? How much less time could they do on ops if they have to know all about the apps?
- incrudible 6y agoThe timeframe in which there was such a thing as an "Ops engineer" is so brief it could be considered a fad, owing to the complexity of the solutions to deploy software that arose then. > Why should developers always be concerned with the platform details? Every platform has constraints. Do you have effectively unlimited memory, unlimited storage, unlimited bandwidth, zero latency and infinitely scalable CPU available for the process(es) you are responsible for? Can you be sure that given system call is available and behaves exactly the same everywhere? Of course not. If you were to act as if these things were true at all times, you would create something with sub-par performance and reliability, eventually driving up the cost of deployments to impossible levels.
- mfer 6y ago> The timeframe in which there was such a thing as an "Ops engineer" is so brief it could be considered a fad I've been working in software since I was a kid. I remember working for an ISP in the dialup days. I saw the separation of roles between those concerned with the platform and those concerned with the running applications even back then. To call it a brief fad, I think, misses a lot of what's happened in the market and the different roles with their different concerns. > Every platform has constraints. We live in a world where you have a platform built on a platform. To a node.js or PHP developer you'll have people thinking of those as the platforms. They aren't thinking about Ubuntu, CentOS, Windows, or the other lower level systems. This is why a JS dev will code something up on a Mac and then run it on Linux in production. node.js is the platform for them. But, with containers we're also asking them to make the Linux distro with all the things related to that as part of their platform. Not to just make it work but keep up on security. This is the wrong level in the stack for them. If they put a bunch of time into being concerned with that it will slow their velocity on the node.js work and be a big context switch (along with different knowledge in this context). It looks like I see a bunch of Ops/DevOps people saying that app devs should be concerned with their stuff in addition or in displacement to their own. That's not happening well for a reason.