I’ve been doing some travelling with our Network Control System (NCS) to meet both existing customers and teams that are interested in using it to improve their day-to-day operations.
I have had several conversations with network engineers about problems caused by the lack of clear boundaries between the people that are tasked with running networks (the infrastructure team) and the people who own the applications that deliver services on the network (the IT developer teams).
Examples of problems coming out of the lack of boundaries include:
- Lack of coordination between configuration changes coming from different IT systems inevitably leads to conflicting or overlapping configuration statements in the network devices
- Having multiple IT systems own various parts of the configuration for the network devices makes any holistic view of the network configuration (e.g., for auditing or planning purposes) impossible
So, by deploying a network abstraction layer like NCS that is owned, managed and developed by the infrastructure team, we introduce an interesting separation of concern:
- The YANG model for the service applications becomes the contract language between the infrastructure team and application developers on the IT side
- The model-driven and transaction-oriented API provides the reliability and application-type environment that IT-side development teams expect
This tends to simplify the conversation between the infrastructure team and the IT developer teams by removing much of the “how” (implementation details) and moving into the “what” (service abstractions).
It also allows the networking team to focus on their core competence: taking the requirements from the users of the network and translating that into a network design and configuration that makes the most efficient use of the network equipment. In addition, it delivers the bonus of the ability to make form factor and vendor choices that are not directly tied to the services, but the decisions can be based on cost and how well the products perform the specific networking task.
That all sounds like a good things to me.