- How did they create this
- What tread off and compromises exist in the architecture
- What could be the limitations
- How complex is the architecture and deployment
- What software, languages etc.. did they use
- How much operational intensive it is to support this
There is no much info about internal architecture or deployment options on the vendor's home site. We can find only very generic descriptions like the ones below.
What is Nicira's architecture?
Nicira's Distributed Virtual Network Infrastructure (DVNI) is an architecture that builds on a distributed software system that decouples virtual services from the network hardware and works with any server hypervisor.
How does the platform work?
The NVP Controller Cluster dynamically updates the state of tunnel connections between OVS switches through the physical network. These tunnels allow virtual networks to span across the data center, even between data centers. Data communications between workloads connected to virtual networks is encapsulated and traverses the physical network, enabling VM mobility across subnet boundaries, while maintaining L2 adjacency. The operational state of the network is computed algorithmically in the NVP Controller Cluster,
Fully Distributed Architecture with no single points of failure
Midokura has built MidoNet to be completely distributed and scalable. These advantages are key in building your infrastructure.
Furthermore, MidoNet is a completely distributed scale-out system, offering no single point of failure.
But there is one thing that can be read between the lines. Although both vendors claim to offer SDN solution that is based on a distributed architecture is seems they interpret this in a different way.
It looks like that for Nicira the distributed attribute is mainly a property of its NVP cluster. NVP is a central place that holds all network (like flows, port, tenants, network ...) related information that is relevant to implement a control plane.
For Midokura the distributed attribute is a way they designed the whole solution they have. There is no single central component (in a form of a single or multi-server distributed cluster) that holds and manages all network information. It looks like that every Midonet node has limited knowledge but in the same time has enough information to perform tasks done normally by the control plane.
Comparison of the architecture types
Depending on the architecture type both companies facing different challenges that they need to solved. An interesting summary of types and problems that you may encounter can be found in this wiki article SDN deployment models. The article list following types that matching quite well above descriptions that should give us enough info to realize how different are both approaches:
- Symmetric vs asymmetric
- Floodless vs flood-based
- Host-based vs Network-centric