23 ms·
Oh I see, thanks for your answer. It's mostly a developper issue for you then, and it's your sysadmin job to provide you with the right tools ; but he probably
by bionsystem 8y ago
Oh I see, thanks for your answer. It's mostly a developper issue for you then, and it's your sysadmin job to provide you with the right tools ; but he probably won't take "just install debian everywhere" as a valid suggestion. A sysadmin just needs putty and then he'll build his infrastructure to make his life easier. He will never write or run code on his own machine, but on a machine similar to the production target. And he will rarely write code himself to begin with.
You can ask your sysadmin for a FAAS (such as jupyterhub, or anything that you like) to be deployed on machines that are iso-prod. You can also ask him to provide a proper ci-cd toolchain (start small with the minimum, git to build to test deployment to unit tests). And of course matching your dev machine with the production will be beneficial if you can't get a FAAS, but your native OS may still be windows or macos, simply you will use virtualization or docker to make it compatible.
As a sysadmin I face this problem a lot here. I work with python or R dev and we are providing them with server-side IDE (RStudio and JupyterHub), otherwise they will have something running on their windows laptop (provided by external teams, we have no control over that nor the right to change it), and expect it to run the same in production.
But as a sysadmin I don't face the problem myself, because I don't develop much, that's why I didn't get the initial comment.
Edit : just to clarify a point. Just a few months ago when I arrived, it was indeed really painful to see people write python or R code on their windows machines, and not be able to run their code on the server. Some of them even asked to have windows servers to get rid of that issue. That's the type of miscommunication that I'm talking about, because on the other side of the email, someone gave them the windows servers, not understanding/caring about their actual need.
It was obviously the wrong solution but, in desperation and with the incoming deadlines, it became the right solution. So the problem isn't CentOS vs Debian vs your laptop, it's really about consistency in the toolchain and pipelines. The exact tool doesn't even matter (as long as it works).
- lmm 8y agoVMs, remote IDEs, or FAAS are ways to develop on a server-like environment, but they all come with their own overheads; IME none has as good a debugging experience as being able to run the thing directly on your normal dev machine. (even for sysadminly scripting tasks, working via a putty window carries overhead and there are times when you'd rather be on the machine itself, though I'd agree that it's less common for it to be an issue there than for development work). You're right that the issue is consistency rather than the particular OS. But there is a real point here that Ubuntu in particular is functional as a first-class OS both on developer laptops and on production servers, in a way that none of the other options can quite match. (Windows' administration support/automation is lacking on the server, OSX servers barely exist, CentOS is outdated on the laptop, Debian is too principled to support laptop hardware, Fedora is undersupported on the server...). So it does make for a unique selling point for Ubuntu in practice.