2010/Why the Sysadmin Hates Your Software

From Open Source Bridge Wiki
Jump to: navigation, search

You’ve worked really hard on your software. It’s stable and has lots of nice features and users love it. But your sysadmin hates it and complains about how hard it is to install, configure, and manage. What’s up with that?

Speaker: Steve VanDevender

Return to this session's details

Contributed notes

  • Talk slides

OpenOffice Impress PDF

Sympathy for the Devel(opers)

Developers and sysadmins want simmilar things: simplicity, robustness, etc. But they focus on different levels in the system. Sysadmins focus on configurations, hosts, services, and the user experience of the whole system. Developers focus on lanugages, APIs, builds, and the user experience of one product. Like developers, sysadmins are often _not_ the users of the software they're working on.

As system administration expands to larger / more complicated systems, replication and automation become more important than "elaborate hand-crafting of software." (One wonders if automation couldn't be made to co-exist with writing elegant software.)

Tools

  • Version control
  • Configuration management (e.g., Puppet, cfengine)
    • Specify resource state you need
    • Let go of "I need to know what's going to happen, when" ideas
    • Often tied to version control
  • Automated installation (e.g., Kickstart, Jumpstart)
  • VMs
  • Tools can prop up poor software (e.g., software that requires inappropriate permissions can run in a VM)

What Sysadmins Hate

  • Labor-intensive installations
    • Browser / GUI the only way to install
      • Harder to automate / version control / replicate
      • "You can't grep a web page"
      • Fights with sysadmin's customized config files
      • Solution: low-level config API that happens to use an easy format
    • Too much file copying
    • Admins want auto install / uninstall
      • ./configure; make; make install is OK
      • .deb or .rpm is better
  • Too many dependencies
    • Software that lives too high on the food chain gets more toxins
    • Requiring / bundling specific library versions is bad
  • Horrible error messages
    • "Invalid Database Collation"
    • Messages that say what went wrong, rather than what they want
    • Huge tracebacks
  • Bad security defaults
    • File permissions
    • Default passwords