The evolution of network automation has been fraught with early challenges and setbacks. The unfulfilled promises of software-defined networking (SDN) and network functions virtualization (NFV) have led to inconsistent vendor implementations, limited equipment resources, unexpected complexity, and lack of expertise, resulting in stalled efforts made by early adopters of these concepts. As a result of those early hiccups, organizations have course-corrected and are pursuing more manageable and concrete network automation initiatives with a focus on simpler goals, a more targeted scope, faster time to value, and creation of abstraction layer for underlying equipment capabilities.
However, many networking teams already have collections of standard operating procedures, template config files and scripts in varying languages, and are confused about how to rationalize their existing investments and embark on a path toward true network automation. What is the key to success? Here are six steps for a pragmatic approach that discuss how to develop a network automation strategy that incorporates existing initiatives while still planning for future innovation.
Start with the end in mind
Before prescribing practical steps and building blocks to build a network automation strategy, it is important to note that a pragmatic approach does not limit or impact long term strategic initiatives like Machine Learning and Artificial Intelligence. Rather, it helps build a foundation on which an organization can continue its innovation within the industry.
However, to lay the proper foundation for your network automation strategy, it's important to start with the end in mind. Since today’s complex networks require automation capabilities that span multiple networking domains from traditional physical networks, next-generation programmable networks, SD-WANS, cloud networks and more; a successful network automation strategy must allow for flexibility that expands across multiple networking domains without having to re-train, re-develop, or rip and replace existing technologies.
Define use cases
It’s all about the use case. Typically, network-related activities are categorized into a few main buckets, such as network operations and maintenance, configuration management, service orchestration, and policy management. As use cases stack up, something simple like operations and maintenance can lead into automation of device-specific configuration. As use cases around device configuration and lifecycle become manageable, users can pursue service orchestration, and ultimately policy management. Taking a steppingstone approach to network automation helps NetOps teams gain confidence while experiencing results.
Address network domains
Next, an organization must decide how to apply those use cases to specific domains. For example, teams may be looking to automate activities within the physical infrastructure like a branch or a data center switch, but others may have a pressing need to address network automation in the virtual environment residing in the cloud infrastructure. Determining the right combination of domain and use case would provide a great starting point with respect to planning automation projects that would pay immediate dividends.
Determine sources of truth
Historically, organizations have tried to centralize all network-related data either in a CMDB or an inventory platform. However, today’s complex network is more distributed than ever, especially when multiple domains make up the network ecosystem. The source of truth for network and inventory data is going to be highly fragmented across systems based on specific data sets. Using the source of truth, which is the most accurate for the use case and the domain would be an essential step when considering network automation. In today's world, where the velocity of network services is growing rapidly, assuming that networks are static will result in a setback, especially when there are controllers or orchestrators in place that assist NetOps teams in making dynamic changes within the network. Ultimately, it is important to understand that successful automation is driven based on good data. Hence, if organizations want to achieve success in network automation, they must focus on choosing the right sources of truth for data as part of their overall approach.
Identify integrations
Organizations beginning a network automation journey will soon realize that without robust integrations, automating any activity will be difficult. It is imperative that once NetOps teams determine the sources of truth for their use cases, building integrations to each of these systems is the next step. The good news is that several vendors are pro-actively building robust integrations for their systems, reducing the need for customers to waste cycles doing so as part of their automation plan. Being able to integrate, either by leveraging DevOps platforms or directly through REST APIs, allows organizations to accelerate their efforts towards delivering successful automation for networking activities.
Understand personnel roles and skillsets
Finally, it’s important to understand who will perform which activities within these network automation systems. What are the skillsets needed to tackle and deliver successful automation initiatives and relevant ROI? NetOps skillsets including familiarity with network scripting (examples include Ruby, Python or YAML), DevOps and orchestration tools (Ansible, Puppet, NSO), network device communication protocols and modeling languages (like NETCONF and YANG), public cloud networking (AWS, Azure and associated APIs), and software development principles (such as agile and CI/CD) are all important for a successful network automation deployment. A correct assessment and selection of team members with the right skillsets is a trivial yet crucial step of an automation approach.
When planning a network automation strategy and roadmap, understand that it is acceptable to start slow and have incremental progress towards comprehensive automation. Don’t feel pressure to boil the ocean with your initiatives. Rather, pursue simpler goals and scope. Automation efforts that result in faster time to value will increase confidence and competencies to tackle more sophisticated and complex networks. Start with the pragmatic approach outlined in this article and reduce the chances of the project being derailed or stalled.