My Final Project
EdgeKernel
Demo Link
A Presentation on EdgeKernel can be found here: https://youtu.be/neguWBuOzgY
A Demonstration of how to set up a fresh Ubuntu machine to use EdgeKernel can be found here: https://youtu.be/P9SZiQzDopU
Link to Code
https://github.com/cm16161/EdgeKernel
How I built it (what's the stack? did I run into issues or discover something new along the way?)
It's a serverless platform which uses MirageOS unikernels rather than containers. EdgeKernel uses Redis for its messaging layer and datastore and can outperform equivalent functions running on Apache OpenWhisk.
``Triggers" placed on the Redis MQ is monitored by a Ruby script which will spawn a unikernel accordingly. To spawn a unikernel a number of checks are made such as maximum limits, available networking devices and whether or not to scale up.
Scaling is implemented using a threshold-based rule by monitoring the number of active unikernels and the number of data-items in the queue.
By doing this I learnt a lot about serverless platforms, unikernel technology, OCaml and Ruby. I also learnt about the different issues with unikernel technology being as cutting edge as it is - such as not having support for sending packets over an HTTPS connection!
Additional Thoughts / Feelings / Stories
From start to finish it has been an excellent project which required a lot of reading. I enjoyed feeling that the work I was doing was new.
Top comments (0)