operational data from devices. YANG data models have
been developed specifically to address the need for
standardization and commonality in network
management. Model-driven programmability enables
you to automate the configuration and control of
network devices.
Cisco IOS XE, a network operating system for
enterprises, Cisco NX-OS, a network operating system
for data centers, and Cisco IOS XR, a network operating
system for service providers, support three standards-
based programmable interfaces for operating on the
YANG data models: NETCONF, RESTCONF, and gRPC.
When a client request is received via NETCONF,
RESTCONF, or gRPC, it is first converted into an
abstract message object. Based on the namespace in the
request, the message object is delivered to the underlying
model infrastructure, where it is processed and executed
on the device data store. The results are returned to the
client through the agent on which the request was
received. gRPC is an open-source project started by
Google to provide a modern remote procedure call (RPC)
framework that can be used in any environment—not
just for network configuration. More details about it can
be found at grpc.io. NETCONF and RESTCONF are
discussed in detail in this chapter. Figure 12-1 shows all
the protocols that Cisco devices support for model-driven
programmability.