Comparing Anka and Orka


In this blog, we will do our best at comparing Anka and Orka, expediting your team’s decision-making process.

This blog’s information is likely to change over time as both Anka and Orka evolve. Versions and other details will become out of date. It’s best to reach out to [email protected] for the latest information.


As your iOS applications grow, so does the need for automation, feedback, and testing. Teams will consider setting up a central CI/CD platform to handle automated Pull Request checks, tests, and allow for self-service consistency and confidence to build or test their applications.

Regardless of the CI/CD platform, you’ll need to obtain hardware to run your macOS builds and tests. I should mention that GitHub Actions and a few platforms provide limited but free macOS hardware. This hardware has either seriously constrained capacity, out of date OS versions/software, or is limited in what you can install. When obtaining Apple hardware, you’ll notice a high cost — especially for larger organizations that need to run lots of simultaneous CI/CD jobs. Both Anka and Orka solve this problem in different ways.

The Anka Virtualization package aims to provide the software necessary to run and manage macOS VMs for your iOS, or general sandboxed macOS application builds and tests. This software can run on any Apple hardware, allowing you the flexibility to run in-house or with any of the many hosted hardware providers. The Anka Build Cloud package includes a web UI for queueing, non-CLI management, and APIs.

Orka aims to provide a one-stop solution to managing and running macOS VMs. They’ve wrapped docker around macOS that’s then installed on top of KVM so they can run inside of Kubernetes, all on a modified and unsupported Linux OS running on Apple Hardware. You’re limited to running on their hardware in their datacenters and have limited access to Kubernetes itself.

WHAT YOU CAN EXPECT FROM BOTH

  • A CLI to manage VMs from the command-line.
  • An easy to use management web UI.
  • APIs for automation and scripting.
  • Create VM images with specific dependencies inside, then run on-demand, persistent, or transient VMs from those images.
  • Popular CI/CD platform support that automates VM creation.
  • 24/7 Customer Support

THE HYPERVISOR AND PERFORMANCE

How do the solutions achieve virtualization?

  • ANKA: The core of Anka leverages Apple’s macOS hypervisor.framework for its virtualization. It also uses macOS resource scheduling, power management, and para-virtual drivers for significantly increased performance.
  • ORKA: “Orka utilizes a combination of CoreOS, KVM, Docker, and Kubernetes to allow for virtualization of macOS…”

What sort of performance should I expect?

  • ANKA: Uses macOS resource scheduling, power management, and para-virtual drivers for optimal performance.
  • ORKA: Several of our customers have done a proof-of-concept with Anka and Orka and indicate that Anka Virtualization speed is superior to Orka. Performance differences are likely due to the complexity of Orka virtualization stack.

HARDWARE, INFRASTRUCTURE, AND ARCHITECTURE FLEXIBILITY

What sort of hardware do I need?

  • ANKA: VMs run on any Apple hardware. 
  • ORKA: Limited to MacStadium provided hosted hardware and also limited to older generation 12-core Mac Pro and 6-core 2018 mac minis with predefined system configurations.

Can I access and control the operating system? (improve security, install custom metrics/monitoring, etc.)

  • ANKA: You have full access to and control over the hardware and OS.
  • ORKA: No access or control over underlying host hardware and OS. Orka installs an unsupported operating system (Linux based) onto their mac hardware.

Many of our customers have already purchased Mac Minis, so Anka is much cheaper for them. Again, Orka is limited to MacStadium hardware and cannot run on existing company hardware. 

MACOS VM IMAGES AND STATE

How are VM images created?

  • ANKA: Base images (a.k.a Templates) are created from a macOS version using apple’s official .app installer package and Anka’s CLI or GUI. Anka will automate the installation for you.
  • ORKA: Base images are generated by attaching an ISO to an empty VM and then manually (over VNC) installing the OS, step by step. Installation of the OS into the VM is not an automated process.

How do I take a snapshot of my VM’s state?

  • ANKA: After changing and installing what you need into a running VM, you’ll either suspend or stop the VM. When suspending, you can quickly start the VM again, returning it to the same state. You can then store the suspended VM in the Anka Build Cloud Registry.
  • ORKA: After changing and installing what you need into a running VM, you can commit to the original image, overwriting the previous image. However, this commit will stop the VM, requiring a long boot time before CI/CD jobs can run inside. There is no VM suspension feature available.

Can the creation of the VM images and snapshots be scripted?

VM IMAGE STORAGE

Is there a registry similar to Docker Hub that I can store my VM images?

  • ANKA: The Anka Build Cloud Registry allows for the storage (push) and distribution (pull) of macOS VM images. You can manage Registry VM images with the Anka CLI, API, or Anka Build Cloud Controller Web UI.
  • ORKA: “Orka base images are stored as .img files in the NFS storage of your cluster. Default Orka environments come configured with 1 terabyte of NFS storage per cluster. This storage resembles a directory where you can copy existing images, version them, or upload as many base images as you need. It is not a local Docker registry.” There is also a CLI, API, and Web UI for managing these.

