Tutorial Descriptions

You are here: Home » Conference » Tutorial Descriptions


Truly large-scale systems are still rare; in a world of outsourcing and cloud computing, it’s harder for system administrators to get the opportunity to design large systems. It’s even harder to get the design right. Most organizations don’t have the in-house expertise to build a large system and thus outsource the detailed design to external contractors. If your organization doesn’t have the expertise to design a large system, it’s unlikely that it has the expertise to confirm a proposal is fit for purpose and cost-effective.

While anyone can wave their hands convincingly and come up with a rough outline of a large distributed system, those who also can fill in the detail are highly prized. This class will teach you how to design software systems like Imgur and Twitter, then estimate the hardware needed to ensure you can deliver to an SLA. You will learn how requirements like queries-per-second, multi-site reliability, and data-security impact the cost of implementation. This will not cover concurrent programming and the software-engineering side of distributed systems.


System administrators, SREs, and DevOps who have some familiarity with distributed systems, server hardware, and systems programming, especially those who would like to work with, procure, or build large distributed systems.


The ability to design large distributed systems, to evaluate design proposals, and to explain such designs to third parties.


  • • Design patterns for large distributed systems
  • • Monitoring large-scale systems
  • • Large-scale design workshop and presentations
  • • Non-abstract design; taking a design and producing a “bill of materials”
  • • Designing for failure; how to work around rack, networking, and datacenter failures

IMPORTANT NOTE: Tutorial is hands on and requires a laptop.

This tutorial will provide the knowledge and hands on experience necessary for someone to better manage the development lifecycle and deployment of their Puppet code with a large focus on spec testing and writing quality code. This session will be highly interactive.


Must be familiar with Puppet and have experience writing modules.


Laptop required. VM’s will be provided, though the attendee can use their Linux or OSX based system.


  • • How to contribute to open source projects on GitHub.com
  • • A tiny bit of ruby for people who do not know ruby
  • • Custom facts
  • • Custom functions
  • • How to manage your modules
  • • GitHub.com
  • • forge.puppetlabs.com
  • • librarian-puppet-simple and Puppetfile
  • • Hiera
  • • How to leverage it for a data driven infrastructure
  • • Sample hierarchy
  • • Components of high quality code
  • • Spec tests
  • • Why?
  • • TDD – Test Driven Development
  • • What to test
  • • Writing tests for Manifests, Functions, Facts
  • • Travis-ci.org
  • • How to setup on GitHub
  • • How to configure your puppet module
  • • Write some code together
  • • Take code they already have and add spec tests
  • • Take ideas from the attendees, write tests first, then write code. TDD in action
  • • Review each others code and share on GitHub.com

Desired State Configuration was introduced with Server 2012 R2 and available down level for Server 2012 and Server 2008 R2 via the Windows Management Framework 4. Desired State Configuration allows you to declaratively describe the end state of a Windows Server system. In this class, we’ll discuss the infrastructure for DSC, we’ll learn how to create configurations and deploy them (including managing secrets like passwords), and we’ll learn how to build custom resources. Previous PowerShell experience is helpful, but not required.

IMPORTANT NOTE: Limited to 12 students.

Prerequisites: Students should have a basic understanding of computer networking and willingness to work in a command-line environment. Experience with the Cisco command-line environment is helpful, but not required.

Are you new to the Cisco ASA Security Appliance? Attend this one-day tutorial to learn the basics. Working in the command-line, you’ll learn the eight basic commands to build a base configuration from scratch. You’ll learn how to backup and restore configs, how to generate and use SSH keys, how to use AAA (Authentication, Authorization, and Accounting) to manage user access both locally and remotely, you’ll gain an understanding of ASA access control lists, and you’ll learn how to build both remote-access and site-to-site VPNs.


  • • Module One: Building a Configuration (Including Password Recovery)
  • • Module Two: Backing Up and Restoring Configs
  • • Module Three: Remote Management: Configuring SSH
  • • Module Four: Local and Remote Authentication Using AAA
  • • Module Six: Configuring ASA Remote Access and Site-to-Site VPNs

