ONOS First Impressions

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.

About Furrukh Fahim
A software engineer and a carpenter interested in making useful things, be it a software solution or a pergola.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: