ONOS First Impressions
January 15, 2015 Leave a comment
I have been tinkering with Open Daylight (ODL) for the last few months and my plan was to write about how to work with various interfaces to enable simple use cases. I also had a small side project to keep tabs on an interesting SDN project, Open Networking Operating System (ONOS). My intention was to spend couple of hours on it so I watched ONOS Technical Deep Dive webinar … it blew me away!!
It had to be investigated further and I spent the entire weekend going over the website wiki and the code. I like to write code not read it (its a common affliction) but reading ONOS code has been exhilarating. Following are some first impressions:
- Layered architecture is elegant in its simplicity and architecture goals are focused on production environments.
- Project wiki has great content that comprehensively covers the project and there are a number of well documented tutorials to get a fast start.
- The Intent Framework is a powerful concept that will make application development easier without getting entangled in protocol or technology specific details.
One difference between ODL and ONOS is breadth versus depth. ODL is a big project and I found the learning curve to be steep, mainly because there are so many sub-projects, massive amount of functionality (some overalpping) and code, which has been generated by different teams using different styles.
ONOS, on the other hand, is focused on specific goals, motivated by requirements for deployment in production environment, such as distributed architecture for scalability and high-availability of control plane, topology state management etc.
Finally, the craft of software development is important in SDN, for obvious reasons. ONOS code is clean, which means it is built with software best-practices for ease of maintenance and enhancements … it is squeaky clean.
A valid criticism of SDN is that the field is littered with controllers but ONOS is a good addition. If anything, it will speed up adoption of SDN … and I need to invest more time in it.