RSSAmplifier

Blog

JanMa's Blog

My small part of the Web

/RSS feed ↗10 posts

Latest posts

Deploy systemd units in your Nomad cluster

Back in 2014 before Kubernetes even existed, CoreOs included a simple cluster-scheduler called Fleet . With Fleet you could aggregate your individual machines into a pool of resources and deploy systemd unit files to them. You could choose to either run your units globally on all machines at the same time or limit them to a set of hosts. The idea behind it was to treat your machines as if they…

Orchestrating containers with Nomad and systemd-nspawn

In my last post I took a deeper look into systemd-nspawn and how to use it to run containers. Afterwards I decided to figure out the logical next step of how to orchestrate those containers. This is what this post is all about :-). I will show you how to use HashiCorp Nomad together with a custom plugin I wrote for it to orchestrate systemd-nspawn containers across multiple hosts. About Nomad If…

Running containers with systemd-nspawn

I recently discovered that apart from running services , scheduling timers , configuring your network interfaces , resolving names and a lot more you can also run containers with systemd using systemd-nspawn . This was completely new to me so I decided to take a deeper look into the necessary steps to get this up and running. First I looked into how to build images suitable for systemd-nspawn and…

Talk: Evolution of a Microservice Infrastructure

A feew weeks back, I had the pleasure to give my first talk on a conference. I attended the Open Source Datacenter Conference ( OSDC ) in Berlin where I talked about the evolution of our microservice infrastructure at REWE digital . Since the end of last year, we performed two very big changes to our microservice environment. First we changed our reverse proxy from Nginx to Traefik and afterwards,…

A hypervisor in a box

Soon after I started to work on my bachelors thesis, I had to figure out a practical and portable way to run a Xen hypervisor on which I could test my development builds. Initially I just created a simple Ubuntu virtual machine on my Desktop PC and installed the latest available version of Xen by hand. Unfortunately at the time Ubuntu only shipped Xen until version, 4.9 but I needed access to…

Porting an unikernel to Xen: Wrapping up

Hello again and a happy new year :-) This is the last post of my blog series on how to port an unikernel to Xen. Last time we had a look at the performance of my implementations and how it compared to the original one. The results looked very promising which led me to the conclusion that Xen is a valid choice when looking for a platform to run HermitCore on. In this post I will wrap thing up and…

Porting an unikernel to Xen: Perfomance comparison

Hello, after finishing the implementation part last time , this week it is time for some performance comparison. Although both the HVM and PVH port are not 100% feature complete, they are in a state where basic bench marking is very much possible. The results, as you will see, look very promising when comparing them with the ones of the original implementation. Table of contents Basic Benchmark…

Porting an unikernel to Xen: PVH guest

Welcome back to the fourth part of my blog post series. Last time i wrote about my process of trying to get HermitCore working as a fully paravirtualized PV guest in Xen. Unfortunately this didn’t work out for a number of reasons. The main one being hat i would have had to rewrite the memory management code of HermitCore. So i decided to try to get it working as a PVH guest. This worked out quite…

Porting an unikernel to Xen: PV guest

Welcome back once again to my blog post series on how to port an unikernel to Xen. Last week i showed you how i got HermitCore running as a fully virtualized guest in Xen. This week it is finally time to get our hands dirty and to start modifying the operating system :-) . The source code for this post can be found in the xen_parav branch of my HermitCore fork. Table of contents ELF notes…

Porting an unikernel to Xen: HVM guest

Welcome back to the second part of my blog post series on how to port an unikernel to Xen. In the first part i gave an introduction to Xen, Unikernels and HermitCore and explained the conceptual changes that have to be made to an operating system to work as a paravirtualized guest in Xen. This part will show you how i got HermitCore running as a fully virtualized guest in Xen. All the sourcecode i…