Distributed systems practitioners on bare-metal testbeds know it: resources (e.g. computes, networks) on a bare-metal infrastructure may have these slight differences between each other that experimental code can become hairy. For such code, achieving practical portability (e.g changing the infrastructure parameters) is thus a tedious time consuming task.
☆Homoterogeneous☆ has been coined to express the gap between the idea we have of a computing infrastructure, where resources have static/predictable setup, and the reality of interacting with them on a daily basis.
In this context, EnOSlib smoothes the experimental code and can
- deal with various platforms (e.g. local machine, scientific testbed, virtualized environments)
- interact programmatically with different remote resources: compute (servers, containers) and networks (ipv4, ipv6)
- deploy ready-to-use experimentation services (e.g instrumentation, observability tools).
- emulate complex network topologies (e.g for your FOG experiments)
- integrate your code with interactive development environment like Jupyter.