Skip to content

Introduction to Peering Manager

Origin Story

Peering Manager was originally and still is developed by its lead maintainer, Guillaume Mazoyer in 2017 as part of an effort to automate BGP peering provisionning.

Since then, many organisations around the world have used Peering Manager as their central network source of truth to empower both network operators and automation.

Key Features

Peering Manager was built specifically to serve the needs of network engineers and operators operating BGP networks. Below is a very brief overview of the core features it provides.

  • Autonomous system management
  • BGP groups
  • Internet Exchange Points
  • BGP sessions with with differences between classic ones and IXP ones
  • BGP communities and routing policies
  • Devices and configuration rendering leveraging Jinja2
  • Configuration installation for NAPALM supported platforms
  • Detailed, automatic change logging
  • Global search engine
  • Event-driven webhooks
  • Interoperability with other tools such as PeeringDB, IX-API, and more

What Peering Manager Is Not

  • BGP monitoring
  • Configuration management
  • Replacement for PeeringDB, IX-API or IXP Manager
  • Autonomous system ranking and discovery

That said, Peering Manager can be used to great effect in populating external tools with the data they need to perform these functions.

Design Philosophy

Peering Manager was designed with the following tenets foremost in mind.

Serve as a "Source of Truth"

Peering Manager intends to represent the desired state of a BGP network versus its operational state. All data created in Peering Manager should first be vetted by a human to ensure its integrity. Peering Manager can then be used by provisioning systems with a high degree of confidence.

Application Stack

Peering Manager is built on the Django Python framework and utilises a PostgreSQL database. It runs as a WSGI service behind your choice of HTTP server.

Function Component
HTTP service nginx or Apache
WSGI service gunicorn or uWSGI
Application Django/Python
Database PostgreSQL 12+
Task queuing Redis/django-rq