Polycube gRPC service libraries

ยท 173 words ยท 1 minute read

๐ŸŒ polycube-grpc-service-libraries ๐Ÿ”—

polycube-grpc-service-libraries allows the creation of stand-alone Polycube services in various programming languages using gRPC.

Polycube services, called cubes, can be composed to build arbitrary service chains, enabling custom network connectivity for:

  • Namespaces
  • Containers
  • Virtual machines (VMs)
  • Physical hosts

๐Ÿ›  My Work in Brief ๐Ÿ”—

I developed an architecture that allows the creation of network services in Polycube using languages like:

  • Go
  • Python
  • C++
  • Other gRPC-supported languages

Why gRPC?
gRPC was chosen because it enables running the control plane of a service on a remote machine, separate from where the data plane is running. This design improves flexibility and scalability.

My work aimed to make it easier for more developers to contribute to the Polycube open-source project.

๐Ÿ’ก Key Concepts & Challenges: ๐Ÿ”—

  • Long-lived streaming gRPC calls
  • Creation of services in Polycube using languages beyond C++

You can find the code here.
Iโ€™m no longer actively involved in the development of this repository, so some documentation or comments may be missing, but I hope there is still enough detail for others to contribute.