[Note, audio of demos is not good]
Developed in Go
All µ-services are in Docker Containers currently
All Docker containers in this demo run in one Ubuntu VM
Note overtime I changed µ-service names : Gatekeeper to Servicemapper, Min weight topology service to Topology Processor (TopoProcessor), Micro-VNF-RF to Forwarder, Requester to Grapher.
- Micro-VNF Topology
- Elastically Create, Update, Delete µ-VNF Datapath Topology
- Control µ-VNF is separated from Datapath µ-VNF
- Control µ-VNF (light yellow terminals 2nd row): Topology computation service: Min weight topology, shortest path with ECMP, Next hop / Gateway mapping for routing/forwarding table
- Datapath µ-VNF (green terminals): [Linux] Routing/Forwarding
- Gatekeeper Control µ-services (1st row of purple terminals) keep track of all the services and take appropriate actions automatically when certain events happen, such as µ-VNF down
- Traceroute through Micro-VNFs
- Traffic flows through overlay Forwarders giving full control on traffic to users of this system
- Full Distributed Fault-tolerance / HA capabilities
- All the µ-services can be elastically added or deleted/shut down
- Even if just one Control µ-service of each type (Gatekeeper, Control µ-VNF) is active, the whole System will still perform with full quality of service and with full resources (topology resources, for example)
- µ-services are synchronized fully (no leader election protocol or such)