Principles of Design Driven Networking

There are a only a few concepts that need to be mastered to realize stable and agile networks with full automation and orchestration capabilities across multi-vendor and multi-technology networks. In essence these are:

Architecture & Design leading

Architecture & design should be leading during the whole lifecycle of a network. This is normally not a problem during initial rollouts, however, it is essential that this is sustained for all future changes, additions and exceptions. Enforced correctly, networks become highly stable, scalable and flexible. Also more sophisticated and complex network services can be implemented without effort. The way to do this is by using modeling, templates and scenarios.

Standardization

Standardization is the cornerstone for successful automation and it starts with complying to the chosen architecture, services and hardware options as defined by architects and designers. And should be extended in the way parameters are used. Standardizing on allocation of IP addresses, numbering of VLANs, definitions of service profiles, attributes and other naming conventions are essential to automate networks.

Furthermore, configurations and changes should be standardized. In practice, engineers may use different commands to solve different things, such as activating services, solving issues or upgrading devices. Design Driven Networking ensures that configuration changes are consistent between engineers.

Knowledge management

Traditionally, all networking knowledge and information resides on the network devices and in the heads of engineers. Design Driven Networking ensures that all knowledge is explicitly put into models, templates and scenarios so people can share best practices, reuse information and automate processes. When deploying the generated configurations, the production network is automatically updated.

Furthermore, by adopting Design Driven Networking, a full inventory is created with explicit understanding of all networks and services. This is extremely useful for knowledge sharing, integration and troubleshooting. Instead of analysing in the production network, this can be done in the system first.

Process control

Standardization is not enough. Process control is crucial to ensure that people work together in a uniform way, based on their roles and responsibilities. This can either be defined by the process owner or lead architect or -engineer. This prevents people from making changes and errors due to own interpretations. Design Driven Networking enables organizations to define this exactly themselves.



In essence, these are the four 4 core essentials, required to run networks as a business. The question now becomes how to enforce and control them. This is done through the following concepts:

Modeling

Modeling is a key concept within Design Driven Networking. Instead of using difficult programming skills the network to activate services, modeling is used to translate network designs into executable models that can be used over and over generating different but standardized services. Upon execution of the models, an abstract view of the network is created, with clearly defined parameters and relationships. Modeling is not limited to the technical design aspect. Also processes, roles and responsibilities can be modelled to enforce a desired way of working. This may vary from giving operators the freedom to perform certain tasks to modeling an end to end automated process without manual intervention required.

Network abstraction

Abstraction enables networks to be managed, irrespective of type of vendor or technology. All relationships, services and parameters are build and maintained in a vendor agnostic way. This is very powerful as migrations, consolidations or replacements of different vendor's hardware can be prepared in advance in the abstract network.

Templates

Templates will take care of translating the abstract network with all managed parameters into vendor specific configurations. This is done through substitution of parameters from tested, ‘golden configurations’ and by using conditionals to generate configuration commands for specific vendors or technologies.

Scenario's

Scenario's are basically scripts that take care of how the communication in the production network should be done. Engineers can define these themselves so others will always use the same scenario for doing upgrades, migrations, roll back's etc..

Scheduling

Through scheduling, all jobs and changes can be planned for at the convenient time, either directly or during a given maintenance window. This can be done attended or completely unattended as 'first time right' changes are guaranteed. Massive changes are now possible. Combining changes with scenarios will take care of things like automatic rollbacks in case of failure. In the morning, the networking staff simply validate the executed changes.

Design once, automate many

The result of adopting these essentials of Design Driven Networking is the ability to ‘design things once and automate many’. This is extremely powerful for doing more with less people, deploying new services more quickly, make life cycle management significantly easier, while guaranteeing compliance and reduce vendor dependence. Additionally, new business concepts can be offered to partners and end customers such as self service or (out)sourcing activities.