SysadminCasts: Recent Episodes

None

Short linux sysadmin screencasts containing tutorials, tips and tricks. Great for both novice and experienced Sysdmins.

View Details

In this episode, we will checking out HashiCorps Consul for easy Service Discovery. We will chat about common use cases, server architecture, how a service registry works, and more. There will be demos too.

View Details

In this episode, we will checking out HashiCorps Nomad for Application Orchestration. We will chat about common use cases, server architecture, scheduling applications, containers, and more. There will be demos too.

View Details

In this episode, we are going to review what is new in the world of DevOps over the past week. Grab a coffee and we will walk through it together. We will chat about Amazon S3 Batch Ops, keeping your Cloud costs under control, how Airbnb is using k8s, and finally some Docker Benefits.

View Details

In this episode, we will checking out HashiCorps Vault for Secret Management. We will chat about common use cases, server architecture, storing and retrieving secrets, dynamic secrets, and more. There will be demos too.

View Details

In this episode, we are going to review what is new in the world of DevOps over the past week. Grab a coffee and we will walk through it together. We will chat about the unauthorized access to Docker Hub, how Shopify is benchmarking Istio, and look at some command line bits.

View Details

In this episode, we are going to review what is new in the world of DevOps over the past week. Grab a coffee and we will walk through it together. We will checkout PagerDutys Incident Response docs, Tinders move to Kubernetes, command-line tricks, Git tips, and Dashboard Design.

View Details

In this episode, I wanted to raise awareness to a few great DevOps Launch Checklists. These checklists can really save your butt, when you have a large event planned, where you expect huge amounts of traffic.

View Details

In this episode, we will look at the recently launched Cloud Run Beta. It is a managed service, that runs stateless containers, invocable via HTTP requests. Also, we will look at differences between Cloud Run, Lambda, and Fargate. There are demos too.

View Details

In this episode, I wanted to quickly chat about my default shell and a few things I find useful about it. I am using the Z Shell, with the Oh My Zsh framework scripts, and the Robby Russell theme.

View Details

In this episode, I wanted to quickly chat about a few things that I find useful but do not really fit into a larger episode. First, we will chat about the the SRE books. Second, useful video hotkeys. Finally, a quick way to grep through your command history.

View Details

This is the second episode, in a three part episode series, where we are building an end-to-end, state of the art, audio to text transcription service. In this episode, we will be building out the backend infrastructure, things like the service containers, MySQL, RabbitMQ, etc.

View Details

In this three part episode series, we will be building an end to end, state of the art, online audio transcription service. This episode will focus on the high-level product idea, we will sketch out a customer workflow, and then work through the product proof of concept.

View Details

In this episode, we will be building two Raspberry Pis with light and thermal sensors attached for data logging. We will process the data logs with the goal of automatically tracking my work and sleep habits. This episode is a mashup of hardware, programming, and some data analysis with a text editor, SQL, and spreadsheets.

View Details

In this episode, we are going to be taking a look at Istio. Istio lowers the barrier of entry for many advanced traffic management, security, and telemetry features. We will chat about Istio, Envoy Proxies, what a Service Mesh is, and then take a look at a few demos.

View Details

In this episode, we will checking out an IP Geolocation Beta feature using Google Cloud Load Balancers. Using this feature, you can use the Load Balancer to inject additional user defined HTTP headers with IP Geolocation data for user requests.

View Details

In this episode, I wanted to share a few tips for how I create architecture diagrams. Often times you need to write technical documentation, or share knowledge with other team members, and having an architecture diagram can really help. Here is what works for me.

View Details

In this episode, we are going to walk through an end-to-end workflow for creating animated GIFs using Docker and ImageMagick. I wanted to highlight this useful pattern for using utility containers on your desktop because it delivers very reproducible results.

View Details

In this episode, we will be checking out RabbitMQ. We will chat about worker queues, look at some common use-cases, and then work through a demo of a worker queue in action.

View Details

In this episode, we are going to set up a very simple end-to-end automated container deployment pipeline. We will walk through going from a git push, to a deployed change with zero downtime, in around a minute.

View Details

In this episode, we will be checking out infrastructure automation with Terraform. We will look at what it is, why you might want to use it, and then walk through a couple examples.

View Details

In this episode, we are going to check out Kubernetes, which is very popular for Container Orchestration. We will explore what Kubernetes is, why people are using it, and then look at how it works by way of deploying an example application.

View Details

In this episode, I will be running you through a bit of a crash course, on the terminology and tooling involved in running a larger production container stack. This can be a complex topic, so here is a brain dump of how I make sense of it all (map included).

View Details

In this episode, we are going to be chatting about a useful pattern for problem solving. I have used this for all types of things and thought it would be worth sharing.

View Details

In this episode, we are going to be building a simple web service to extract metadata from Image files. We will create an upload form using DropzoneJS, extract the metadata in JSON using ImageMagick, and we will glue it all together using a Go backend wrapped in Docker.

View Details

In this episode, I wanted to share a quick trick for adjusting the playback speed of online videos.

