Octet

What is the difference between northbound and southbound APIs?

Show the answer

Say this first

Northbound APIs face up, from the controller to applications, orchestrators and scripts. They are usually REST with JSON and speak in business terms like sites, policies and devices. Southbound APIs face down, from the controller to the network devices: OpenFlow, NETCONF, RESTCONF, gNMI, SNMP, or plain SSH and CLI.

Go deeper

Picture it as a stack

Output
ITSM, orchestrator, your Python script
        |  northbound: REST API, JSON, webhooks
    Controller (Catalyst Center, APIC, SD-WAN Manager)
        |  southbound: NETCONF, RESTCONF, gNMI, SNMP, SSH, OpenFlow, OpFlex
    Switches, routers, firewalls, APs

Examples

ProductNorthboundSouthbound
Cisco Catalyst CenterIntent API (REST), webhooks for eventsSSH and CLI, SNMP, NETCONF
Cisco ACI APICREST API over the object model (JSON or XML)Policy pushed to the Nexus 9000 fabric; Cisco describes OpFlex as the policy protocol
OpenDaylight, ONOSREST APIsOpenFlow, NETCONF, BGP-LS, PCEP

East-west

Some people also name an east-west interface: controllers talking to each other in a cluster or between domains, for example to sync state or federate policy.

Traps

  • Mixing up the directions. North is toward apps and people, south is toward devices.
How did you do?Book 3.5 Implementation