Based on the book The Accidental Administrator: Cisco ASA Security Appliance and taught by the author. Also based on the two-day Cisco ASA hands-on workshop offered at soundtraining.net.

IMPORTANT NOTE: Tutorial is hands on and requires a laptop.

Attendees must bring a laptop for in-class exercises. Techniques will apply to any wiki or collaborative document system, but the labs and demos will be done using Google Apps.


All sysadmins who want to collaborate efficiently within their team and with others (even solo sysadmins will benefit!).


Techniques to help your IT team work better, faster, and more transparently.


  • • Collaborate online with collaborative documents, shopping lists, and Kanban tools
  • • Go from “firefighting” to working on more interesting projects
  • • Create meetings that don’t suck
  • • Hold team members accountable for tasks they take on
  • • Cross train team members more effectively with fire drills (DevOps “Game Day” exercises)
  • • Train people on new services more effectively
  • • Eliminate problems due to inconsistent processes
  • • Send more effective emails
  • • Launch new services without “oops”
  • • Document how things work so everyone can go on vacation

Every day, sysadmins are required to work with tools which, while powerful, tend to need to be merged with other languages. Many times, tools are chained together out of necessity by attempting to parse and munge outputs to inputs by making many inefficient calls to string processing command line tools. While effective, this approach is not usable in many situations due to the frequency of the run of the operation, or due to the footprint of the solution. Sometimes, it’s necessary to build your own tool, and the busy sysadmin needs one that is readily available.

Go’s powerful yet simple language makes it an excellent tool for harried sysadmins with limited time. Go’s toolset makes it easy to build and deploy simple small tools to targeted situations.

This tutorial provides an introduction to Go with a focus on using it for everyday tooling. A example of working from iostat is used to show a practical approach to learning the language.


Sysadmins who want to develop their own tooling, or have a general interest in the Go programming language. Some prior programming experience required: if you’ve ever written more than 250 lines in a single project of bash or equivalent, or are familiar with Perl, Python, Ruby, etc – this is for you.


  • • Understanding of the applicability of Go to everyday work
  • • The Go environment and toolset
  • • Go language fundamentals:
  • • Control Structures
  • • Functions
  • • Data Types
  • • Methods and Interfaces
  • • Goroutines
  • • Channels

You want to innovate: deploy new technologies such as configuration management (CFEngine, Puppet, Chef), a wiki, or standardized configurations. Your coworkers don’t want change. They like it the way things are. Therefore, they consider you evil. However you aren’t evil; you just want to make things better.


Anyone who wants to improve processes and learn about managing change.


The communication, analysis, and persuasion skills you need to make your workplace better.


  • • Helping your coworkers understand and agree to your awesome ideas
  • • Convincing your manager about anything—really
  • • Turning the most stubborn user into your biggest fan
  • • Getting others to trust you so they are more easily convinced
  • • Deciding which projects to do when you have more projects than time
  • • Making decisions based on data and evidence
  • • Driving improvements based on a methodology and planning instead of guessing and luck

Domain Name System Security Extensions (DNSSEC) is a suite of IETF specifications for securing certain kinds of information provided by the DNS as used on IP networks. The workshop covers basics of DNS, cyber attacks and DNS threats, essentials of DNSSEC, and best practices for deployment and implementation of DNSSEC. This is a classroom-style course that combines lectures with hands-on labs.


Network Administrators, System Administrators, Network Security Engineers, CSOs


  • • Professionals are expected to be familiar with the UNIX environment (file structure, basic utilities) and with text editing in UNIX (vi or nano editor).
  • • A basic knowledge of TCP/IP addressing is also helpful but not required.


Keeping IT folks engaged in a drill simulation can be very challenging. The skills necessary to design, execute and facilitate IT emergency drills are practical, perfectly suited to the hands-on, participatory environment of a technical tutorial.