What if I only want the Registry and CLI for local development?

  • ANKA: The Anka Build Cloud Registry comes together with the Controller or as a standalone package for either Linux (Docker) or native macOS. You can use it to store and share all of your VM images with your team, all without expensive hardware or licenses.
  • ORKA: Has no standalone registry and requires you to pay for the entire product.

Where do I obtain a macOS installer to create my base image?

  • ANKA: macOS installers .app files are obtained directly from Apple using the official Software Update UI and CLI, or third-party tools. We provide a list of these in our documentation.
  • ORKA: You can upload a macOS installer ISO or use the public to all Orka customer ISO registry.

REAL / USB DEVICES INSIDE OF VMS

Can I attach my iPhone to a VM for testing?

  • ANKA: Yes, anyone can attach USB devices to VMs.
  • ORKA: MacStadium may allow you to send them physical devices so they can connect them to their datacenter. However, Orka does not seem to support passing through the USB devices into the Orka VM (no information on their site or documentation).

DEVELOPER ACCESS

How can my developers work with the macOS VMs?

  • ANKA: Developers can install Anka Flow on their MacBooks, pull the VM images from a central registry, and then work from a VM locally.
  • ORKA: VMs are not able to run on non-MacStadium hardware.

MACOS VERSION & HARDWARE SUPPORT

Am I able to use Apple Silicon hardware when it’s released?

  • ANKA: Apple hardware releases are supported as long as they include the hypervisor.framework. Apple’s documentation on Apple Silicon hardware indicates that it will support the hypervisor.framework.
  • ORKA: Apple has communicated in its public announcement that Apple Silicon will only support macOS booting on top of bare metal and that Linux will be only supported as a virtual machine. Since Orka uses Linux installed on the bare metal, Orka will not be able to support Apple Silicon.

What versions of macOS do you support?

  • ANKA: Day 1 support for all Apple non-beta macOS releases. Support for macOS versions requires testing and validation (development work).
  • ORKA: We were unable to find mention of any support for macOS Big Sur Beta.

MANAGEMENT WEB UI / MONITORING

Is there an easy to use web user interface available to manage my images, VMs, etc?

  • ANKA: Yes, the Anka Build Cloud Controller allows you to see and manage images, VMs, “Nodes” (host machines running VMs), Node groups, Logs, and more. It has packages for both macOS and Linux. You can even deploy it into your Kubernetes.
  • ORKA: Orka’s web UI allows you to manage images, VMs, VM Configs, Nodes, and ISOs, but that’s currently it.

Can I view CPU and Ram usage across nodes or collect metrics to send to my Prometheus?

  • ANKA: Yes, the Anka Build Cloud Controller allows you to see CPU and RAM usage across nodes or for the entire fleet on the UI as well as push metrics to Prometheus using our anka-prometheus binary.
  • ORKA: The Orka web UI does not show usage graphs. As far as we can see, there is also no way to push usage metrics to Prometheus.

If I want to push usage logs to Splunk, is that possible?

  • ANKA: The Anka Build Cloud Controller can log events to a file on disk or push JSON to a specific endpoint.
  • ORKA: Orka collects logs for all CLI and API operations. Logs can be obtained with a curl command in JSON format.

METAL / GPU SUPPORT

Can I use my host machine GPU inside of the VM?

  • ANKA: BigSur macOS exposes APIs for Metal (Apple official interface for host GPU) and Anka virtualization will be able to use this to expose GPU through the Metal APIs inside Anka VMs. Development is currently underway. In the meantime, you can pass your emulator’s tasks to the host.
  • ORKA: Does not have access to Apple’s Metal APIs as the macOS operating system has been removed from the host machine and replaced with a Linux distribution. No GPU passthrough either.

CI/CD PLUGINS & INTEGRATIONS

Can I use a custom in-house CI/CD platform with your product?

  • ANKA: Yes, we expose an API for everything you’d need to do in your custom platform.
  • ORKA: Yes, APIs are available.

Do you support Jenkins?

  • ANKA: Yes, you can run ephemeral or persistent VMs.
  • ORKA: Yes, you can run ephemeral or persistent VMs.

Do you support Buildkite?

  • ANKA: Yes, you can run ephemeral or persistent VMs.
  • ORKA: Yes, you can run ephemeral or persistent VMs.

Do you support TeamCity?

  • ANKA: Yes, you can run ephemeral or persistent VMs.
  • ORKA: Yes, you can run ephemeral or persistent VMs.

Do you support GitLab?

  • ANKA: Yes, you can run ephemeral (full gitlab-runner clone with executor inside) or persistent VMs.
  • ORKA: Yes, you can run ephemeral (custom executor) or persistent VMs.

Do you support GitHub Actions?

  • ANKA: Yes, you can run ephemeral or persistent VMs.
  • ORKA: Yes, you can run persistent VMs. Ephemeral VMs are not supported.

