In order for NRENs (National Research and Education Networks) and operators to be able to deploy and operate the innovative NaaS offerings, an appropriate toolset has been created, OpenNaaS.
It has been envisioned as a multi-project software community that allows several stakeholders to contribute and benefit from a common NaaS software stack. The first objective of the OpenNaaS effort is enable NRENs to provide IP Network as a Service offerings to the research communities they serve.
On a longer term, OpenNaaS targets the following goals:
- Enable researchers to do development on top and reuse past research outcomes easily.
- Have a base functionality that can be trusted on a production environment. On the field usage of OpenNaaS will not only validate its functionality but increase the project’s lifespan.
- Released as open source software with a LGPLv3 license, OpenNaaS is open to the community in order to participate, enhance knowledge and discuss design and road map.
OpenNaaS‘s vision is on-demand, commonly user-triggered, provisioning of network resources. These managed resources must allow a recursive delegation schema of rights, so operation is decoupled from infrastructure ownership.
The software is based in lightweight abstracted data model for the resources layer. This allows for abstraction from actual vendor-specific details. This abstraction is flexible enough to accommodate different designs or orientations and still fixed enough so common tools can be built and reused across plugins (security, life-cycle, monitoring, deployment and upgrade).
In the functional layered model (see picture below) is divided principally into three parts, the platform (orange), the resources layer (green) and the network intelligence (red).
The resources are abstracted from concrete devices and technologies vendor details. This is a prerequisite to being able to build rich network intelligence orchestration on top of it, as required by the NaaS approach. These resources have capabilities that implement the actual network functionality.
The network intelligence is the layer where all the components that use the application reside and consume the resources. It can be populated with simple scripting code or even complex web services to various middlewares (like VMware, OpenNebula, OpenStack, etc).
The platform layer provides the technology foundation and building blocks for the upper layers.
In order to facilitate the development, contribution and OpenNaaS project monitoring some community resources and channels exist as detailed below:
- JIRA (Mantychore members only): shows the project development and the flow of the issues.
- User Documentation: social collaboration where find technical documentation.
- Bamboo (Mantychore members only): continuous integration server and release management.
- GitHub: hosting service where find the source code and the releases.