Or is that more of a stereotype, and there are some (maybe more?) out there using some form of graphical interfaces/web dashboards/etc.?
It’s struck me as interesting how when you look up info about managing servers that they primarily go through command-line interfaces/terminals/etc. It’s made me wonder how much of that’s preference and how much of it’s an absence of graphical interfaces.
Software engineer here who works on web services. Most production-critical things in our workplace aren’t managed by GUI’s, or command lines… but by code. There are usually some infrastructure-as-code tools involved, like Terraform, CDK or Pulumi.
GUI’s are often reserved for quick fixes and trying out things on staging servers (derisively called “click-ops”).
Chef, Puppet, Ansible, SaltStack, even Otter (for Windows).
For smaller servers/services, they are plenty of admins still getting their hands dirty in a shell (for instance my home lab is a baremetal hypervisor with a few hosts and a whole load of Docker containers).
But in business environments, especially those using cloud providers, infrastructure as code is king.
I’m looking to rise up from the hell desk, I have an enterprise grade server sitting collecting dust at the moment (heat issue, not on the server, just the average ambient temperature is uncomfortable without it running is too much) but its running unraid at the moment and not much else.
Any suggestions on where to start with infrastructure as code?
Google “Terraform homelab” and read a few guides on how to use Proxmox, Terraform, Ansible, Puppet, cloud-init, Packer, etc.
A great starting point is being able to write some code that will consistently build a homelab setup, perhaps running a few useful services like Snapdrop, Pihole, OpenVAS, Etherpad Lite, etc. The goal being capable of standing everything up and tearing it down using Terraform and Proxmox (Terraform instructing Proxmox to create VMs and Ansible to configure those VMs with what you need).
There are loads of similar solutions (such as Ansible and Puppet) so don’t be scared of trying a few different guides and wiping the server a few times along the way. It’ll give you a strong understanding of the various tools and, once you’ve done it a few times, you can land on your preferred setup and start building your own use cases for it all.
Hope this helps!
It is far from a stereotype, and most times it isn’t personal preference either.
It is just about using the best tool for the job.
Many tasks can be done either this or that way, but one of the ways is usually much faster, or repeatable/scriptable, or easier to make mistakes etc.
GUIs are very limiting. You’re only able to do what the designer wants you to be able to. By using the terminal it’s much simpler to do more complicated tasks (once you’ve gotten past the learning curve).
Also since so many servers are headless (no display outputs) they’ll be remotely logged into, meaning there’s only a terminal to interface with the machine.
This can be true. Part of the reason I ask is that as more data is visual in nature, it seems like it might make it more difficult to manage strictly via CLI, especially since metadata is likely to be lacking in description and even with a descriptive filename and details, it’s a picture/video for a reason.
I’m sure there are existing arrangements to handle that though, like web GUIs for any visual media review as needed.
Can you give me an example? Sure graphs are quick to spot spikes and such, but outside a webui like you mentioned servers also usually have warning triggers, you know what’s better than staring at a graph looking for a spike? Getting paged once a spike happens with information on possible causes and the state of the server. That’s very difficult to setup using GUIs, but almost trivial to do if your okay with CLIs.
It’s more on the hobbyist end of things, but as an example I was thinking like if you had a server you’re using to back up or store photos on, trying to parse it strictly via CLI doesn’t seem like it’d be terribly useful.
You’d also want to view the images directly, I’d think, but I’m guessing in that situation you’d just use whatever web UI the software you’re using might provide.
It used to be 100% command line. Now it’s 80% shell and 20% web portals.
No it’s legit. Most servers nowadays are Linux so if you’re working on a specific server you are using the command line.
It’s way more efficient generally.
GUI can be great for quick specific tasks but you are limited by the features added by the software.