I don't really feel strongly either way. I'll be pretty sad if Debian and redhat diverge.
Anything I touch that requires sysadmins is outsourced one way or another, either via managed services like rds or in house dbas.
If aws or in house dbas have strong opinions about systemd it doesn't impact me.
I mean, this is a laughable point. Like, seriously ? Before systemd every branch of the linux distro tree had its own way of managing stuff at startup, and distros in the same subtreee made things different enough that things like inits-cripts were not portable.
Heck, even with the same init system, some distros arranged runlevels differently. Do people even remember runlevel? Those were another complete way of mess things up.
Are you really playing the "non standard" card? Like, for real?
And seriously, what would be the standard? The Single Unix Specification? According to that spec even bash is not standard, and yet it's the de-facto standard for shell scripts across basically all the major distributions.
sudo apachectl start
(and likewise for all SysV-like startup scripts). For node, it's node <yourapp.js>
(or rather using node-forever or node-cluster in prod). If you want to have it started on boot automatically, you put that line into your startup script. It doesn't get any more simple and transparent than that.Why would you be sad if Debian and RH diverge? Linux started as a one-man show and became a huge community effort because it could run a wealth of F/OSS software. If you want a single-vendor OS, there's Windows, Mac OS, the BSDs, and others. Or maybe IBM RHEL in the future.
What about log and metrics agents, how do you start and configure those?
Also why are you so judgemental? I don't want Debian and rhel to diverge because I have clients who use both and I don't want to have to do more work to support both.
Edit: I am super duper cool with having multiple Linux distributions. I am just not really excited about being forced to interact with vastly different distros specifically in the course of doing my job.
how do you make sure it's done at boot? what if the machines boots up unattended, maybe after a power loss? and where do you put the apachectl binary? And what would happen if for any reason apache crashes? will it stay crashed? will something restart it? if so, what thing will? and what if you need to run it in a restricted environment (let's say something easy, let's say a chroot) ? and what if you want to have upper limits to the resources that it's supposed to use? how do you check if it's running, and how much resources is it consuming ?
Systemd units make all of those things trivial, or at least not that hard.
Most of the things you mention are side-components of systemd, not core stuff.
You could change the hostname the old way by just go ediding /etc/hostname or using the hostname command (or both). hostnamectl merely exposes you a handy command to do this in a consistent way across distributions.
One could probably take systemd, dropp all the non-init components and make it a minimal init system.
I don't know where you're seeing this trend, really. For all major distros, it's been the opposite thus far.
That is exactly my opinion too. Systemd managed to replace the nasty cruft pile that was SysV init with something even less transparent, more confusing, clunkier to use, and with a steeper learning curve to do simple things like add or change a system service.
There is too much to list, but let's start with the beginning: why name one of the most commonly used commands (for admins) on the system 'systemctl', which is even harder to type fast than 'service'?
That kind of total disregard for UX pervades the whole design. Its like no thought was paid to it at all. Everything is obtuse and clunky with long non-memorable names that give you carpal tunnel syndrome to type.
I loathe stuff like that.
Hence it's pointless because it doesn't make things any simpler. All it does is making things monolithic and wrapping concepts that are perfectly fine by themselves, forcing third-party software to write to systemd's APIs.
> Systemd actually does ONE thing and does it well: it manages the system.
"Managing systems" is not what is meant by "doing one thing, and doing it well". Systemd takes over init scripting, logging, host names, IP, time, locale, and login, plus tens of more services. Making development of this software a Lennart Poettering/RH-only business rather than community-driven.
The trend to get rid of systemd and its metastasis into most of Linux is excellent news. Note that Slackware and Devuan are also systemd-free (and have been from the beginning).