Kick the Tires on Spinnaker with Armory’s Minnaker
Armory, a provider of an enterprise version of the open source delivery tool Spinnaker, launched Minnaker in advance of this week’s KubeCon + CloudNativeCon Europe, giving developers and organizations a quicker, easier way to test out Spinnaker without the commitment or difficulty involved in a full production installation.
Built using the lightweight K3S Kubernetes distribution and the Armory Operator, Minnaker is deployed in a virtual machine, allowing companies to “enable software deployments in only 10 minutes instead of 10 days,” the company writes in a press statement.
Chad Tripod, field chief technology officer at Armory, explained that the normal process of installing Spinnaker can involve numerous steps and multiple teams, from provisioning a Kubernetes cluster and persistent storage, to working with the cloud operations team to handle ingress. With Minnaker, all of that complexity is removed.
“There’s a lot of things that you have to do, a lot of steps you have to take, to actually get to realize the actual pipelines and the value of Armory itself, and so what Minnaker did is address that user experience on the front end. All of us here at Armory that works with these large companies and delivering software, we took all those best practices and like any good engineering firm, we automated out as many steps as we could. We tried to abstract away the power of the platform, from trying to get the uplift to get inside the door with it and actually get some value out of it,” said Tripod. “We put it in a consumable package that, in the beginning, the initial uplift is under 10 minutes, we can get you from ground zero to deploying a pipeline into Kubernetes.”
Put even more simply, Armory CEO Daniel R. Odio said that “Minnaker is a really, really elegant way for an engineer to try it on their lunch break, or to be able to run Spinnaker on their laptop.”
In creating Minnaker, the Armory team addressed three specific hurdles to deployment. First, they removed the need for halyard, a container outside of the cluster that was used to program and install and configure Spinnaker, and moved instead to a CRD and Operator. “Now we have a very Kubernetes native declarative model of setting up,” said Tripod.
Next, the installation and setup are done using YAML and Kustomize, the Kubernetes native configuration management tool, which Tripod says makes for easy integration into a GitOps model. From there, Tripod says they have baked in best practices for companies operating at scale, which he says all adds together to a tool that can work as not only an introduction to Spinnaker, but also one that can transition to a full-blown Spinnaker installation.
“We essentially have made Minnaker in a way that it’s easily pushed to your Git repo, once you’ve done your initial testing and validations, and then from a GitOps model, you can deploy that to any production-grade Kubernetes cluster that you might have,” said Tripod. “So it has a very nice workflow of getting to a very large scale.”
Odio explained that the problem many companies face is not just the initial time to implement Spinnaker, but rather the mental transition. Many enterprises have built custom delivery pipelines of “spit, polish, and tape” using bash scripts, and are often afraid to even touch them, as the original creators are long gone, he said. Minnaker makes it easy for developers to test out Spinnaker — all they need is a place to run a virtual machine, such as an Ubuntu instance in the cloud — and then take it from there to show the rest of their team what’s possible.
“Companies traditionally have built their own software delivery tooling, and it’s often not consistent. Maybe some teams build canary deployments, other teams didn’t. It’s very brittle,” said Odio, explaining that Spinnaker relies on a different taxonomy than many continuous delivery systems, putting the application at the center. “A lot of this is really about education and storytelling internally, and being able to show instead of tell. The real value of Minnaker in this non-prod use-case is to allow teams to understand what’s possible in this new way, then they can justify internally the heavier lift and investment that’s required to move off of all this tooling that they’ve invested so much in. There’s such a sunk cost fallacy in these companies, where they’ve invested so much in this legacy tooling that’s not cloud native. It’s really good for that.”
Beyond getting a foot in the door, Odio explained that a real value of both Minnaker and Armory is the inclusion of these best practices, which bring with them years of experience, now with a simplified installation experience.
“I would say the ability to get best practices out of the box is something that today is not well understood unless you’re deep in Spinnaker. But for example, to be able to have a Canary drop down that you just add into your pipeline, that Mann-Whitney algorithm is based on all of the learnings from Google and Netflix deploying in cloud-scale for a decade-plus, and all of that data, you’re just getting that out of the box for free,” said Odio. “It’s just incredible.”