What Is OPS?
The Open Programmability System (OPS) is an open platform that provides Application Programming Interfaces (APIs) to achieve device programmability, allowing third-party applications to run on the device.
Unlike traditional network devices with limited functions and inherent services, OPS provides multi-layer network openness to meet users' diversified and differentiated requirements. This facilitates rapid expansion of service functions, automatic deployment, and intelligent device management, reducing O&M costs and operational complexity.
Why Do We Need OPS?
The rapid development of networks imposes new requirements on network devices, but traditional network devices can only provide limited functions and known services. This substantially limits the deployment and management of network services, which currently face many challenges.
Challenge |
Description |
---|---|
Long service period and high deployment cost |
Traditionally, new services usually require a long development period, take months or years to deploy, and involve high deployment costs. |
Large numbers of complex technologies and diverse devices |
Network devices currently use many complex technologies. Furthermore, these devices are often provided by numerous device vendors that follow different interface standards. As a result, the third-party application development cost is high, driving up customers' O&M cost. |
Slow fault locating and response |
The application network environment is complex and changeable, and certain faults cannot be predicted in advance. Without the support of an open system, there is no effective method to locate and rectify various faults. |
Closed network with low interaction capabilities |
Currently, networks are still closed entities. Networks and applications are separated from and do not interact with each other. They need to be coordinated by "administrators" (various protocols and tools). Such multi-layer operations not only reduce service deployment efficiency and prolong response time, but also increase service deployment costs. |
With the rapid development of society and ever-changing technologies, networks need to embrace innovation.
To solve problems such as heavy network management workloads and high service deployment costs, Huawei launches OPS. OPS meets the differentiated requirements of different users for network openness and enables users to develop and deploy customized network management policies through open RESTful APIs for rapid expansion of service functions, automatic deployment, and intelligent device management. This not only facilitates network operations, but also helps to drive down network operation and maintenance costs.
OPS currently provides multiple open interfaces, and as more open interfaces are added in the future, most customization requirements can be addressed using Python scripts.
Traditional service mode vs OPS-enabled new service mode
How Does OPS Work?
System Architecture
OPS enables users to customize functions by creating scripts (Python only at present) through open APIs.
The OPS architecture consists of three layers: application presentation layer, communication channel layer, and network device layer. The application presentation layer is oriented to programmers and consists of RESTful APIs, which are used to process various network applications. The communication channel layer provides a type of fast, secure, and scalable channel between applications and network devices. The network device layer abstracts underlying devices, overcomes the differences between different platforms, and provides unified access to the internal resources of network devices.
OPS architecture
Service Logic
OPS adopts an event-driven model. The OPS module monitors the key events of a device through the event subscription module and then performs corresponding actions through the action execution module. Users can define the events that they want to monitor; for example, they can monitor entered commands, route changes on the network, and logs and alarms generated on devices. Once an event is detected, the OPS module performs corresponding actions to implement user-defined functions.
The OPS functions are implemented through OPS APIs. Users can define events to be monitored and actions to be taken using Python scripts based on OPS APIs supported by the device.
OPS implementation logic
What Are the Advantages of OPS?
OPS provides multi-layer network openness for network application developers and allows them to redefine network and service behaviors. This helps improve service deployment efficiency, shorten market response time, increase network integration agility, and simplify network O&M.
OPS makes personalized, innovative networks possible.
OPS benefits
OPS offers the following three major benefits:
- Multi-layer openness
OPS provides programmability for users at the application presentation layer, communication channel layer, and network device layer, allowing them to use the corresponding APIs to customize management policies.
- Support for multiple programming languages
The system integrates the running environments of application scripts supported by OPS. OPS currently supports only Python scripts but will be extended to support Java, C, and C++ scripts in the future.
- Proven security mechanism
OPS provides comprehensive assurance for service deployment through API security, running security, application deployment security, and key information security mechanisms.
- API security: Only authorized users can perform OPS operations. Authentication and authorization are performed based on role permissions.
- Running security: A modular design is used to isolate resources and monitor resource usage.
- Application deployment security: A third-party resource management package is provided to manage application deployment authorization.
- Key information security: OPS APIs use secure communication protocols to ensure that information is not disclosed during transmission. Users are responsible for ensuring the security of local operations and information.
Typical Application Scenarios of OPS
Scenario 1: Device Inspection
To check the health of a device (for example, to check the hardware and service running status), users generally need to log in to the device and run multiple commands. OPS, in comparison, allows users to deploy a customized policy. The device can then automatically execute the corresponding status check commands, periodically collect execution results, and send the results to the server for analysis, simplifying maintenance.
Device inspection
Scenario 2: ZTP (Automatic Deployment)
Zero Touch Provisioning (ZTP) can invoke OPS scripts to implement automatic service deployment upon startup of unconfigured devices. When an unconfigured device is powered on, it obtains the address of the script server from the DHCP server and downloads a Python script from the script server. OPS then triggers the device to execute the script to download the system software and configuration file from the corresponding server. After that, the device restarts with the system software and configuration files, completing automatic deployment.
Automatic deployment of an unconfigured device through OPS
Scenario 3: Troubleshooting
Users can subscribe to device management events provided by the system to detect board status changes. If a board is faulty, users can customize actions to record the running status of the device and perform troubleshooting.
Scenario 4: Intelligent Diagnosis and Configuration
OPS can use Python scripts to implement intelligent diagnosis and configuration.
Function |
Description |
---|---|
Threshold-crossing alarm diagnosis |
Diagnoses whether the memory or CPU usage of a device exceeds the set threshold. |
Routing neighbor information analysis |
Diagnoses whether the neighbor of a device is normal. |
Interface information diagnosis |
Diagnoses whether an interface is normal. |
Route diagnosis |
Diagnoses whether the routes of a device are normal. |
Key route change monitoring |
Monitors the real-time changes of key routes and sends log notifications. |
Device diagnosis information query |
Diagnoses whether a device is normal. |
Interface traffic monitoring |
Diagnoses whether the traffic on an interface is normal. |
Function |
Description |
---|---|
Automatic configuration backup |
Automatically backs up the current configurations to local and remote servers before new configurations are performed. |
User information modification |
Records the name and IP address of each user that modifies configurations. |
Risk warning |
Displays a warning message prior to the execution of a high-risk command. |
Configuration wizard |
Provides a wizard to guide the configuration process after the system enters the configuration mode. |
Disabling of unnecessary services |
Automatically checks for unnecessary services and disables them if there are any after the system enters the configuration mode. |
- Author: Mao Chengjun, Huang Gang
- Updated on: 2024-02-27
- Views: 22274
- Average rating: