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

- 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 has more than twenty years' experience in designing, deploying, breaking, and troubleshooting large scale networks. Across that time, he has co-authored more than forty software patents, spoken at venues throughout the world, 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 is currently a member of the Architecture Team at LinkedIn, where he works on next generation data center designs, complexity, security, and privacy. He is also currently on the Routing Area Directorate at the IETF, and co-chairs the IETF I2RS and BABEL working groups. His most recent works are The Art of Network Architecture, Navigating Network Complexity, Unintended Features, and the Intermediate System to Intermediate System LiveLesson.

    MSIT Capella University, MACM Shepherds Theological Seminary, PhD in progress from Southeastern Theological Seminary


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