Training Program - Details
A variety of topics are being covered at LISA15. Use the icons listed below to focus on a key subject area:
Full Day
Salim Virji is a Site Reliability Engineer at Google. He has worked on infrastructure software, back-end systems, front-end applications, and various pieces of glue to connect them all. He lives and works in New York City.
Thurgood Marshall West
With this hands-on tutorial, you will develop an understanding for designing, building, and running reliable Internet services at a large scale.
This tutorial is suitable for executives who need to specify and evaluate systems, engineers who build systems, and IT professionals who want to run first-class services built with reliable systems.
You will take back an understanding of how to evaluate system designs; how to specify and build large systems; and how to operate these systems in the real world, in a way that will scale as the system grows.
- Designing Reliable Systems
- Building Reliable Systems
- Running Reliable Systems
Tyler is a member of Chef’s Customer Engineering team, championing successful patterns and delightful experiences in automation to enterprise customers large and small. Prior to working at Chef, he spent a decade as an engineer for Adobe, developing and automating commerce services for adobe.com using a variety of technologies. He lives in Vancouver, Washington, and when he’s not programming enjoys lacrosse and using his passport.
Thurgood Marshall South
The Automation Tools Bootcamp is a tutorial for individuals looking for exposure to and usage of new development tools. We will learn about and then use Git, Vagrant, Chef, Packer, Docker, and Jenkins to build a small application in local VMs.
We will cover a progression of tasks, leveraging information from previous sections to build a small app that runs identically on your local development machine or on a shared server. Get rid of the “it works for me” mentality when you know your local VM is identical to your co-workers' and your shared environments.
Operations, QA, developers, those who choose to call themselves DevOps, and even managers can come learn.
These automation tools are freely available to engineers, enabling them to safely break environments until the change in configuration has been perfected. Basic exposure to these tools will allow attendees to return to work with new ways to tackle the problems they face daily.
- Git
- Vagrant
- Chef
- Packer
- Docker
- Jenkins
Half Day Morning
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.
Thurgood Marshall North
Every day, sysadmins find the need to build tools that get the job done in a fast and efficient way. Go is a new and powerful—yet simple—language that is an excellent fit for the needs of the harried sysadmin. This tutorial provides an introduction to Go with a focus on using it for everday tooling.
Sysadmins interested in the Go language for applications and tooling. Some experience with programming or scripting languages such as Perl, Python, or Ruby.
An introductory understanding of the Go language, and several examples of common problems to learn from.
- 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
- Examples in Go:
- Web Server
- Directory Tools
Rajesh Joseph is a Principal Software Engineer at Red Hat. He is currently working with the Protocols Team for Red Hat Gluster Storage (RHGS) that is responsible for implementation of the SMB and NFS family of protocols for RHGS. He is also the maintainer of the Snapshot feature in GlusterFS. He has 13 years of industry experience in information security, cryptography, storage, and file-system domain. Prior to Red Hat, he worked with Cisco and Nokia.
Poornima Gurusiddaiah works as a software engineer at Red Hat. With two years of development experience with Gluster, she has contributed to various Gluster projects including Samba Gluster integration, libgfapi, and multiprotocol for GlusterFS. Prior to Red Hat, she worked with HP on an openVMS kernel project. Poornima's areas of interest include Gluster, storage, Samba and related technologies.
Thurgood Marshall East
Learn about GlusterFS, a scale-out, software-defined storage platform capable of scaling to many petabytes. GlusterFS aggregates storage building blocks on diverse commodity hardware over InfiniBand RDMA or TCP/IP interconnect in a single global namespace. GlusterFS is based on a stackable user space design and can deliver exceptional flexibility and performance for diverse workloads.
This tutorial will combine lecture with instructor-led demonstrations using GlusterFS.
- Any system/storage administrator who wants to get in-depth understanding of GlusterFS.
- Anyone who wants to know how GlusterFS can help their storage infrastructure and contain costs.
- Thorough understanding of GlusterFS
- Virtual Machine images for playing with GlusterFS
- Lab instructions on how to set up and play with a test cluster
- Overview of the GlusterFS architecture
- Features offered by GlusterFS
- Different access methods to the GlutsterFS (Samba, NFS, FUSE)
- Hands-on using GlusterFS
Lee Damon chaired the SAGE policies and ethics working groups that developed the original SAGE/LOPSA code of ethics. He has a B.S. in Speech Communication from Oregon State University. A UNIX system administrator since 1985, he has been active in SAGE (US) & LOPSA since their inceptions. He assisted in developing a mixed AIX/SunOS environment at IBM Watson Research and has developed mixed environments for Gulfstream Aerospace and Qualcomm. He is currently leading the development effort for the Nikola project at the University of Washington Electrical Engineering department. He chaired LISA '04 and co-chaired CasITconf '11, '13, and '14.
Lincoln 4
This introductory tutorial will start by examining some of the ethical responsibilities that come along with access to other users' data, accounts, and confidential information. We will look at several case studies involving both local and Cloud usage. All attendees are strongly encouraged to participate in the discussion. Numerous viewpoints will be considered in order to give students a perspective from which to develop their own reasoned response to ethical challenges.
The answers to these and other problems are often far more complicated than one would initially guess.
There are no prerequisites for this class.
People in any of the following situations would benefit from this tutorial:
- system administrators
- managers of system administrators
- those who have access to personal/confidential information
- those who make policy decisions about computer systems and their users.
After completing this tutorial, students will be better able to resolve questionable situations and will have the means to support their decisions.
- Why it is important to set your ethical standards before issues arise
- Who is impacted by "expectations of ethical conduct"
- Why this isn't just an expectation of system administrators
- Implicit expectations of ethical behavior
- Ethics and the Cloud
- Coercion to violate ethics
- Well-intentioned violations of privacy
- Collection, retention, and protection of personal data
- Management directives vs. friendships
- Software piracy/copying in a company/group/department
Half Day Afternoon
As the developer evangelist for Librato, Dave Josephsen hacks on tools and documentation, writes about statistics, systems monitoring, alerting, metrics collection and visualization, and generally does anything he can to help engineers and developers close the feedback loop in their systems. He’s written books for Prentice Hall and O’Reilly, speaks Go, C, Python, Perl and a little bit of Spanish, and has never lost a game of Calvinball.
Thurgood Marshall East
Neighborly Nagios is a beginner-level tutorial on the venerable monitoring system. Rather than teaching Nagios in a vacuum, this tutorial emphasizes the important role played by centralized, polling-based monitoring systems like Nagios in the context of a modern engineering organization. We will focus on the hooks and I/O intricacies systems engineers need to rely on in order to make Nagios play nicely with other commonly used monitoring tools.
Sysadmins interested in learning about Nagios.
Attendees will leave with a solid conceptual understanding of Nagios, as well as centralized, polling-based monitoring systems in general. They will have configured Nagios to run local and remote service, and host checks, as well as perform email and webhook notifications. Attendees will also configure Nagios to work with several visualization systems, and to emit logs into a centralized event-logging infrastructure.
Why learn Nagios?
- Centralized pollers in theory and practice
Reality through the eyes of Nagios
- Hosts, services, and plugins
- Server-side vs. client-side plugins and remote execution
- Active polling vs. passive checks
- People (contacts, contact groups, and notification commands)
Installing and configuration
- Nagios configuration layout and templating
- Macros and commands
- Templates for hosts, services, and contacts
- A simple template setup using hostgroups
- A flexible template setup
- Managing your configs
Data-In: Plugins and data collection frameworks
- Three simple, server-side plugins
- NRPE
- NRDP
- Check_MK
Data-Out: Hooks and data export strategies
- Performance Data and Time Series
- Nagios Event Radio Dispatch (NERD)
- PNP4Nagios and RRDTool
- Graphios and Graphite
- MK LiveStatus
Neighborly Nagios: One part of an effective monitoring infrastructure
- Data as a first-class citizen
- Composable telemetry processing infrastructure
- Intro to Statsd
- Intro to Heka
- Intro to Reimann
Adam Moskowitz is a Senior Tools Engineer at MathWorks and was the program chair of the LISA ‘09 conference. Since entering the field in 1978, he has been a computer operator (what sysadmins were called in The Good Old Days), an application developer, a system administrator, and a teacher of all of those things. At MathWorks, he is building a system to manage containers in both production and ephemeral testing environments (and to quietly take over the world). When he’s not writing code, you will find him judging barbecue contests or riding a tandem bicycle with his wife.
Thurgood Marshall North
This tutorial will focus on how to incorporate testing into the software that sysadmins develop. Programs typically written by sysadmins tend to be less amenable to testing for a variety of reasons: choice of language, lack of "OO-ness," and heavy interaction with "system programs" (things like "mount" and "df"). This class will address these issues and show ways to incorporate testing into existing programs without having to rewrite them; it will also demonstrate how to use testing when developing new programs when "going OO" isn't an option. The session will consist of lecture, discussion, and hands-on exercises.
System administrators of any level with at least some experience writing programs in pretty much any scripting language language (Python, Ruby, Perl, Bash, or Groovy).
- An understanding of software testing and test-driven development, and how to incorporate these concepts into system administration
- Suggestions for making future programs more testable
- Exposure to a testing framework (Maven plus Spock)
- Experience developing basic unit tests
- Some exposure to simple "mocking" techniques
Motivation and benefits
- Why use testing
- Why testing is needed
- How it can help
- Why it's not as difficult as people think
Basic testing
"Mocks" (or "Mocking")
Mike Ciavarella has been producing and editing technical documentation since he naively agreed to write application manuals for his first employer in the early 1980s. His first UNIX system administration role was on a network of Sun workstations in 1991, where he built his first firewall. Since that time, Mike has made a point of actively promoting documentation and security as fundamental aspects of system administration. He has been a technical editor for Macmillan Press, has lectured on software engineering at the University of Melbourne (his alma mater), and has provided expert testimony in a number of computer security cases.
Lincoln 4
Sysadmins freely acknowledge how important documentation is to their daily lives, and in the same sentence will loudly complain that they don’t have time to produce documentation. This class is about how to produce effective, useful and timely documentation as part of your normal sysadmin activities. Particular emphasis is placed on documentation as a time-saving tool rather than a workload imposition.
System administrators of all types and levels who need to produce documention for the systems they manage, or who want to improve their documentation skills. Documentation can be the difference that turns you from a good sysadmin to a great sysadmin!
- The skills to improve personal and team documentation quality
- A solid understanding of how to establish and maintain effective documentation practices
- Why system administrators need to document
- Documentation as part of your daily workflow
- Targeting your audience
- Common mistakes made in documentation
- Tools to assist the documentation process (including effective use of wikis)
Full Day
Caskey Dickson is an engineer with an MBA. Currently, he is a Site Reliability Engineer/Software Engineer at Google, where he works writing and maintaining monitoring services that operate at "Google scale" as well as business intelligence pipelines. Caskey has worked in online service development since 1995. Before working at Google, he was a senior developer at Symantec, wrote software for various Internet startups such as CitySearch and CarsDirect, ran a consulting company, and even taught undergraduate and graduate computer science at Loyola Marymount University. He has a B.S. in Computer Science, a Masters in Systems Engineering, and an M.B.A from Loyola Marymount.
Thurgood Marshall South
The Morning Session (Part 1) of this tutorial is FULL.
Insufficient knowledge of operating system internals is my most common reason for passing on an interview candidate. Anyone can learn that you run tool X to fix problem Y. But what happens when there is no tool X, or when you can't even accurately pinpoint the root cause of why "It's sometimes slow."
This will be a no-holds-barred, fury-road-paced review of all major parts of modern operating systems with specific emphasis on what's important for system administrators. It will provide just enough of an academic focus to bridge the "whys" so you can make better use of fiddling with the "whats" on a day-to-day basis. As an added bonus, it will prime you for the following day's "Linux Performance Tuning" tutorial with Theodore Ts'o.
You will learn about process management, scheduling, file system architecture and internals, interrupt management, the mysteries of the MMU and TLB, belady's anomaly, page replacement algorithms and hopefully a bit of networking. In a nutshell, we'll cover 16 weeks of college-level material in a few hours.
Buckle up.
- All admins who did not take the Comp-Sci academic route and never had a course in OS internals
- Inexperienced admins whose coursework or training didn't include the kind of OS internals that they should (modern OS courses have become a shadow of their former selves and commonly require writing no OS code)
- More experienced admins who haven't really had to address these sorts of issues on a regular basis who probably know a lot about some individual aspects but could benefit from everything being put into a broader context
Attendees will gain a deeper understanding of what goes on inside the kernel and the areas where things can go wrong. We'll explore how little the concept of "system load" captures about the true system state, and attendees will be prepared to improve both their operational response methodologies as well as their monitoring goals.
Morning:
- Scheduling and Process Management
- Memory Management and the MMU
- Virtualization and its impact on these
Afternoon:
- File System Architecture (for sysadmins covering ext (2, 3, 4), NTFS, and ZFS)
- Storage layer performance, disks, RAID, and SANs
- The impact of virtualization on these
Branson is a 27-year veteran of system architecture, administration and security. He started as a cryptologist for the US Navy and has since worked on NASA shuttle projects, TSA security and monitoring systems, and Internet search engines. He has also run his own company while continuing to support many open source projects. He is currently the CIO for Silent Circle, a privacy and security organization behind the Blackphone. Branson has his CEH, GSEC, GCIH, and several other credentials; and generally likes to spend time responding to the statement "I bet you can't."
Thurgood Marshall North
Today's threats to the enterprise are manifested in many ways, but all share similar traits: highly intelligent, well funded and determined to gain access. In this class, we will explore the murky world of the blackhats. We will examine your security footprint as they view it, and discuss ways to minimize it, various vectors for attack, and how to detect and defend. We will spend time talking about current threats and how they can impact your company, and we will build upon the foundations of good security practice. As with all my classes, this will be accompanied with a pinch of humor and a large dollop of common sense.
Beginning to high-level system administrators of any stripe with an interest in IT Security and a desire to understand their potential adversaries. It is suggested that participants have experience with *nix command line and virtual hosts.
Tools, tips, tricks and a working security toolkit that can be implemented to improve monitoring, detection, and defense in your organization. Experience working with (mostly) free security software tools.
- Understanding an attack from beginning to end
- Security Podiatry Social Engineering detection and prevention
- Detecting undesirable network and server behavior
- Detecting penetration attempts and successes, and stopping them
- Raising awareness
Half Day Morning
Dr. Robert Ballance honed his R-programming skills as a System Manager for High-Performance Computing Systems at Sandia National Laboratories, where he developed several R packages for system analysis and reporting. He has administered systems and managed, consulted, taught, and developed software, including R packages, PERL applications, compilers, and UNIX device drivers. He was a co-founder of the Linux Clusters Institute and recently served as Secretary of the Cray Users Group.
Thurgood Marshall West
The R programming language and ecosystem constitute a rich tool set for performing system analyses, for communicating the results and importance of those analyses, and for ensuring reproducible and repeatable results.
This tutorial is designed to
- motivate you to pick up R,
- demonstrate useful techniques using R,
- illustrate ways to simplify your life by automating data analysis and reporting
Examples will be based on situations that the instructor encountered during routine system operations. Additional exercises and data sets that students can explore following the workshop will be provided. The instructor will be available in the LISA Lab after the workshop.
System administrators who are awash in operational data and want to do a more effective job of understanding their data and communicating their findings should attend this class. Prior knowledge of R is not required, but if you are already working with R, you are welcome! Facility with programming and a knowledge of basic descriptive statistics will be assumed.
This introduction to R and its ecosystem provides a walk along the R main line—coming up to speed on R, accessing data, analyzing data, and getting the message out. The key points include:
- Acquaintance with R, R packages, and R Studio
- Understanding where R fits into the system administrator’s tool set
- Familiarity with basic R data manipulation techniques
- Basic principles for ensuring reproducible and automated analyses
- Motivation to learn or improve your R skills
- Next steps in mastering R
- Introduction to the R ecosystem (R, R Studio, CRAN)
- Why should you consider R?
- The R programming model: functions, tables, and packages
- The basic data analysis workflow
- Reading and writing data from files and pipes
- Data frames and data frame manipulations
- Using the plyr and dplyr packages to slice and dice data
- Using the ggplot2 package for graphing
- Overview of the R package system
- Other useful R packages
Todd is a Staff Site Reliability Engineer at LinkedIn, tasked with keeping the largest deployment of Apache Kafka, Zookeeper, and Samza fed and watered. He is responsible for architecture, day-to-day operations, and tools development, including the creation of an advanced monitoring and notification system. Previously, Todd was a Systems Engineer at Verisign, developing service management automation for DNS, networking, and hardware management, as well as managing hardware and software standards across the company.
Thurgood Marshall East
Apache Kafka is a publish/subscribe messaging system that is in use within companies including LinkedIn, Twitter, Netflix, and many others. It is used to build Extract, Transform, and Load (ETL) pipelines, collect metrics and logs, and queue data between applications, often providing the main backbone for moving data within big data infrastructures. This tutorial will focus on how to get started with Kafka, including working with ZooKeeper, which it depends on. We will cover installation, configuring retention and replication, and creating simple applications for producing and consuming messages.
This tutorial is designed for engineers, both operations and development, who are new to Apache Kafka and publish/subscribe messaging. The only prerequisite knowledge for participating is the ability to install software and execute basic shell commands. The ability to write basic Python programs is helpful, but not required. Full working versions of all scripts used in the tutorial will be provided.
Participants will leave the tutorial with an understanding of how to set up Apache ZooKeeper and Apache Kafka, and create message producers and consumers, having completed this work on their own systems. This will allow them to set up a publish/subscribe messaging infrastructure that can be used for myriad applications, including monitoring, logging, queuing, and tracking user-generated events.
ZooKeeper
- What is ZooKeeper?
- What is it NOT?
- Standalone Setup
Apache Kafka
- Publish/Subscribe Messaging
- Kafka Architecture
- Installing Kafka
Producing Messages
- Message Schema
- Using the Console Producer
- Producing Inside Applications
Consuming Messages
- Using the Console Consumer
- Consuming Inside Applications
- Limitations of Non-Java Consumers
Kafka Clusters
- Adding a Second Broker (partner work)
- Replicating Partitions
- Creating Multiple Partitions
Message Retention
- Retention by Size
- Retention by Key (log compacted)
Use Cases
- Monitoring
- Log Collection
- User-generated Events
- Queuing
Scott Cromar is an experienced IT manager who still remembers what it was like to step into his first leadership position from a technical role. He has assembled diverse, multifunctional, globally distributed operational teams for several employers over his career, and he enjoys the challenge of creating a team from a group of talented individuals.
Lincoln 4
You're respected by people inside and outside of your group. When there are hard problems to be resolved, you're the person who makes things work on time and under budget. More than once, you've pulled a complete miracle out of your hat. And when the team needs a new manager or team lead, you're the person at the top of the list.
Unfortunately, the skills that make a good technical staff member do not always translate well to management. How do you make the leap? Scott’s presentation will help you prioritize and organize the tasks that every successful manager has to master.
Technical people who are assuming (or are interested in assuming) a leadership role in their organizations.
This class will share some of the tips and skills that I have learned the hard way, by transitioning from a solid performer to a team manager. You will become aware of the many resources available to help you make the transition.
- Defeating the "Peter Principle"
- Becoming a good leader
- The manager’s toolkit
- Your 90-day transition plan
- Assessing team strengths, weaknesses, and needs
- Building your team
- Evaluating team members
- Managing expectations and relationships
- Creating your learning plan
- Measuring success
- Fitting the right strategy to your situation
- Time management
- Effective meetings
- Managing projects effectively
- Conflict management
Half Day Afternoon
Matt Harrison is a consultant and corporate trainer at MetaSnake, focusing on Python and Data Science. He has been using Python since 2000 across the domains of search, build management and testing, business intelligence, and storage.Matt also runs pycast.io, a screencasting service providing instruction on Python and Data Science. He occasionally tweets useful Python-related information at @__mharrison__.
Thurgood Marshall East
Python is in high demand. In addition to being used purely for development, Python programming is one of the top skills for data scientists because it is a full stack analytics package. You can access data with it (or crawl to gather data), slice it and dice it, throw it into a database, visualize it, and perform machine learning with it.
This course will cover some of the tools that data scientists are using to analyze data. Specifically, we will introduce the IPython Notebook (Jupyter), the pandas toolkit, and the plotting facilities in matplotlib.
Developers or admins who know Python or another language and want to learn about the analytic stack, specifically iPython Notebook, pandas, and Matplotlib.
Attendees will return to work with a basic understanding of the Python tools for data analysis.
- Anaconda Distribution
- IPython Notebook
- Navigation in Notebook
- Executing code in Notebook
- pandas Introduction
- Getting data
- Cleaning data
- Examining data
- Filtering, joining and updating data
- Working with aggregates
- Creating pivot tables
- Plotting Introduction
- matplotlib architecture
- Line plots
- Histograms
- Box Plots
- Tweaking axis, labels, legends
Alison Chaiken has been working with and contributing to systemd as part of her work on automotive Linux systems programming at Mentor Graphics' Embedded Software Division. She has given several presentations about systemd, most notably at the 2015 meetings of the Southern California Linux Expo and the Embedded Linux Conference.
Thurgood Marshall West
Systemd is now at the heart of all major Linux distributions. The fundamental design principle is to pull duplicate daemon-management code out of SysVinit's bash scripts and migrate it to systemd's core or the kernel. systemd is modular, asynchronous and fully configurable via ASCII-formatted declarative config files.
Attendees will learn to configure, diagnose and control systemd using its native tools like systemctl and journalctl. Hands-on examples will show systemd's unit files and directory hierarchy, illustrate socket-based activation, and demonstrate management of resources and security. Time permitting, attendees will learn about systemd and containers.
Linux system administrators, package maintainers and developers who are transitioning to systemd, or who are considering doing so.
Familiarity with systemd's configuration, tools, and basic principles.
- The basic principles of systemd
- systemd's major components
- Anatomy of a systemd unit file
- Understanding and optimizing the boot sequence
- Improved system monitoring with journald
- Resource management via systemd's cgroups interface
- Simple security management with systemd and the kernel's capabilities
- systemd and virtualization
Tom is an internationally recognized author, speaker, and system administrator. His new book, The Practice of Cloud System Administration, launched last year. His past books include Time Management for System Administrators (O'Reilly) and The Practice of System and Network Administration (Pearson). In 2005, he received the USENIX LISA Outstanding Achievement Award.
He works in New York City at Stack Exchange, home of Careers.Stackoverflow.com, and previously worked at Google and Bell Labs. His blog is http://EverythingSysadmin.com and he tweets @YesThatTom.
Lincoln 4
Devs and Ops have a time management problem: There are too many projects. Too many interruptions. Too many distractions. This tutorial presents fundamental techniques for eliminating interruptions and distractions so you have more time for projects, prioritization techniques so the projects you do work on have the most impact, plus "The Cycle System," which is the easiest and most effective way to juggle all your tasks without dropping any.
Sysadmins, devs, operations, and their managers
By the end of this class, you will be able to schedule and prioritize your work (rather than be interruption-driven), have perfect follow-through (never forget a request), and limit your work-time to 40 hours a week (have a life).
- Why typical “time management” strategies don’t work for sysadmins
- What makes “to-do” lists fail, and how to make them work
- How to eliminate “I forgot” from your vocabulary
- How to manage interruptions: preventing them, managing the ones you get
- Delegating to coworkers without them knowing
- Achieving perfect follow-through
- The Cycle System for recording and processing to-do lists
- Prioritization techniques
- Task grouping: batching, sharding, and multitasking
- Handling situations like a big outage disrupting your perfectly planned day
Full Day
Theodore Ts'o is the first North American Linux Kernel Developer, and started working with Linux in September 1991. He previously served as CTO for the Linux Foundation, and is currently employed at Google. Theodore is a Debian developer, and is the maintainer of the ext4 file system in the Linux kernel. He is the maintainer and original author of the e2fsprogs userspace utilities for the ext2, ext3, and ext4 file systems.
Thurgood Marshall South
The Linux operating system is commonly used both in the data center and for scientific computing applications; it is used in embedded systems as small as a wristwatch, as well as in large mainframes. As a result, the Linux system has many tuning knobs so that it can be optimized for a wide variety of workloads. Some tuning of the Linux operating system has been done "out of the box" by enterprise-optimized distributions, but there are still many opportunities for a system administrator to improve the performance of his or her workload on a Linux system.
This class will cover the tools that can be used to monitor and analyze a Linux system as well as key tuning parameters to optimize Linux for specific server applications, covering the gamut from memory usage to filesystem and storage stacks, networking, and application tuning.
Intermediate and advanced Linux system administrators who want to understand their systems better and get the most out of them
The ability to hone your Linux systems for the specific tasks they need to perform.
- Strategies for performance tuning
- Characterizing your workload's requirements
- Finding bottlenecks
- Tools for measuring system performance
- Memory usage tuning
- File system and storage tuning
- Network tuning
- Latency vs. throughput
- Capacity planning
- Profiling
- Memory cache and
- Application tuning strategiesTLB tuning
Matt Harrison is a consultant and corporate trainer at MetaSnake, focusing on Python and Data Science. He has been using Python since 2000 across the domains of search, build management and testing, business intelligence, and storage.Matt also runs pycast.io, a screencasting service providing instruction on Python and Data Science. He occasionally tweets useful Python-related information at @__mharrison__.
Thurgood Marshall East
Got the basics of Python down but want to dig in a little more?
Have you wondered about functional programming, closures, decorators, context managers, generators, or list comprehensions, when you should use them, and how to test them? This hands-on tutorial will cover these intermediate subjects in detail.
Developers with a basic understanding of Python who want to learn more advanced features
You will go back to work with a knowledge of advanced Python constructs and idioms, and know when to use them.
- Closures
- Decorators
- Class decorators
- Properties
- Context managers
- List comprehensions
- Iterator pattern
- Generators
Nick Feamster is a professor in the Computer Science Department at Princeton University. Before joining the faculty at Princeton, he was a professor in the School of Computer Science at Georgia Tech. He received his Ph.D. in Computer science from MIT in 2005, and his S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT in 2000 and 2001, respectively. His research focuses on many aspects of computer networking and networked systems, with a focus on network operations, network security, and censorship-resistant communication systems. In December 2008, he received the Presidential Early Career Award for Scientists and Engineers (PECASE) for his contributions to cybersecurity, notably spam filtering. His honors include the Technology Review 35 "Top Young Innovators Under 35" award, the ACM SIGCOMM Rising Star Award, a Sloan Research Fellowship, the NSF CAREER award, the IBM Faculty Fellowship, the IRTF Applied Networking Research Prize, and award papers at the SIGCOMM Internet Measurement Conference (measuring Web performance bottlenecks), SIGCOMM (network-level behavior of spammers), the NSDI conference (fault detection in router configuration), USENIX Security (circumventing web censorship using Infranet), and USENIX Security (web cookie analysis).
Thurgood Marshall North
This course introduces software defined networking, an emerging paradigm in computer networking that allows a logically centralized software program to control the behavior of an entire network.
Separating a network's control logic from the underlying physical routers and switches that forward traffic allows network operators to write high-level control programs that specify the behavior of an entire network. This is in contrast to conventional networks, where network operators must codify functionality in terms of low-level device configuration.
Logically centralized network control makes it possible for operators to specify more complex tasks that involve integrating many disjoint network functions (e.g., security, resource control, prioritization) into a single control framework. This allows network operators to create more sophisticated policies and makes network configurations easier to configure, manage, troubleshoot, and debug.
Network operators, software developers, graduate students, and other professionals who want to gain hands-on experience with SDN.
Knowledge about how to program modern SDN controllers for specific use cases, complete with examples. We'll provide a course virtual machine, so—obviously—that is for keeps!
- History and evolution of SDN
- Control and data plane separation
- Control Plane and Modern Controllers (Ryu, ONOS)
- Network Virtualization (Docker)
- Data Plane (P4)
- Programming SDNs (Frenetic)
- Verification and Debugging
- Use Cases and Looking Forward (SDX, security, etc.)
Half Day Morning
Jerome is a senior engineer at Docker, where he helps others to containerize all the things. In another life, he built and operated Xen clouds when EC2 was just the name of a plane, developed a GIS to deploy fiber interconnects through the French subway, managed commando deployments of large-scale video streaming systems in bandwidth-constrained environments such as conference centers, operated and scaled the dotCloud PaaS, and various other feats of technical wizardry. When annoyed, he threatens to replace things with a very small shell script.
Thurgood Marshall West
Docker is an open platform to build, ship, and run any Linux application, anywhere. It can be used in many ways: providing clean, isolated development environments; quickly spinning up test instances for CI purposes; ensuring coherence between development and production platform; and much more.
This hands-on tutorial will give you an opportunity to dive in and see Docker in action. You will learn about Docker basic concepts, how to run containers, create your own images, interact with the "Docker Hub," and stack multiple containers to compose complex applications.
This tutorial is relevant for both developers and sysadmins. If you have heard about Docker, but you haven't used it (or very little), this will get you started with a fast-paced, hands-on introduction.
No previous knowledge of Docker or containers is required, but you will need some basic UNIX command-line skills.
You will interact with a real Docker host and manipulate containers and images. After the tutorial, you will be able to use Docker in simple scenarios, and you will know where to look for further information to cover advanced use cases like orchestration, dynamic resource scheduling, load balancing, and more.
- What's Docker?
- Running our first container
- Understanding Docker images
- Running a network service in a container
- Building images interactively
- Building images with Dockerfile
- Pushing and pulling images
- Development workflow with Docker
- Network and volumes
- Stacking complex apps with Compose
Daniel Walsh has worked in the computer security field for over 30 years. Dan joined Red Hat in August 2001. Dan leads the RHEL Docker enablement team since August 2013, but has been working on container technology for several years. He has led the SELinux project, concentrating on the application space and policy development. Dan helped developed sVirt, Secure Virtualization. He also created the SELinux Sandbox, the Xguest user and the Secure Kiosk. Previously, Dan worked Netect/Bindview's on Vulnerability Assessment Products and at Digital Equipment Corporation working on the Athena Project, AltaVista Firewall/Tunnel (VPN) Products. Dan has a BA in Mathematics from the College of the Holy Cross and a MS in Computer Science from Worcester Polytechnic Institute.
Lincoln 4
The tutorial will cover basic SELinux concepts, but more from a usability point of view. What is SELinux trying to tell me? How does SELinux enforcement work? How does SELinux work in virtualization and containers? How can SELinux work in the enterprise?
System administrators, security professionals, and developers.
A greater understanding of SELinux; how to turn it on and leave it on. How to deal with SELinux issues.
- What is SELinux trying to tell me?
- How does SELinux protect my virtualization and container systems?
- How do I manage SELinux in the enterprise?
Half Day Afternoon
Jerome is a senior engineer at Docker, where he helps others to containerize all the things. In another life, he built and operated Xen clouds when EC2 was just the name of a plane, developed a GIS to deploy fiber interconnects through the French subway, managed commando deployments of large-scale video streaming systems in bandwidth-constrained environments such as conference centers, operated and scaled the dotCloud PaaS, and various other feats of technical wizardry. When annoyed, he threatens to replace things with a very small shell script.
Thurgood Marshall West
You have installed Docker, you know how to run containers, and have written Dockerfiles to build container images for your applications (or parts of your applications). Now comes the next part: connecting multiple containers together and deploying them on a cluster of Docker hosts instead of your single development machine.
This is what we will cover, along with some production-related questions: How to manage logs? Backups? Remote access? Security upgrades?
In this workshop, we will present the networking model of containers and cover how to run containerized applications spanning multiple Docker hosts. We will give recipes to implement cleanly various ops tasks including logging, backups, and more. Finally, we will discuss orchestration and scheduling. We will present solutions like Swarm and Mesos, and see some of them in action on an actual microservices architecture.
Developers and system administrators who are familiar with basic Docker concepts and want to learn how to deploy Docker for real-world applications.
You will know how to deploy Docker "for real," and how to perform common operational tasks with containers. You will learn about patterns and best practices to scale applications with Docker and containers.
- Pre-requirements
- VM environment
- Our sample application
- Running the whole app on a single node
- Finding bottlenecks
- Scaling workers on a single node
- Scaling HTTP on a single node
- Connecting to containers on other hosts
- Abstracting connection details
- Backups
- Logs
- Security upgrades
- Network traffic analysis
- Introducing Swarm
- Setting up our Swarm cluster
- Running on Swarm
- Network plumbing on Swarm
- Last words
Tom is an internationally recognized author, speaker, and system administrator. His new book, The Practice of Cloud System Administration, launched last year. His past books include Time Management for System Administrators (O'Reilly) and The Practice of System and Network Administration (Pearson). In 2005, he received the USENIX LISA Outstanding Achievement Award.
He works in New York City at Stack Exchange, home of Careers.Stackoverflow.com, and previously worked at Google and Bell Labs. His blog is http://EverythingSysadmin.com and he tweets @YesThatTom.
Lincoln 4
People think of "on call” as responding to a pager that beeps because of an outage. In this class, you will learn how to run an on-call system that improves uptime and reduces how often you are paged. We will start with a monitoring philosophy that prevent outages. Then we will discuss how to construct an on-call schedule—possibly in more detail than you've cared about before—but, as a result, it will be more fair and less stressful. We'll discuss how to conduct “fire drills” and “game day exercises” that create antifragile systems. Lastly, we'll discuss how to conduct a postmortem exercise that promotes better communication and prevents future problems.
Sysadmins, devs, operations, and their managers
- Knowledge that makes being on call more fair and less stressful
- Strategies for using monitoring to improve uptime and reliability
- Team-training techniques such as "fire drills" and "game day exercises"
- How to conduct better postmortems/learning retrospectives
- Why your monitoring strategy is broken and how to fix it
- Building a more fair on-call schedule
- Monitoring to detect outages vs. monitoring to improve reliability
- Alert review strategies
- Conducting “fire drills” and “game day exercises”
- "Blameless postmortem documents"
connect with us