DEV Community

Chetan Mistry
Chetan Mistry

Posted on • Edited on

EdgeKernel

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)