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.

  • wispydust@lemmy.world
    link
    fedilink
    English
    arrow-up
    48
    ·
    edit-2
    1 year ago

    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”).

    • fartsparkles@sh.itjust.works
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      1 year ago

      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.

      • Case@unilem.org
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        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?

        • fartsparkles@sh.itjust.works
          link
          fedilink
          arrow-up
          6
          ·
          1 year ago

          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!

          • Case@unilem.org
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            Much appreciated. Just needed some phrases to throw in a search engine to get started.

  • BURN@lemmy.world
    link
    fedilink
    arrow-up
    25
    arrow-down
    1
    ·
    1 year ago

    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.

    • ALostInquirer@lemm.eeOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      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.

  • Lmaydev@programming.dev
    link
    fedilink
    arrow-up
    20
    ·
    edit-2
    1 year ago

    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.

  • Deestan@lemmy.world
    link
    fedilink
    arrow-up
    19
    ·
    1 year ago

    Speaking from ~20 years experience: Yes, mainly. But both GUIs and web dashboards are common and widespread. It varies wildly based on what type of server you’re maintaining and what type of organization you’re in.

    If you run a custom Minecraft server via some online service, you’ll be going through a web dashboard.

    Typical corporate or government IT tends to be Windows/GUI based, but of course with as much automation as possible in the form of global policy settings.

    Typical small web development shop tends to be via code configuration and web dashboards on rented hosts.

    Typical SAAS-provider type company tends to be strictly command-line but as little as possible, and try to have everything via configuration, rules, deployment scripts, etc checked into a version control system.

    It’s extremely varied, but to my understanding it is correct that command line is most common.

  • ShovelLiz@lemmy.zip
    link
    fedilink
    arrow-up
    17
    arrow-down
    1
    ·
    1 year ago

    At my work it’s all command line or inside the code Itself. No need to be scared of the cli.

    • thews@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      For a single new problem that hasn’t yet been automated I use CLI utilities to collect information to use to write code for a new automation.

      I use web UIs to monitor metrics (grafana) and write custom exporters to collect metrics that can show performance or potential issues and logs.

  • Rikudou_Sage@lemmings.world
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    Depends on the kind of server - Linux, yes, command line all the way. Windows (and Active Directory and other Microsoft stuff) you use GUI mostly in combination with some PowerShell scripts (often running on the “command line”).

  • Im1Random@lemm.ee
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    1 year ago

    Yes I personally find it much quicker running a few commands via SSH and editing Docker compose files in a text editor than clicking around in some kind of web interface. It’s also much easier asking for help or helping someone else I you can just send commands to execute instead of explaining different menus and buttons they need to go into.

  • BoofStroke@lemm.ee
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    edit-2
    1 year ago

    You can’t really do configuration management with a GUI. Or version control. Everything I do I manage with Ansible as much as possible. YAML is self-documenting as well. How much effort is ‘run command with parameter’ documentation vs explaining how to navigate a GUI?

    • ALostInquirer@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      How much effort is ‘run command with parameter’ documentation […]

      Tbh it’s less so the effort and moreso, how understandable is the documentation? A good GUI has the benefit of visual design explaining without words what may take a lot of documentation that may or may not be easily understood depending on the writer, which in many technical situations is someone deep in the jargon that has forgotten the way back to more accessible language.

      Once you’re familiar with the commands, no doubt as many others have said it’s more efficient (especially once you’re knowledgeable enough to write scripts for frequent sets of commands), but there is a learning curve at play as one muddles through documentation in a similar way to an unfamiliar GUI.

      • gornius@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        No, any documentation >>> GUI. GUI relies on your previous experience with similar environments. Just jump into a GUI of Visual Studio (not code) project configuration and see for yourself.

  • Nollij@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 year ago

    As others mentioned, it depends on the details. But anything routine should be done with CLI or code, because then it can be scripted/automated. The time savings for that adds up surprisingly quickly, especially when you consider the human errors that are avoided.

  • BaroqueLobster@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    1 year ago

    Yes, I manage my Raspberry Pi Plex/Pi-Hole/OpenVPN server using command line because, well, it’s Linux.

    Also for work I manage Windows Server based systems and although this is a largely GUI based operating system, Command Prompt/Powershell are still tools I use daily to provide more control and depth over what I can do (bulk admin actions, for example).

    I don’t really use command line out of preference - moreso because it’s the necessary tool for the job.

  • Snowplow8861@lemmus.org
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    1 year ago

    Personally, it’s the power of powershell that I use for the hundreds of windows servers. Otherwise it’s the power of Linux bash shell scripts for the dozens of Linux servers. None of the Linux servers run a gui so there’s no options there. Tbh for me, self documenting gui is the slowest way to do work. Configuring hundreds at once with peer reviewed scripts and change control is much more effective since the peer review and change control will be needed either way.

    Oh though I use fortimanager a lot of configuring dozens of Fortigates. Only have a few scripts on it though.

  • notabot@lemm.ee
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    I only use CLI access over SSH to manage servers. Using a GUI is painful, especially working remotely. Even wjen I had to deal with windows servers I’d setup an SSH server on it and use powershell.

    Ideally you don’t even access the server manually over that, but use a management system like Ansible or Puppet to configure and manage it.

  • scarabic@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    1 year ago

    You can accomplish a lot through scripting - light programming. Anything you can type into a command line can also be executed by a script. This is the power of them. So when managing large arrays of resources, the potential for automation and scaling effort is big.

    I don’t think all of that can be replaced with GUIs. When you consider that sysadmins are working with tons of different software from many different providers and trying to make it all work together, the command line interface is really the common language they all share - even the bulllshit legacy products that are still hanging around after 15 years of being outdated. You’d need extremely sophisticated GUI tools to be able to do everything, across all these products, at scale.

    There are of course GUI tools for specific tasks, but the command line is the foundational tool.

    Disclaimer: I know fuck all about Microsoft things. Only have some experienc with *nix