Mechanics of Building a Carpooling Service - Introduction

Episode #51 - 2017-02-15 - 17 min

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.

19 Minutes With Ansible (Part 1/4)

19 Minutes With Ansible (Part 1/4)

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.

Learning Ansible with Vagrant (Part 2/4)

Learning Ansible with Vagrant (Part 2/4)

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.

Configuration Management with Ansible (Part 3/4)

Configuration Management with Ansible (Part 3/4)

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.

Zero-downtime Deployments with Ansible (Part 4/4)

Zero-downtime Deployments with Ansible (Part 4/4)

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.

Crash Course on Vagrant (revised)

Crash Course on Vagrant (revised)

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.

Introduction to Docker

Introduction to Docker

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.

Introduction to Containers on Linux using LXC

Introduction to Containers on Linux using LXC

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.

Bits Sysadmins Should Know

Bits Sysadmins Should Know

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.

Anatomy of a SQL Injection Attack leading to Code Execution

Anatomy of a SQL Injection Attack leading to Code Execution

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.

Learning Puppet with Vagrant

Learning Puppet with Vagrant

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.

How to write an Incident Report / Postmortem

How to write an Incident Report / Postmortem

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.

ZFS on Linux (Part 1 of 2)

ZFS on Linux (Part 1 of 2)

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.

CLI Monday: How to Keep Your SSH Sessions Alive

CLI Monday: How to Keep Your SSH Sessions Alive

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.

Introduction to Linux Control Groups (Cgroups)

Introduction to Linux Control Groups (Cgroups)

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.

LVM Linear vs Striped Logical Volumes

LVM Linear vs Striped Logical Volumes

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.

Git to Puppet Deployment Workflow

Git to Puppet Deployment Workflow

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.

Done already? Browse All Episodes