Thursday, June 4, 2015

OPNFV: Arno Release and a Long Road Ahead

There is a huge buzz around the industry today around the first release of OPNFV, the Open Platform for Network Virtualization, code-named Arno.

Since the ETSI NVF-ISG definitions came out last December, there has been a mad dash across the board toward delivering the next Unicorn of network service providers. With companies like AT&T publicly committing to the Domain 2.0 effort, which commits to 5% of their network being virtualized this year, there is little doubt that there's a strong push toward software defined networks (SDN) and the ability to provide virtual network fundtions (VNFs) on top of a network function virtualization (NFV) platform.

While attending the OpenStack Summit in Vancouver last month, there was a strong showing from all of the players in this space which did two things in my eyes. First, it validated OpenStack - not just as a platform for web companies to move their transitional workloads, but as a platform which companies who provide mission critical services are looking at seriously for running the most relied upon services in the world. Second, it confirmed that a number of massive companies have a strong commitment, both to OpenStack and to OPNFV.

While all of this sounds great, the first release of OPNFV has me concerned that there is more expectation than reality in this release. I feel like there are a number of ways in which the project can improve, and their start really has me wondering if there will be a long term need for what they are doing. Here's a breakdown of what I've seen as problems so far:

First, OPNFV chose to start with a CI/CD system, which is a great start, but there's a fundamental flaw in that they have chosen to work with ISO builds of third party vendor distributions - specifically using Fuel and Foreman. I feel like there's a fundamental flaw in this decision to use specific vendor releases and not integrate with the OpenStack CI systems. Whose distributions will be included in OPNFV? What if I do it myself? What if I'm using a combination of these things - or I'm using hybrid cloud services?

Additionally, OPNFV has been very selective about it's storage platform by using Ceph - mostly due to ease of deployment. If you attended CERN's session about Ceph, you'll quickly see that using this platform may not be the best choice for mission critical services. I actually believe that being selective about any backend solutions is actually a very rigid path forward and can't be achieved.

There is already 26 projects created in OPNFV! OpenStack itself is more than 5 years mature and hasn't come close to this many projects. Some OPNFV projects are requirements projects, some are performance projects - but none of them are actual software projects. There is no goal to deliver a full software solution. I'm not quite sure how that works?

Finally, I've been told directly that people really shouldn't look to deploy OPNFV today. I'm in agreement with that statement. While it's great to validate the platform, start a build system and get people involved I just don't feel like the project is on the right trajectory. There's a definite need for more involvement from subject matter experts, as well as software engineers, who can help to overcome some of the obstacles I've mentioned.

While my opinion of OPNFV is that it's presently a science experiment, we have to remember that OpenStack was in that same position just a few short years ago. There are a lot of companies putting large bets on the success of SDN and NFV in the service provider market, and I honestly am excited just to be involved with any part of it.