Become a gamemaster worthy of designing and executing drills on likely emergency scenarios and realistic function failures for your organization.


Technical IT staff, IT supervisors, managers, directors, business continuity/resiliency project managers and IT emergency planners – anyone who may be tasked with planning or facilitating an IT emergency drill for an IT department, business unit or organization. Prior experience in IT disaster recovery or any kind of emergency response will be helpful but is not required.


Practical experience identifying critical business functions, designing emergency operations centers and incident headquarters, and designing, executing and facilitating IT emergency drills.


Within a broad context of emergency response, emergency operations, business continuity planning/resiliency, disaster recovery and information technology architecture, this tutorial will provide participants with hands-on experience to design and execute IT emergency drills.

Participants will collaboratively identify critical business functions and continuity/resiliency objectives for two fictional example organizations, and catalog IT services involved in supporting those business functions. We will then design an appropriate emergency operations center incident headquarters for those organizations. Along the way, we will discuss and brainstorm methods of introducing such concepts to participants’ actual organizations.

During the latter part of this tutorial, participants will walk through a first a basic life-safety and IT emergency operations drill, and then an advanced IT emergency operations drill. We will also evaluate quantifiable success factors for each drill, collect lessons learned, and discuss guru-level additions to advanced drill design.

PowerShell Fundamentals will provide students with a basic foundation to begin leveraging PowerShell to accomplish standard systems admin focused tasks by teaching some concrete techniques that they can begin using immediately. The course begins with some of the basic terminology, as well as the four essential commands to using PowerShell. The course progresses into a number of task-based examples of system administration style tasks. We end the course covering how PowerShell fits into the overall administrative ecosystem and cover some additional differences between PowerShell V2 and V3.

IMPORTANT NOTE: Tutorial is hands on and requires a laptop.

The course covers the history, background and design principles of vi; all the vi movement commands; many text alteration commands; and the vi command language syntax.

Attendees must bring a laptop with “vi” on it for in-class exercises. No prior experience is required but 20 year veterans of vi have come out raving how much they learned.

Continuous Availability with Windows Server Failover Clusters is your jump start to leveraging the built in feature set of the Windows Server Failover Cluster role to build highly available, fault tolerant services driving toward the goal of continuous availability. Today’s customers for IT services are becoming less and less tolerant of downtime, so sysadmins and application developers need to leverage every bit of functionality in their platform of choice to aid in that endeavor. In this class, we will learn the requirements for configuring failover cluster in the current versions of Windows Server. We will look at the differences in capabilities between the OS versions and the application versions commonly supported by this feature set. Finally, we will walk through building a scalable service architecture and discuss the various configuration options at the different levels of application infrastructure.

Instructor Bios


  • • F1: SRE Classroom

Caskey Dickson is a site reliability engineer/software engineer at Google where he works on infrastructure systems writing and maintaining monitoring services that operate at Google scale. Working in online service development and system administration since 1995, before coming to Google in 2010, he was a senior developer at Symantec, wrote software for various internet startups such as CitySearch, Cars Direct, WeddingChannel, ran a consulting company for several years and even spent a half decade teaching undergraduate and graduate computer science at Loyola Marymount University. He has an undergraduate degree in computer science, a master’s degree in Systems Engineering and an MBA from Loyola Marymount.


  • • F2: Advanced Puppet

Garrett Honeycutt has been hacking *nix based systems and spreading the merits of open source software for over fifteen years. He began using Puppet in 2007 while building out a national carrier grade VoIP system. Previously he has worked on such things as building core internet infrastructure for an ISP, creating mobile media distribution platforms, and was as a Professional Services Engineer with Puppet Labs working with customers around the world helping them with Puppet, DevOps processes, and project management. Currently he is Puppet Architect at Ericsson in Stockholm where he coordinates with and mentors those writing puppet code for their global R&D sites.

