A Path to Network Automation
As cloud technology wins mainstream acceptance among companies looking to run networks that are efficient, scalable and high quality, the development of software-based technologies, open-source solutions, and public cloud services (like AWS, Azure) are becoming unstoppable. In addition to the growth of public cloud services, many service providers are opting to operate their own on-premises private cloud services. These cloud services are more efficient for the end user and, at the same, time allow for dynamic and flexible networks with the potential for faster and cheaper deployment of the service. Through the use of cloud technologies, service providers get new possibilities to automate their networks, making them more responsive and more easily configured.
To maximize efficiency and reduce costs while swiftly adopting new technologies, service providers are combining on-premises and public clouds in a hybrid cloud solution. Deploying services on a public cloud while setting up an on-premises cloud ensures seamless integration, giving service providers the option to decide when to rely on public cloud service based on considerations of cost and the degree of sensitivity of the service. Using a hybrid cloud gives service providers the opportunity to optimize investments and operational expenses, while maintaining an efficient network to offer service.
Critical Components On the Way to Automation
As mentioned above, the main benefit of cloud services (public, on premises, or a hybrid solution) is an efficient way of utilizing the network, with the possibility of automating service deployment, maintenance, and expansion. In order to effectively automate networks and their functions, organizations need to deploy strong central management of cloud infrastructure—known as “orchestration”—and, at the same time, adjust it to how the network is operated.
We can develop software-defined networks through the technique of decoupling software from hardware and enabling the software to evolve separately from the hardware (and vice versa). On the one hand, NFV technology gives service providers the ability to deploy fast and flexible network functions (e.g., firewalls, VPNs, NAT, CPEs) on the same physical platform, just using different applications from those above. On the other hand, SDNs enable the separation of the control and data planes. This allows for the data plane to be distributed over multiple locations and the control plane to be logically centralized in a SDN controller, as the brain of the network. This way, the network can be run from a central location where every switch or route can be configured individually.
All of this makes it critical to have effective orchestration—the management of overall resources, network functions, and services. The main advantage of deploying strong orchestration when adopting software-based technologies (virtualized infrastructure, with network functions on top) is building cloud native networks with a high level of automation.
Service chaining is very important for effective automation and orchestration. Service chaining gives software-defined networks the ability to set up a chain of connected network services in one single service. The resulting service is provisioned, maintained, and reconfigured from central location. Service chaining reduces the chance of error because the orchestrator is placed where the overall network “picture” is stored. This significantly reduces the probability of an inconsistent device configuration. In addition, providers have the ability to create service catalogues and store all the necessary information to run services across different data centers and clouds.
Why is all of this important? When managing services as a chain-of-software defined network, you get the potential to deliver services closer to the user— i.e., closer to the edge of the network you are operating. Not only does edge computing reduce service latency, it can also reduce network congestion and improve performance by processing data at a closer proximity to the user. By using edge computing, service providers can potentially store content and applications closer to the edge of the network. This allows for services to be delivered faster and eliminates the need to use a backhaul network. In addition, this can can be used to improve security when using a hybrid cloud solution because it avoids direct communication with public cloud solutions and allows on-premises data storage. By combining cloud technologies and service chaining, service providers get the opportunity to deploy a high level of automation on the network edge, where configuration changes most often occur.
Network Operation to Support Automation
When speaking about new ways of operating software-based networks, one often hears buzzwords like DevOps, Network as a Code or Infrastructure as Code. What this all represents is a standardization of how the network is configured and operated. In other words, we need to have the entire network configuration based on templates stored in a central version control system (the most popular ones include GitHub, GitLab, Bitbucket etc.).
This way, deploying services becomes much easier because it involves just a change of variables instead of rewriting a full configuration for each new device or service. Configuring different network functions this way saves time and resources and, at the same time, it’s really important when deploying many similar network functions like on the edge of the network.
When implementing Network as a Code, it’s important that all relevant parties have access to all changes, and when changes are fully approved, it should be pushed to production. This minimizes the risk of configuration errors. Moreover, operating the network this way should be a prerequisite for service providers when considering the automation of their networks.
In addition to standardizing network configurations, it is also important to model the services operating on the network. By defining and describing services in one network model, service providers get the option to build up network topology and a way to manage it. A model-driven approach is a very useful way to describe services and give a comprehensive view of the services and the network itself. Service modeling solutions should be flexible enough to model different network services, both at the core and at the edge, allowing for a simplified way to scale network functions. Furthermore, the solutions should make it easier to modify and combine services by describing all services using different service templates. Different open standards make it possible to effectively model network services like TOSCA. By using service modeling, providers can use a standardized model of all its services, accelerating onboarding of new network services, defining necessary hardware to obtain desired performance, and making network automation easier way.
By adopting software-based technology and setting up a cloud (private, public, or hybrid), service providers make their own network like a unique ecosystem with the ability to scale faster and, depending on a set of requirements, create networks that are highly reliable. Furthermore, it gives them the possibility to choose how the most highly automated service will be deployed, as well as how to lower costs and operate it in the efficient way. All of this can be achieved if service providers are well prepared, deploy considerable control mechanisms, adopt new ways of network operation, and maintain service catalogues that define all network services.