One Platform Kit: The Power to Innovate
What Could You Do with the Power of the Network?
What if you could:
- Reach into your network and extract the information you need, when you need it?
- Directly manipulate flows and modify packets in real time?
- Create customized services that transparently integrate into your network?
- Optimize routine operational tasks with improved automation?
With the Cisco® One Platform Kit (onePK), you can do these things and more. You have the vision; onePK gives you the tools to make it real.
The Need for Speed Meets the Art of Smart
Change is constant in today's business environment, and networks must adapt at the same pace. Whether it's providing deep information for network analytics, simplifying operational tasks, or providing a platform for new services, networks need to be innovation-ready.
Today, networks are provisioned, monitored, and maintained by a large toolkit of protocols and techniques, from command-line interface (CLI) to Extensible Markup Language (XML), Simple Network Management Protocol (SNMP) to syslog. (See Figure 1.) While powerful and effective for their prescribed tasks, these tools are not programmatic, thereby preventing most application programmers from more effectively interacting with the network. In addition, while the network consistently and reliably delivers vast steams of data every second, few tools exist to provide real-time access to those packets and flows.
Figure 1. How We Interact with Network Software Today
To meet the need for innovation, a new kind of toolkit is required, one that:
- Enables direct, programmatic access to the rich resources of your network
- Provides a consistent interface to all your routers and switches
- Allows you to tap into packets and flows across the entire network
- Supports innovative network applications wherever they need to run
- Integrates with your tooling and development environments
This innovative toolkit is called the One Platform Kit (onePK). (See Figure 2.)
Figure 2. How We Will Interact with the Network with OnePK
One Platform Kit: An SDK for Your Network
One Platform Kit is a flexible development environment that enables you to use and extend your network by writing applications that directly access the routers and switches in your network through the onePK API.
The onePK Architecture Maximizes Flexibility
At a high level, the onePK architecture is composed of three major elements: the network abstraction layer, the communication channel, and the presentation layer. (See Figure 3.) These elements combine to provide a consistent and adaptable architecture that enables multiple languages and multiple deployment models for applications that work across the network.
Figure 3. OnePK Architecture
Presentation Layer: What the Programmer Sees
The presentation layer consists of the API libraries that programmers can use within their applications. There are currently many separate APIs available for separate network tasks. With onePK, application programmers get a universal network programming toolkit.
The onePK libraries are initially available in C and Java. But the architecture is extensible, so additional language bindings (such as Python) can and will be added. The presentation library was designed with very few dependencies, so it can be easily integrated with existing tooling and development requirements.
Network Abstraction Layer: One API for Many Devices
The network abstraction layer provides access to functions that are internal to a router or switch. One of the primary values of this layer is that it abstracts underlying differences between operating systems and platforms. For example, if your application uses a onePK function call to read interface statistics, that same function call will work across all Cisco networking software platforms (Cisco IOS® Software, Cisco IOS XR Software, Cisco IOS XE Software, and Cisco NX-OS Software).
Communication Channel: Security and Flexibility
The communication model provides a fast, safe, extensible channel between the application and the network element. Applications are required to authenticate before being allowed to access the functions of the network abstraction layer.
By using a pluggable channel, the communication model enables flexible deployment models, a primary goal of the architecture. A deployment model describes where the application will run. onePK applications can run on the router or switch itself, on a colocated processing blade (if the device supports one), or on an external server that resides anywhere in the network. The choice of deployment model will be determined by the capabilities of the target device and the requirements of the applications. (See Figure 4.)
Figure 4. Deployment Models
Service Sets: Your Hooks into the Network
Services sets are used to organize the hundreds of onePK APIs into functional groups. The initial release will include support for the following base service sets. (See Figure 5.)
Figure 5. Base Service Sets
- The element service set consists of APIs to get and set network device and interface properties, state, and statistics.
- The utilities service set provides access to syslog and AAA functions within the element.
- The discovery service set provides a mechanism for an application to discover remote or local network elements, network topology, and the network elements providing onePK services.
- The developer service set provides developers with a set of additional services to enable them to build applications that can be managed, deployed, and if necessary debugged.
- The policy service set allows applications to configure several features of the forwarding path, including filtering, ACLs, and QoS.
- The data path service set provides locations on the forwarding path to insert custom features. These locations allow developers to insert their own packet/flow processing logic into the forwarding path.
The routing service set provides read access to the routing information base (RIB) and enables a developer to safely modify the routing/switching logic of the network element.
With its array of capabilities, onePK will enable a wide range of new use cases. Three examples follow.
Figure 6 illustrates cloud services automation.
Figure 6. Cloud Services Automation
In example use case in Figure 6, a cloud services provider uses the One Platform Kit on routers in the cloud or on customer premises to dynamically orchestrate and manage a cloud. Simplified provisioning, faster deployment, metered usage, and better SLA visibility are all possible with onePK. The service provider can even deliver the client right inside the network equipment, without the need to deploy additional hardware.
Figure 7 illustrations custom routing.
Figure 7. Custom Routing
In the example use case in Figure 7, a custom routing application augments the network with a custom routing policy. This policy redirects traffic using the customer's own business logic. In this case, the application can reside on a central server and communicate with multiple devices using the onePK infrastructure.
Figure 8 illustrates customized management.
Figure 8. Customized Management
By using the consistent, cross-platform APIs provided by onePK, the use case in Figure 8 extends a custom management system's ability to consume state, statistics, and properties from devices across the network.
As your business evolves, your network must evolve as well. The One Platform Kit provides consistent and programmatic APIs to use and extend the rich functionality inside your network. Customize existing features or create your own new network features. Build a new service or simplify an operational task. With onePK, personalization and innovation of the network are possible. And the power to innovate is yours.
For More Information
For more information, see http://www.cisco.com/go/onepk.
Contact your authorized Cisco sales representative to inquire about participation in the early field trial program or about general availability.