MacStadium has officially released Orka (Orchestration with Kubernetes on Apple), our new virtualization layer for Mac build infrastructure based on Docker and Kubernetes technology. In this video, the MacStadium team shares why Orka was created, how Orka works, why building on Macs is different than other platforms, and much more. Want to read ahead? A transcript follows below. Want to start an Orka POC? Contact our sales team for more information.
Orka: Orchestration with Kubernetes on Apple
Greg McGraw, CEO, MacStadium:
We're very excited to be launching Orka, which is our flagship software enablement of MacStadium resources around the globe. Orka is taking advantage of other very popular technologies like Docker containers and Kubernetes orchestration engines, which are tools that most software development teams are very familiar with. To simplify how to get access to MacStadium resources - that's the objective of Orka, and we're very excited about it.
Shawn Lankton, CRO, MacStadium:
Orka is Orchestration with Kubernetes on Apple, and it is the only way to use native Kubernetes commands to create, control and automate macOS VMs.
With Orka, we take a macOS VM and put it inside a Docker container. This allows us to use Kubernetes hooks to create, control, spin up, spin down, pause, duplicate, and load balance those containers holding the VMs across a pool of Mac hardware. This really gives developers and DevOps teams a set of tools that they are familiar using everywhere else and also have a ton of power. Now, they can finally have access to that on a Mac cloud.
Why was Orka created?
Chris Chapman, Senior Vice President of Software Development, MacStadium:
Development in general is moving towards more agile, more developer-controlled environments - and that starts with Docker and Kubernetes. But in the Mac ecosystem, that's not a thing. We felt like if we could bridge those two worlds and make development for mobile more consistent for Apple developers like it is for every other developer, that it would be super valuable. At MacStadium, we're always looking for ways to improve the performance and maximize the hardware that people have, and this is a way for us to really control that.
Folks that we've talked to in the community are really excited about Orka because it gives them access to standard tooling to control their Mac VMs for the first time ever. What people are used to is having to learn a totally new set of tools whether it's VMware, Anka or random bare metal commands. Kubernetes has become the default choice for anyone who's managing cloud infrastructure, and we're really excited to be able to bring that set of powerful tools to iOS and Mac app developers and the DevOps teams that support them.
How is developing on Mac different?
One of the things that Apple developers struggle with is that they have to build on genuine Apple hardware. So that's why we've designed Orka to work on top of Mac Pros on the base layer. That means that even though we're running KVMs inside of Docker containers and using tools like Kubernetes, which are well-known to work across all kinds of clouds, there's always a Mac at the bottom. This way, you're always guaranteed to be in compliance with Apple's requirements.
With this technology we are making sure that we keep macOS on Apple hardware. We just happen to be putting a lot of technology around orchestration and flexibility in between all of that.
How does Orka work?
Basically, we take a virtual macOS and put it inside of a Docker container and then Docker containers can live in Kubernetes. We then take what we know about Mac infrastructure and create a giant cluster of Mac everywhere and let containerized macOS VMs live in that cluster. So now you're able to scale and control your Mac environment just like anybody else.
The way we assemble Orka is that we start with a bare metal Mac, we put a Linux layer on top of the macOS, and then on top of that goes Kubernetes, then on top of that goes Docker. Inside of the Docker container goes a virtual machine that is macOS, whichever current flavor of the OS you want. And then as the user, you can orchestrate pods of those VMs across the Kubernetes cluster.
Orka has three different ways to interact. It has an API where you can write your own commands to the Orka API. It also has a CLI, which is an interactive help and command line. That's probably the predominant way developers will use Orka; it's very similar to a Docker or Kubernetes command line. And then there's also a UI. The UI at this stage is really an opinionated view of how you would visualize the API commands. Then, as we move forward, we will incorporate reporting and monitoring into that, depending on user preference.
What about performance?
We're very excited about Orka and performance. In our initial testing our goal was to make sure that it performed at least as well as anything else that we offer. What we've found is that we're exceeding all of our expectations and that it is one of the fastest platforms we've ever seen run on MacStadium.
In our testing we've seen that Orka runs at bare metal speeds, which is pretty amazing. We've been able to achieve that by really tuning the way that the KVM is built and the way that that flows through the Docker container down to the base OS. Because we're using open source software all through the stack, we're able to really fine tune that and optimize it for build jobs.
Why doesn’t everyone do this already?
It's very left of center for how you would typically use Docker and Kubernetes. They're very Linux-based, lightweight technologies and we're sticking a full macOS inside of a container, which is kind of completely the opposite of what you normally want to do. There's a lot of sideways thinking around how you make Kubernetes and Docker work with macOS, which is not a normal convention.
A lot of times when we tell people about Orka, they say, "That's exactly what I would've done," or, "I had that idea two years ago." And that's awesome. We think that means that it's a good idea. But it was also really hard to do. We've been working on it for about three or four years now and are finally ready to take it to market.
Learn more about Orka
Orka brings the ease of use and the scalability of an AWS or an Amazon to the iOS ecosystem for Apple developers. It brings speed, agility, and ease of use to the development team so that they can use tools designed for them to really scale up and build a cloud as easy as possible.
Visit www.macstadium.com/orka to learn more about Orka or get started with an Orka cloud.