LOGIN / SECURITY

Can I create users?

  • ANKA: Infrastructure teams control access to Anka hardware and the CLI. However, a root token can be enabled to protect the Anka Build Controller management UI. Or, you can enable SSO authentication.
  • ORKA: “Orka requires you to create a dedicated Orka user for your cluster. This operation also creates a dedicated namespace in the cluster. You are the owner of this namespace. When you create a VM config and/or deploy a VM instance from it, they become associated with your namespace.”

Can I use HTTPS/TLS for communication between the different components?

  • ANKA: A simple configuration change enables HTTPS/TLS with signed or self-signed certificates.
  • ORKA: A custom domain must be requested for HTTPS/TLS to be enabled.

How do I limit access using my company’s certificates?

  • ANKA: Supports certificate-based authentication for communication to the Anka Build Cloud Controller & Registry API and from Anka Nodes.
  • ORKA: No

Can I use my company’s identity management tool to limit or provide access to resources?

  • ANKA: Supports SSO/OpenID for login to the Anka Build Cloud Controller UI.
  • ORKA: No

LICENSING / PRICING

  • ANKA: Anka software is licensed on an annual subscription model based on the number of total mac hosts and physical cores across them. Monthly recurring pricing for managed and hosted Anka Cloud is available through partner hosting companies.
  • ORKA: Monthly recurring pricing for the services.


We hope you now have a better grasp of both products. Orka and Anka differ in several ways, but your organization’s needs might make it a quick and easy decision. We find that performance, security, and flexibility are the most critical factors for customers that choose Anka.

Share this post

networking-performancev1
Unlocking Superior macOS VM Network Performance: Introducing Anka's new networking mode for Apple Silicon
Large and complex enterprises using Anka have many different demands, and we have worked to continue to develop innovative technology to meet these demands. Enterprise infrastructure hardware is often on the cutting edge, and they need advanced capabilities...
Read More
gitlab-with-anka
Anka Cloud Gitlab Executor
Veertu’s Anka and the new Anka Cloud Gitlab Executor Veertu’s Anka is a suite of software tools built on the macOS virtualization platform. It enables the execution of single or multi-use macOS virtual machines (VMs) in a manner similar to Docker....
Read More
mac-scan-v1
Real-Time CVE Scanning of your macOS Build Systems
It’s common that an organization’s macOS build system will download thousands, sometimes tens of thousands of third-party dependencies every hour. When building and testing iOS applications, it typically downloads and installs third-party...
Read More
anka-on-silicon-v1
The ONLY Fully Automated Apple Silicon macOS VM Creation Solution
Starting in Anka 3.1 we announced that Anka is now able to fully automate the macOS installation processes, disabling SIP, and enabling VNC — all previously manual steps users had to perform inside o the VM. At the time of writing this article,...
Read More
anka_click
Scripting macOS UI User Actions With Anka Click
Starting in Anka 3.2, we’ve introduced a solution for scripting macOS UI user actions. You may ask, “Why would I want to do that?”. Well, often macOS configuration and applications do not have a CLI allowing you to perform certain actions...
Read More
mac-scan-fullscan-shells-v3
Real-time, continuous scan of file downloads on macOS for security vulnerabilities
Today, we are announcing the Beta availability of the Mac Scan solution. Mac Scan software runs on macOS systems (bare metal, virtual, EC2 Mac) and scans downloads in real time for security vulnerabilities. There are multiple scenarios why you would...
Read More
Screen Shot 2022-10-17 at 10.13
Anka 3.1- Fully automated VM macOS installation & The Behavior-Driven macOS UI Automation Framework
We are very happy to announce the General Availability of Anka 3.1 for Apple Silicon / ARM macs. In this release, we are taking our approach to iOS CI automation one step further by introducing a Behavior-Driven macOS UI Automation Framework in Anka,...
Read More
ankam1v2
Migrating from Anka on Intel to Anka on M1 Mac for iOS CI
In this blog, we will cover the key topics for migrating from Anka on Intel to Anka on M1/M2 Macs. Anka is an IaaC solution from Veertu to set up an agile Container like CI for iOS CI using macOS VMs. Anka for Intel uses Apple’s Hypervisor.Framework virtualization...
Read More
ami-scanner-featured-v2
World's first Security Vulnerability scanner for EC2 Mac AMIs
We are excited to announce the General Availability of the world’s first security vulnerability scanner for EC2 Mac AMIs. EC2 Mac AMI Scan scans Intel and Apple Silicon macOS EC2 AMIs, detects security vulnerabilities in third-party packages, dependencies,...
Read More
esxi-to-anka
It's time to migrate your iOS CI from ESXi Virtual Mac Infrastructure to native macOS Virtualization
When VMWare ESXi started officially supporting Apple macOS Virtualization on Mac hardware in late 2012, it opened the doors for the possibility of iOS development to move to a Linux-like, agile, scalable CI infrastructure. Soon enough, many iOS enterprise...
Read More