A reading list for the larval stage sysadmin. This list is focused on the UNIX family of OSes.
Table of Contents generated with DocToc
So you've got your first sysadmin job. Congratulations, it's going to be an interesting ride.
- Site Reliability Engineering - How Google Runs Production Systems.
- The Phoenix Project - know why your projects are important to the business
- Time Management for System Administrators, by Tom Limoncelli. You're going to be pulled in a dozen different directions, if you can't manage your time you're going to suffer.
- UNIX-Linux-System-Administration-Handbook by Nemeth is a great book, this book is targeted to larger system deployments and real world large systems.
Every sysadmin needs to know Bash.
- Learning the Bash Shell - hard to go wrong with an O'Reilly reference on anything, really.
- Bash Pitfalls - Greg Wooledge has a great list of unpleasant surprises in Bash
- Google's Shell Style Guide lists what Google's developers consider best practices for bash scripts.
If you're in a Ruby shop, you'll want these:
If you're in a Python shop, you'll want these:
- [Learn Python the Hard Way] (http://learnpythonthehardway.org/book/)
- AWSCli provides a unified command line interface to Amazon Web Services. Wean yourself off of the webui if you want to be truly productive
- S3cmd is a free command line tool and client for uploading, retrieving and managing data in Amazon S3 and other cloud storage service providers that use the S3 protocol, such as Google Cloud Storage or DreamHost DreamObjects.
Quite simply, if you aren't using configuration management, you're doing it wrong.
You don't want to manually configure any servers - no matter how hard you try, they won't end up truly identical and having meat typing in commands takes far too long per server, doesn't scale, and the manual labor will discourage you from standing up new VMs for testing.
There are several good options:
- Ansible is designed to be minimal in nature, consistent, secure, and highly reliable. Was recently purchased by Red Hat.
- Chef is written in Ruby and Erlang and uses a Ruby DSL to describe system configuration
- Puppet makes it easy to automate the provisioning, configuration and ongoing management of your machines and the software running on them. Make rapid, repeatable changes and automatically enforce the consistency of systems and devices – across physical and virtual machines, on premise or in the cloud.
- Salt orchestrates the build and ongoing management of your infrastructure.
You're going to want your regular expressions to be like:
but in reality they're going to be a lot more like at first:
But seriously, you're going to find regexes very useful for handling logs.
- sed and awk Pocket Reference presents a concise summary of regular expressions and pattern matching, and summaries of sed and awk and how to use them to edit files and convert data from one format to another.
Whether or not your shop uses git internally, you're going to end up needing to use it for the many useful things on GitHub.
- Pro Git is a great resource.
- git-flight-rules is Kate Hudson's guide to using Git.
Don't get involved in the Editor Wars. Just. Don't. Your choice of tool does not need defending. Nor does anyone else's choice.
However, you should care about your tools. You should be able to use them efficiently.
Vim is a reality of life for SysAdmins. It is the one editor you can be sure is installed in even the most minimal install. You must be able to do at least basic edits with it. You don't need to love it, but you will have to use it.
- vi and Vim Editors Pocket Reference, 2nd Edition
- Damian Conway, "More Instantly Better Vim" - OSCON 2013
Many people like Emacs. You might be one of them. Don't be afraid to try it out.
Use tools with which you are productive. If you want to use a GUI Text Editor or IDE, don't let anyone give you a hard time about that.
There are GUI versions of vim and emacs that have ardent followers.
Atom is a fairly new editor with significant traction and plugin ecosystem. Sublime Text is another editor with an extensive plugin ecosystem and arguably one of the inspirations for Atom.
- Arrested Devops is hosted by Matt Stratton, Trevor Hess, and Bridget Kromhout. ADO is the podcast that helps you achieve understanding, develop good practices, and operate your team and organization for maximum DevOps awesomeness.
- Code as Craft is Etsy's ops blog and is full of well written examples of dealing with real-world problems at scale.
- Kitchen Soap - John Alspaw is the CTO at Etsy and writes a great blog about web operations and operating at scale and other things that are interesting to ops types.