Friday, April 8, 2011

The exceptional Matrix Sysadmin

What skills and knowledge should you have to be an exceptional Matrix Sysadmin?

I'm often asked this question, so I thought it would be good to put it all in one place...

As a good start, you should have solid understanding of the software stack used to run Matrix:

* Apache - tuning, configuration, and mod_rewrite
* PHP - basic configuration of php.ini
* PostgreSQL - optimisation, configuration and troubleshooting
* Squid - configuration
* Memcache - installation/configuration

Specialist skills in PostgreSQL optimisation or PHP coding would be the sort of thing that would set one Matrix sysadmin above another.

Familiarity with SQL and PHP are important, they are often called upon.

Solid BASH scripting skills will make your life much simpler. If you have basic competency you will generally suffice, but you won't be exceptional.

Strong familiarity with a Matrix distribution and its standard services (mail/ftp/ssh etc - I like Postfix/Pure-ftpd for mail/ftp myself) is important.  In particular, either the Red Hat family (RHEL/CentOS/Fedora) or Debian (Debian/Ubuntu).

For high performance distributed systems, familiarity with rsync/lsyncd and slony-I are necessary.

If you're using an LDAP or AD backend for user authentication, it's a good idea to have a solid understanding of LDAP, and a good knowledge of OpenLDAP.

A familiarity with Oracle is mandatory if your Matrix system is using Oracle as the DB backend, although if this is the case you'll generally have a DBA handy (or you're learning Oracle yourself).

Finally, a good understanding of Linux kernel, filesystem and tcp/ip tuning and the use of standard monitoring tools such as netstat, top, sar, etc, and debugging tools such as strace will often come in handy.

If you're looking to brush up on your Matrix skills, work through the items in this list where you think your skills could do with some sharpening.  You'll be exceptional in no time!

3 comments:

  1. Great article and interesting perspective.

    Whilst those skills are necessary, I feel they're more "server" admin skills rather than "system" admin skills.

    In my experience, most sys. admins (in big gov. departments) can't actually step outside the MySource / Squiz Matrix Administration Interface. They instead need to operate closely with their Unix admin teams to diagnose & resolve issues and installing new packages.

    What are your thoughts on the skills necessary to make an exceptional "administration" interface bound system admin?

    ReplyDelete
  2. Hi Anton,

    Good call. Being a Matrix administrator and a server administrator are entirely different. I'll have a think about it, and put it up as my next post. A few things spring to mind straight away, but I have a feeling we should be able to pull together some common threads.

    Another good post would be "the exceptional Matrix Implementer"... I'm sure you'd be more qualified than me to comment on that one. :)

    By the way, I love your work on http://matrixusers.com/tools/mymatrix it's brilliant!

    ReplyDelete
  3. Can't wait to read the next article :) and thanks for your feedback on myMatrix. Will definitely be working on improving it some more over the next few weeks (as time permits).

    I'll try and put something together on the exceptional Matrix implementer and then we can have a series on what makes the ultimate Matrix developer ;)

    ReplyDelete