View Details

In this episode series, we are going to be building a carpooling webapp from scratch. I thought it might be useful to share my thought process and development workflow on going from rough idea to a working minimum viable product. It can be intimidating to create something from nothing, especially if you do not have the technical skills needed to build what you envision, so we will look at ways of breaking things into manageable chunks.

View Details

In this episode, we going to look at an example deployment workflow, for syncing static website files from a local directory, to a remote S3 bucket.

View Details

In this episode, we will create a S3 bucket to store static website content. We will review the AWS management console at a high level, talk about S3 bucket permissions, along with manual S3 file uploads.

View Details

In this episode series, I thought we would take a look at hosting static websites on AWS, using S3, CloudFront, and Route 53. The plan is to register a domain, create a simple static site, and have it running on AWS, all for just a few dollars a month.

View Details

In this episode, we will do a zero-downtime rolling website deployment, across a cluster of nginx web nodes, sitting behind a haproxy load balancer. We will use Ansible to orchestrate the deployment in a repeatable and consistent way.

View Details

In this episode, we are going create a load balanced web cluster by way of our Vagrant environment. The goal is to demonstrate how Ansible can solve real world problems by building up infrastructure from scratch.

View Details

In this episode, we are going to play around with Ansible via four Vagrant virtual machines. We will install Ansible from scratch, troubleshoot ssh connectivity issues, review configuration files, and try our hand at common commands.

View Details

In this episode, we are going to be patching CentOS and Debian systems against glibc gethostbyname function bugs. System library security bugs present a special case, where even through you have patched the bug, you are likely still running vulnerable code, unless you reboot.

View Details

In this episode series, we will be looking at Ansible, which is an easy to use configuration management and orchestration tool. My goal for this series, is to show you what Ansible is, how it works, and the steps to get going on your own.

View Details

In this episode, I wanted to give you a crash course on what Vagrant is, along with how I use it. Vagrant is my go to tool for launching virtual test environments, and once you start to learn how to use it, you will wonder how you ever lived without it.

View Details

In this episode, we are going to look at using apt-file on Ubuntu, and yum provides on CentOS, to see which package provides that file you are missing.

View Details

In this episode, we are going to look at a system for managing small projects from start to finish. This episode series has been broken into three logical sections covering: gathering user requirements, planning and executing, and finally sign-off and delivery.

View Details

In this episode, we are go to review a common cause of broken ssh sessions when connecting from home, coffee shops, or hotels. It can be very annoying to be working on something, going to grab a coffee, and coming back to a dropped or frozen ssh connection.

View Details

In this episode, we are going to cover common tasks associated with looking after a single MySQL server. We will discuss installing and securing the server, useful debugging techniques, common SQL statements, user access and permissions, and finally backup and restore options.

View Details

In this episode, lets continue our look at ZFS on Linux. In part one, we covered the basic ins and outs of ZFS, so in this episode, lets focus on some of the more advanced filesystem features offered by ZFS.

View Details

In this episode, we are going to review the column and translate commands. These two command are great at manipulating text, so as an example, we will look at converting log data into an easily read format.

View Details

In part one, of this two part episode, we are going to look at ZFS on Linux. I will cover the basics of what ZFS is, how to create and work with ZFS pools, along with how to recover from common failures modes.

View Details

In this episode, I will show you a quick and easy way of serving web content via Pythons SimpleHTTPServer and http.server modules. This can be really useful for quickly sharing files, or testing website content, via a browser to systems on your network.

View Details

In this episode, we will be looking at a Git to Puppet deployment workflow pattern. I want to cover how puppet code gets from your workstation, onto production servers, and the bits in between.

View Details

In this episode, we are going to cover command history. If you spend any amounts of time at the command prompt, being able to recall complex or obscure command options from the history, should result in a productivity boost.

View Details

In this episode, we are going to be looking at Docker. I have broken this episode into two sections. First, we will cover what Docker is at a high level and touch on the container workflow. Second, we will look at a live demo of Docker in action.

View Details

In this episode, I wanted to show you the lsof command. We are going to review several issues and how the lsof command can be used to troubleshoot what is going on.

View Details

In this episode, I wanted to give you an introduction to Amazon Web Services (commonly referred to as AWS). AWS is one of the premier cloud providers, which is drastically changing the way many think about IT. This introductory episode lays the foundation for more advanced AWS episodes to come.

View Details

In this episode, I would like to show you a series of commands for reviewing log data, how to extract event counts from that data, and finally how to create sparklines from those counts. This can be extremely useful for pointing you in the right direction while troubleshooting issues.

View Details

In this episode, I wanted to look at the performance characteristics between linear and striped logical volumes using LVM. We will examine what is happening behind the scenes along with some preliminary benchmarks using an AWS i2.8xlarge instance with 8x800GB SSD disks, 244GB of RAM, and 32 virtual cores.

View Details

In this episode, I wanted to introduce a new episode type called CLI Monday. The idea being, we will review useful command line utilities every Monday. Today, we are going to review the head, tail, and wc commands.

