I think the best way to answer the question is to describe what each one is. I will start with Cisco ONE.
ONE stands for “Open Network Environment”. The idea is to allow programmability of the network and the network elements. This allows for consistency across both physical and virtual network environments. The way that Cisco ONE accomplishes this is to bring the Open Networking Foundation works together with the following tool sets:
- OnePK (the API for NX-OS, IOS, and IOS-XR)
- Software Defined Networks/OpenFlow (Cisco has created its own controller and agent and introduced it in the Cat3K switches)
- Overlay Virtual Networks (Cloud focus, hypervisor agnostic, using VxLAN and NX1000v)
So Cisco ONE is Automation and Orchestration of the network to meet various application requirements. You can see that OnePK is part of the Cisco ONE ecosystem.
Now let’s talk more specifically about OnePK.
Consider the following customer problem: How can I have new ways to control/program/configure my network and its elements to meet application specific requirements?
What OnePK (One Platform Kit) does is provide a rich and programmable service set APIs (Application Programmable Interfaces) to create a set of tools that can control the network infrastructure. This means that the new network engineer can write a C or Java program that can manipulate:
- Data Path (copy, inject, punt packets)
- Policy Routing (create new and different routing decisions)
They write the program and OnePK provides a seamless interface to all Cisco operating systems NX-OS, IOS-XR, and/or IOS via consistency in verb usage. So the new network engineer does not worry about syntax and CLI.
OnePK then becomes an interface like Visual Basic does when used in Excel or another analogy would be macros in Word. The routers and switches become programmable devices and OnePK transcends the need to manage each individual device. Check out the following demo: http://www.youtube.com/watch?v=Bqawx7iiKkw
Some folks get confused between OnePK and OpenFlow. OnePK is an API, whereas OpenFlow is a protocol. I hope that demystifies the difference between those two.
I further hope that the definitions of Cisco ONE and OnePK clearly define how they are related and how they are different things.
Here are some links:
For developers: http://www.cisco.com/en/US/prod/collateral/iosswrel/content/at_a_glance_c45-708540.pdf
I hope you find this article and its content helpful. Comments are welcomed below. If you would like to see more articles like this, please support us by clicking the patron link where you will receive free bonus access to courses and more, or simply buying us a cup of coffee!, and all comments are welcome!