Regularly presenting on open source topics, Garrett has had the opportunity to speak at various user groups including GSLUG, CINLUG, Indy.rb, PuppetNYC, SFDevOps, and NYCDevOps. He has also presented at almost every US Linux Fest, LOAD, Cascadia IT Conf, OSCON, and Flourish and internationally in Russia, Belgium, Czech Republic, India, Switzerland and Australia.


  • • F3: Configuration Management on Windows Server – Desired State Configuration
  • • S2: PowerShell Fundamentals
  • • S4: Continuous Availability with Windows Server Failover Clusters


  • • F4: Fundamentals of Cisco ASA Security Appliance (Hands-On Workshop)

Don R. Crawley, Linux+ and IPv6 Silver Engineer, is a lifetime geek, plus speaker and author of six books ranging in subject from Cisco to Linux to Compassionate Communication. His focus is on helping IT and other technical staff to master the arts of customer service and communication. He is also President/Chief Technologist of the Seattle-based IT training company, soundtraining.net. He has more than four decades experience working with workplace technology and automation and holds multiple technical certifications. In addition to being a best-selling author, he has spoken before audiences in all 50 states and Canada, plus the United Kingdom and Australia. In his spare time, he plays the pipe organ, watches the ships on Puget Sound, and laughs with his family.


  • • F6: A Quick Introduction to System Tools Programming with Go

Chris “Mac” McEniry is a practicing sysadmin responsible for running a large ecommerce and gaming service. He’s been working and developing in an operational capacity for 15 years. In his free time, he builds tools and thinks about efficiency.


  • • F5: Team Time Management (aka Team Efficiency)
  • • F7: Evil Genius 101

Tom is an internationally recognized author, speaker, and system administrator. His best known books include Time Management for System Administrators (O’Reilly) and The Practice of System and Network Administration (Addison-Wesley). In 2005 he received the SAGE Outstanding Achievement Award. He works in New York City at Stack Exchange, home of ServerFault.com and StackOverflow.com. Previously he’s worked at small and large companies including Google, Bell Labs / Lucent, AT&T. http://EverythingSysadmin.com is his blog. He never tweets about IT or technology at @YesThatTom.


  • • F8: DNSSEC – Domain Name System Security Extensions

Alan was formerly the lead trainer at ISC. He moved to Infoblox then decided he wanted to be his own boss so he started his own company. He now sub-contracts his training and consulting to ISC and Men and Mice and is doing the “traveling road-show” of training and consulting.


  • • S1: The Practical Gamemaster: Design & Execution of IT Emergency Operation Drills

Adele Shakal currently heads up project and knowledge management at Metacloud, Inc., a cloud solutions company providing Carbon|OS, non-stop private cloud based on OpenStack. In her prior work in technical project management at USC ITS, she designed IT emergency operations and the ITS Great Shakeout 2011. She has more than two decades of experience in IT project management, business process design and continuity, knowledge management, emergency operations and drill planning, service management and system administration, with Bachelor of Science in geochemistry from California Institute of Technology. She has presented at CENIC, EDUCAUSE, APRU, USENIX LISA and CascadiaIT conferences.


  • • S3: Editing with vi: basics

Mario Obejas started as an Air Defense programmer in 1980, performing final acceptance tests in a war zone on his very first program. In the early 1990s he switched to sysadmin work. At the direction of a PHB, this included writing a “one-page installation instructions” document for an air traffic control system deployed in China. In the late 1990s he switched divisions and started supporting chip designers and cluster computing; he also started to promote “open source” use before the term was coined (we called it, “Get the source and compile it”). Eventually he landed in Information Security, where he works today. He is active in LOPSA (member #4) and USENIX. Decades ago, Mario earned a Bachelor of Arts in Math from Wabash College, and a Master of Science from the University of Southern California (USC). These days, Mario is a ravenous news junkie, and occasionally goes on hilly 80+ mile bike rides, but mostly he wants to master keeping up with his two adult sons.