I was struggling with Zentyal yet again when I had an idea. Instead of an old-school web interface, what if there were an Ansible (or Chef, Puppet, etc.) based Linux distro? I appreciate what web based distros like Zentyal are trying to do. They make it easier to setup and run basic services like email, web, and DNS. An automated DevOps based distro could do that and more.
The problem with web UIs is that you grow past them. Often you want to do some that can only be done via the command line and a configuration file. Then the web interface is not a benefit but a hindrance. I’ve experienced this with the FreePBX interface on Asterisk and with Synology’s DSM (which by the way has an outstanding UI and one others should copy). They make simple tasks easy but difficult tasks even more difficult.
An Ansible based Linux distro would be very different. Like Zentyal it would be a distro focused on delivering basic services rather than a core distro like CentOS or Ubuntu. It would essentially be Linux plus a full set of playbooks that control the OS and all its applications. There would be a playbook for networking, one for DHCP, one for DNS, one for Postfix, etc. Just pick the roles for your server, set the values for the variables, and run.
One feature of this kind of setup, and one which the web based distros also share, is that it can be delivered with all the settings configured according to expert best practices. Normally, when you configure something like NTP you have a skeleton configuration file that contains the minimum configuration items. You set a few variables and run. If you are an experienced admin then you have a lot of best practice configuration items written down or memorized.
The automated approach allows the distro creator to capture that expertise from experts in the form of scripts and standard configuration files. If you look at the NTP web site, for example, you will read about a large number of advanced configuration options such as the number of NTP servers to use (it turns out that the number is important), crypto keys, time protocols, and so on. There is a lot more than just entering the NTP server hostname. The playbook can capture that kind of expertise.
The one thing the web interface’s do well is provide admins a monitoring display. This, however, can best be done via a management console such as OpenNMS or Nagios. In fact, having a different management console for each server isn’t a good solution. Having one place to look is much better.