I’m speaking to the Entrepreneur First cohort this morning about the future of resilient, distributed systems and what I’m working on to get us there. Firstly, I’m describing the kinds of solutions we have today, the great things they offer developers as well as the issues they create. This leads into the new toolstack we’re creating, called the MISO stack, and the benefits and trade-offs.
I’m spending more time talking about Mirage OS – the ‘M’ in the MISO stack – because the workflow we’ve developed here underpins how we build, deploy and maintain such applications at scale. As an example of how things can work, I point at my earlier post on how to go from jekyll to unikernel. This uses TravisCI to do all the hard work and all the relevant artefacts, including the final VM, can be version-controlled through Git. I actually deployed this post while the audience was watching, so that I could point at the build logs.
One of the use cases for our toolstack is to make it possible for individuals to create and maintain their own piece of the cloud, a project called Nymote, which will also make it possible to run the Internet of my Things – which itself is related to another things I’m working on, such the Hub of All Things - HAT and the User Centric Networking projects.
This is an exciting summer for all the tools we’re putting together, since we’ve recently announced Mirage OS v2.0, which now works on ARM, are going full steam ahead with Irmin and working hard on improvements to the OCaml ecosystem. It’s a great time to explore these projects, learn a new language and build awesome stuff.
Some of the research leading to these results has received funding from the European Union's Seventh Framework Programme FP7/2007-2013 under the UCN project, grant agreement no 611001.