This framework has been designed and implemented to create a serverless container infrastructure where the resource limits (i.e., CPU, Memory, disks, network) of such containers can be rescaled in real time according to multiple user-defined policies such as the resource usage of the applications running inside a container or any desired time-varying resource limit.
With this serverless environment several interesting features can be exploited from both the user and the provider point of view:
- Increased resource utilization, as it is possible to dynamically adjust the resource scheduling to match the real resource usage of the containers.
- A serverless environment is provided and thus, only the used resource amounts are acccounted for, being the provider's task to adjust the resources provided as needed while minimizing any performance impact.
- Increased serverless flexibility is offered to the user as by using software containers, which offer a similar environment to virtual machines, a broad range of applications can be deployed and executed.
To account for the container's resource usage and thus have a container-level view, BDWatchdog has been used as the monitoring agent.