Weave Ignite Brings a Container GitOps Experience to VMs
Prior to entering the Finnish military, Lucas Käldström spent his time contributing to Kubernetes. As a co-lead for SIG Cluster Lifecycle, he shepherded the kubeadm tool for building Kubernetes clusters from inception to general availability. When he joined the military, he brought his interests and skills with him, but “special requirements” dictated that he work with virtual machines (VMs) rather than the cloud native tools he’d become accustomed to using. Käldström turned to Amazon’s Firecracker hypervisor and built what would become the precursor to Ignite, which he built as an employee at Weaveworks after the conclusion of his military service.
Released earlier this month in alpha, Weave Ignite is an open source VM, with a container UX and built-in GitOps management, that combines Firecracker MicroVMs with Docker / OCI images to unify containers and VMs. In an interview with The New Stack, Käldström explained that Ignite brings a number of cloud native benefits to the world of VMs.
“The idea is that we want a simple way to run really fast and secure VMs using the same tools that you’re used to in the container world — essentially a cloud native way of running VMs. We discovered that Firecracker was really good at running VMs,” said Käldström. “It boots in a fraction of a second and it’s really minimal and lightweight, which is good for container environments. The idea of Ignite is to build a higher level upon Firecracker and implement the Docker UX with the CLI and to provide a good experience for the end-users of Firecracker and similar VM tools.”
As for the GitOps management part of the equation, Ignite makes it so that you can manage VMs declaratively and automatically like Kubernetes and Terraform, which Weaveworks CEO Alexis Richardson said makes it stand apart.
“This is another step in the unification of the worlds of virtual machines and containers. Its key role is to help you layout VMs and in that regard, it has three distinct advantages,” said Richardson. “One, it’s got a familiar user experience that we know from Docker. Two, it inherits the vast Docker ecosystem, which means it’s much easier to do things like boot up Ubuntu images or do networking. And three, we’ve taken the ops management philosophy that we learned about through Kubernetes and containers and applied it to VMs, which we think is innovative and makes it easier to provide out-of-the-box GitOps managed clusters.”
A Replacement for OpenStack?
Currently, Ignite is open source under the Apache 2.0 license and hosted on Weaveworks’ GitHub, but Richardson said that the future of the project is yet to be determined, with the Cloud Native Computing Foundation (CNCF) and Amazon’s Firecracker organization among the possible homes. For now, he says the project will run as a community project until it gains more of a critical mass, but he understands the need for members of various communities to have input for several reasons.
“We’ve seen what’s happened with a single company trying to monopolize a container and VM implementations and it always ends badly, because nobody wants that layer of the stack to be controlled by a single vendor. It’s much more likely to be universally useful if multiple people work on it,” said Richardson. “We can have a good ops data center based on Ignite VMs, but right now our aspirations are fast, simple testing and demos, which is already a really useful thing. Other people may have their own use case that would drive a good community.”
As an alpha release, Ignite is still in early stages, but both Richardson and Käldström said they could imagine many potential use cases. In the blog post, Richardson lays out several, such as setting up numerous secure VMs “lightning fast” to be used for testing, CI and ephemeral workloads, and even run legacy and special apps in lightweight VMs for the purposes of multi-tenancy or “using weird/edge kernels.”
“You can imagine Kubernetes running VMs as a replacement for OpenStack potentially. This is not something that we are trying to do. It’s not something that we think it could actually be used for right now, but once you can manage VMs the same way that you can manage containers, why not try it?” said Richardson. “I think there’s a lot of potential there. Because the virtual machines are very lightweight, you could imagine funneling them with a whole packaged application so that you have something that launches just by typing one command at the command line and everything else unpacks.”
CNCF is a sponsor of The New Stack.
Feature image via Pixabay.