devops
This is a bit of a rant piece but I feel like the term devops, though good in its original fundamental meaning, is misused so much to the point of becoming meaningless these days.
I believe the term itself is good in the original sense. It is a concept where the same person is responsible for developing and operating the application. You write the code to create the features, create the monitoring for those features, make sure it is running, and most importantly you fix it if it breaks. If something stops working at 2am, you are woken up to fix it. All the incentives are aligned for you to make reliable software which should be the goal for all software.
The bear case for Devops is that having the same people doing all these things is nowhere near as efficient as having a specialised person for each skill. All the tasks in software engineering are enormous fields of their own and expecting the same person to be as skilled on each level is too much to ask. However in reality with modern platforms and services, they are mostly able to offload enough of these things you should only have to set them up initially and figure out the correct configuration for your app, which only you will know how to do. I mean, who knows better what metrics are important: the expert in the code or the expert in observability? The principle of Devops is the code expert knows best. For some apps CPU might be
Read Full Post...