Scaling the Facebook backbone through Zero Touch Provisioning

This new framework has already empowered our engineers to move faster, to solve problems more creatively, and to take a far more iterative approach to building our networks and our network deployme…

Joe Hrbek
9 min readintermediate
--
View Original

Overview

The article discusses Facebook's implementation of Zero Touch Provisioning (ZTP) to scale its global backbone networks. It highlights the challenges faced due to rapid growth and the development of a new system called Vending Machine, which automates network device provisioning and deployment workflows.

What You'll Learn

1

How to implement Zero Touch Provisioning for network devices

2

Why a software-centric approach is crucial for scaling network deployments

3

How to automate network deployment workflows using Vending Machine

Prerequisites & Requirements

  • Understanding of network provisioning and automation concepts
  • Familiarity with Python programming(optional)

Key Questions Answered

What challenges does Facebook face in scaling its backbone networks?
Facebook's network engineers encounter unique challenges due to the heterogeneous nature of geographically dispersed IP and optical backbone networks, which complicates conventional automation approaches typically used in more homogeneous data center environments.
How does Facebook's Vending Machine automate network provisioning?
The Vending Machine automates network provisioning by using a Python agent that executes a series of steps, including downloading specific instructions and configurations, performing initial commands, and reporting back to the server, thus streamlining the deployment process.
What is the role of Zero Touch Provisioning in Facebook's network strategy?
Zero Touch Provisioning (ZTP) allows Facebook to automate the provisioning of network devices over reliable Ethernet management connections, significantly reducing manual errors and enhancing deployment speed and reliability across its global backbone.
What future goals does Facebook have for the Vending Machine system?
Facebook aims to further enhance the Vending Machine system by orchestrating device jobs for larger network topologies, fully automating rebuilds of its Express Backbone network, and implementing continuous network rebuild automation to ensure operational efficiency.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implementing Zero Touch Provisioning can drastically reduce manual errors in network deployments.
By automating the provisioning process, teams can focus on higher-level tasks, ensuring faster and more reliable network setups.
2
Utilizing a modular workflow framework like Vending Machine allows for greater flexibility in network management.
This approach enables engineers to develop and deploy independent steps, facilitating quicker iterations and adaptations to changing network requirements.
3
Integrating Python agents into network devices enhances the automation capabilities of provisioning systems.
This allows for more complex operations to be executed directly on the device, improving efficiency and reducing dependency on external systems.

Common Pitfalls

1
Relying on outdated manual provisioning methods can lead to increased errors and inefficiencies.
As network demands grow, sticking to traditional methods can hinder scalability and responsiveness, making it essential to adopt automated solutions.
2
Overcomplicating provisioning systems with monolithic code paths can create maintenance challenges.
A complex codebase can lead to difficulties in troubleshooting and extending functionality, emphasizing the need for modular and flexible designs.