In an era of mobile and IoT, the network must become more flexible and adaptable to meet the demands of mobile users and vast numbers of sensors and other IoT devices.
A network must be easily programmed by operators to automate manual tasks and adapt to an organisation’s unique needs.
“Most network operating systems (NOSs) were designed for and designed in a different era when applications were monolithic and deployed in a classic client/server model.
This was when software was compiled, distributed, and installed on computers, and when everything needed to run the application was contained in that application, and the software was primarily designed for people to use,” says Andre Kannemeyer, CTO at Duxbury Networking – distributors of Aruba technology.
“Cloud apps are different. New capabilities are delivered frequently in a steady cadence. Applications are constructed from components and micro-services that can be used by multiple applications or digital services.
The building blocks of cloud apps have well-structured data models and APIs because they are designed to integrate into other software.
The software is used by people—and increasingly machines. The components of a cloud application are built to be composed into larger application and workflows.
The design centre of a micro-service is that it is meant to be integrated and driven by other software components or systems.”
The concept of a programmable network is not new. Over the last decade, network vendors have published APIs and pitched their operating systems as a platform for developers.
“But,” says Kannemeyer, “the concept never got traction, for a variety of reasons. Most IT teams didn’t have the development skills—or appetite for risk— for building on-box applications.
There wasn’t a big enough revenue opportunity to attract third-party developers. SDKs and NOSs as a platform proved to be misguided for the enterprise network operator.”
ArubaOS-CX (AOS-CX) was developed from the ground up as a modern cloud app for network operators.
“Under the hood, AOS-CX is a collection of modern cloud and computer science techniques, built on a foundation of many years of network protocol experience.
AOS-CX interacts with workloads, micro-services, and components. And it’s optimised for automation and machine communications that are increasingly driving today’s digital world,” says Kannemeyer.
AOS-CX is essentially a network-as-a-micro-service.
Core system applications running inside AOS-CX use a publish/subscribe model to the in-memory state database, and no application on AOS-CX is allowed to have an app-to-app private conversation.
All aspects of the system are expressed in the data model, and all apps must adhere to a distributed system, state-oriented programming model.
At compile time, the build system auto-generates a REST API for all objects in the data model.
This exposes the features and functions, as well as the statistics to both internal AOS-CX applications/services and to external software systems.
“Process restart, clustering, and high availability come along as an outcome of the architecture, not as a feature to be built.
A new process, or process restart, simply attach to the database and retrieves both its persistent and ephemeral state. The architecture scales across CPUs and cores simply by virtue of the locale independent nature of publish/subscribe state synchronisation.
Secondly, and most importantly, the architecture extends itself completely, at compile time, through complete and structured REST APIs. Not REST or XML as basically a CLI transport, but as true machine APIs designed for interfacing with software,” Kannemeyer explains.
AOS-CX helps network operators automate and simplify operations.
Another Aruba solution – the Aruba Network Analytics Engine (NAE) – provides real-time monitoring that speeds troubleshooting with intelligent network insights.
Network Analytics Engine is an application that runs on AOS-CX, sitting on top of the data model and using the APIs to monitor the network and troubleshoot faster.
It lets users analyse a problem when the problem is happening. When it detects an anomaly, it can proactively collect additional statistics and data to proactively troubleshoot the problem.
“It gives the user the insight they need to resolve the issue and it may take corrective action based on established policies.
You can easily customise the monitoring to what’s important to your business through Python scripts.
Automating monitoring and troubleshooting with Network Analytics Engine is just one example of an application that takes advantage of the programmability.
AOS-CX can function as another component in a software stack, alongside other network components, medical devices, operational applications, or elements unique to an organisation,” says Kannemeyer.
The benefits of automation and programmable networks are not restricted to large enterprises with highly skilled network teams.
In fact, the ability to program one’s network using simple Python scripts and to automate the tedious, manual work of monitoring troubleshooting, can give an organisation of any size an edge.
“No SDK is required. AOS-CX is not a development platform for software engineers. It’s a platform for network engineers to improve efficiency, reliability, and productivity,” says Kannemeyer.