View Details

The following is a crash course on what I think goes into the making of a well rounded Linux Sysadmin. This episode is a semi-organized brain dump of bits I have learned throughout my career, which will be used as a type of guide, or road map, for future episodes on this site.

View Details

In this episode, I wanted to give you an Introduction to Containers on Linux using LXC. We will look at what Containers are as a concept, why they are useful, and then move onto a live demo of what a Container looks like on a real system using LXC.

View Details

In this episode, we will discuss giving automated tasks narrow root privileges via the sudo command using the nopasswd option.

View Details

In this episode, I wanted to talk about common archive and compression formats that you are likely to encounter on Linux machines. We will review the differences between archive and compression formats and then focus on how to create and extract these formats using various utilities.

View Details

In this episode, I am going to show you what a SQL injection attack is, along with how it works, and then we will look at several methods to prevent them. We will also look at how a SQL injection attack can reach far beyond the database.

View Details

In this episode, I wanted to look at how to write an Incident Report, also referred to as a Postmortem. Rather than give you something of my own creation, lets look at a Google Incident Report from early 2013, which I think serves as a great example.

View Details

In this episode, I wanted to look at how we can use the man command to view manual pages for various commands, configuration files, and system libraries.

View Details

In this episode, I wanted to show you the Puppet Labs Firewall module. We are going to use what we learned in episode #8, about Vagrant and Puppet, and apply that to managing iptables firewall rules with Puppet.

View Details

In this episode, I wanted to talk about why you should be using a Wiki for keeping track of internal documents, policies and procedures, as well as other information about your infrastructure, then in the latter part of the episode, we will cover how to install MediaWiki on a CentOS 6.4 box.

View Details

In this episode, I wanted to talk about the differences between hard and symbolic links. We will look at why links are useful, the pros and cons of hard vs symbolic links, then have a look under the hood at inodes and filesystem metadata to see how links actually work.

View Details

In this episode, I wanted to do something a little different, rather than highlight a piece of technology, I wanted to talk about how IT should be proactively improving communication with other departments within your organization.

View Details

In this episode we are going to review Control Groups (cgroups), which provide a mechanism for easily managing and monitoring system resources, by partitioning things like cpu time, system memory, disk and network bandwidth, into groups, then assigning tasks to those groups.

View Details

In this episode, I will give you a crash course on how to use common commands for getting around the filesystem, reviewing running processes, looking at disk utilization, and editing files.

View Details

In this episode, I will give you a crash course on the Filesystem Hierarchy Standard (FHS). The Filesystem Hierarchy Standard gives a great overview of what a UNIX-like filesystem should look like, for example, what directories should exist, and what their contents should be.

View Details

In this episode I wanted to talk about setting up a central Git sever and using Gitolite to manage user access. You might put this on an internal company network, where you and your colleagues can develop together.

View Details

In this episode, I wanted to talk about setting up the Openfire XMPP server on CentOS. Lets say, for example, that you want to improve internal communication around the office, you might want to try an internal XMPP server, because it allows you to quickly chat with colleagues via instant messages.

View Details

In this episode, we will look at a method for locking rpm packages at a particular version. For example, that you have a package installed on a server, and that a package update is coming, which will likely break your configuration. You would like to somehow exclude this package from getting updated. We will use a yum plugin called versionlock to solve this problem.

View Details

In this episode I wanted to introduce you to Puppet. Puppet allows you to quickly automate many sysadmin tasks, like deploying new machines, pushing changes out to existing machines, and helps you verify the configs of existing machines. We will also be setting up development environment for testing and playing around with puppet using Vagrant.

View Details

In this episode we are going to take a look at centralized password management. How a password safe can be a simple and effective tool for you and your team, and why you should be using one.

View Details

In this episode we are going to review the locate and updatedb commands provided by the mlocate package. Locate is a useful command for finding files quickly. We will also look at updatedb.conf, reviewing the PRUNEPATHS option, using this to limit the stress on your servers.

View Details

In this episode we will create a Vagrant box with Veewee. We will use Veewee to create a working Vagrant SL (Scientific Linux) 6.4 box from a SL 6.3 template. I will demonstrate the process end-to-end. This process should work with RHEL and CentOS too.

View Details

In this episode we will review Vagrant. Vagrant makes it easy to create disposable environments for testing scripts and infrastructure changes.

View Details

In this episode we will review SystemRescueCd. SystemRescueCd is a very handy tool for troubleshooting problem. I have used it to re-install grub boot menus, transfer files from nonbootable machines, and a host of other issue. You can also use SystemRescueCd to launch Memtest86 and DBAN.

View Details

In this episode we will learn how to query and review rpm package information and the changelog history. This can be very helpful in determining whether a bug or CVE security issue has been fixed in a given rpm package.

View Details

In this episode we will use Oracle's VirtualBox to create a CentOS 6.3 virtual machine. Follow along as I download the install media, create a new virtual machine, and install CentOS 6.3. You can also download the CentOS 6.3 virtual machine which was created in this episode.