4 ms·
This likely means that you work on systems whose needs are very different from the average needs. Applications absolutely need to be debugged in production, de
by noselasd 8y ago
This likely means that you work on systems whose needs are very different from the average needs.
Applications absolutely need to be debugged in production, debugging does not only happen upstream before deployments. Unexpected things happen so you might need to list the current TCP connections, view the socket buffer sizes, produce a core dump, view metrics you didn't anticipate at development - even attach a debugger directly on a very bad day. (Please don't get hung up on these specific examples though - the point is more that the last decades have allowed us great system introspection into a production environment running on a traditional OS).
The perfect world where all that would be unnecessary for most people is not even close yet. People are largely not yet willing to give up on being able to ssh into their server and use the available tools to do troubleshooting
, nor are they willing to change the development practice where that could largely be avoided.
- heavenlyblue 8y agoWould love to see that guy parsing HTTP pages using some sort of manual software stack in python. Exceptions? Could be raised at any level. Most of the time you can't predict at all which exceptions can happen. Server-side errors? Could happen at any level. DNS switch/your provider forgot to restart DNS/Server out of RAM/... Now try to do something along these lines at 1M requests/day. I mean, requests to several API providers who are probably not even providing good docs for their APIs. There's no way you can have a scaled-up IT business without online debugging. Most of the time I spend on is debugging issues that I could absolutely not predict (or realistically, I could only predict them if my budget was a multiple of what it was) when I was writing the program. Real-life problems are based on sets of contradicting requirements. And they are contradicting due to them being at the edge of our understanding; and that's why they are problems.
- weberc2 8y agoI'm a little confused. Are you arguing that unikernels are unfit for debugging or just that debugging is necessary in production? I agree with the latter but not the former.