O'Reilly logo
live online training icon Live Online training

Managing Complexity in Network Engineering

Understanding and Managing Complexity in Network Engineering

Russ White

The increasing complexity of information technology systems is reflected in increasing complexity in the networks supporting these systems. Over time, networks have become complex enough to surpass the average engineer’s ability to understand, configure, and manage all the network components—and to accurately predict the outcome of changes or outages. Automation, such as development operations, and the centralization of control planes, such as software-defined networks, are among the various techniques being used to manage the increasing complexity of networks.

This live training will examine complexity in networks by considering complexity as a separate problem. Complexity will first be defined, exposing and illustrating the triad of state, optimization, and surface. Once defined, a set of strategies will be outlined for both reducing and managing complexity. The tradeoffs for each solution will be considered, helping learners choose effective solutions to complexity, rather than just moving the complexity from one place to another.

This training is designed for all network engineers, from beginning engineers who would like to shape their future learning within the context of complexity, to experienced engineers who are facing complexity on a daily basis and would like to better understand how to encounter and counter complexity.

What you'll learn-and how you can apply it

In this live training, you will learn how to define and spot complexity in network designs and protocols. With this knowledge as a foundation, you will learn how to ask the right questions to uncover the tradeoffs in making design changes and discover the places where you should look for the consequences of such a change.

This training course is for you because...

  • You want to understand why networks are complex
  • You want to understand what complexity is in the context of a network design
  • You want to understand what complexity is in the context of a network protocol
  • You want to know what questions to ask to uncover complexity in a network design or protocol, and how complexity impacts the operation of the system
  • You want to understand how to find and assess the tradeoffs when making changes to the design or operation of a network


  • A basic understanding of network design and operation (perhaps at the network professional level)
  • A basic understanding of OSPF, IS-IS, BGP, and IP forwarding

Resources - Navigating Network Complexity

Common Misunderstandings - Networks can be designed in a way that eliminates complexity - Network protocols can be designed in a way that eliminates complexity - Automating network configuration or operation will eliminate complexity, or does not present any complexity tradeoffs - Centralized control planes, such as Software Defined Networks (SDNs), can eliminate complexity from network control planes

About your instructor

  • Russ White began working with computers in the mid-1980's, and computer networks in 1990. He has experience in designing, deploying, breaking, and troubleshooting large scale networks, and is a strong communicator from the white board to the board room. Across that time, he has co-authored more than forty software patents, participated in the development of several Internet standards, helped develop the CCDE and the CCAr, and worked in Internet governance with the Internet Society. Russ has a background covering a broad spectrum of topics, including radio frequency engineering and graphic design, and is an active student of philosophy and culture.

    Russ is a co-host at the Network Collective, serves on the Routing Area Directorate at the IETF, co-chairs the BABEL working group, serves on the Technical Services Council/as a maintainer on the open source FR Routing project, and serves on the Linux Foundation (Networking) board. His most recent works are Computer Networking Problems and Solutions, The Art of Network Architecture, Navigating Network Complexity, and the Intermediate System to Intermediate System LiveLesson.

    MSIT Capella University, MACM Shepherds Theological Seminary, PhD (in progress) Southeastern Baptist Theological Seminary CCIE #2635, CCDE 2007::1, CCAr


The timeframes are only estimates and may vary according to how the class is progressing

Segment 1

Defining and Understanding Complexity (50 minutes) - Building a definition of complexity from specific examples - Understanding the network complexity triad in relation to other common triads - Understanding how the network complexity triad defines a set of tradeoffs

10 Minute Break

Segment 2:

Techniques for Managing Complexity (50 minutes) - The Wasp Waist - Information Hiding - Information Hiding Tradeoffs - Using the OODA Loop to Consider Complexity

10 Minute Break

Segment 3

Automation, Centralization, Cloud, and Complexity (50 minutes) - Automation and Complexity Tradeoffs - Centralized Control Planes and Complexity Tradeoffs - Cloud Computing and Complexity Tradeoffs

10-minute final Question and Answer Period