Introduction to Anka

Release Notes

Check out the latest release notes for Anka Build and Anka Flow.

Introduction

What is Anka Build?

Anka Build solution is used to create, manage and distribute build and test macOS reproducible virtual environments for iOS and macOS development. The core of the Anka toolset is a native macOS hypervisor built on top of FreeBSD bhyve and xhyve and leverages Apple’s macOS Hypervisor.Framework for virtualization. Anka hypervisor includes special PV network and disk drivers that are required for high performance operations inside the Anka VMs. The Anka toolset also includes Cloud management service - Controller and a Registry. Anka Controller is used to configure and manage macOS cloud on a cluster of mac hardware host machines running Anka Build package, for development purposes. Anka Registry is used to version control macOS build and test VMs and distribute them to Anka Build private macOS cloud.

The Anka virtualization application package comes with a command line interface (anka) that allows for easy, straightforward management of guest virtual machines built with Anka. As you’ll learn, anka also provides the ability to interact with a remote Anka registry, and is purpose-built for engineers working in macOS or iOS development workflows. We think of Anka as a simple toolset that allows you to build your own private macOS private cloud and manage the macOS Infrastructure-as-a-code, whatever your purpose may be. Anka interface allows devops to manage macOS build and test infrastructure as a code, very similar to working with containers.

What is Anka Flow?

Anka Flow is used to create and run macOS Vm development environments on developer mac workstations. Anka Flow is extremely lightweight application package that gets installed as a mac application on all Macbook models and iMac. It enables iOS and macOS developers to pull macOS VMs from a central registry and run them locally. Developers can attach iOS and other devices as USB devices to macOS VMs for testing purposes.

What makes Anka Build and Flow different?

Unlike many existing macOS virtualization solutions, Anka lets the macOS operationg system manage virtual machines in the same manner as other native macOS applications. Anka virtualization uses macOS native Hypervisor features. As a result, it can run on any mac heardware, including the ones with T2 security chip.

Combined with the powerful anka CLI, Anka makes creating and running macOS VMs extremely automated, fast and reliable. Using anka, Controller & Registry you can execute simple workflows to quickly build macOS virtual machines and deploy them to your developers, or CI with ease.

anka allows for other advantages as well, such as INSTANT START, to make multiple virtual machines extremely fast and responsive to your needs. Anka Registry lets you tag and version control your VMs, and is built specifically with DevOps workflows in mind. Lastly, Anka is the ONLY virtualization solution geared specifically towards making macOS and iOS CI workflows easy to manage. anka allows you to use real iOS devices for testing workflows while connected to your Apple hardware. Anka provides commands to easily manage the devices, check them out, or move them between test environments.

What does Anka Build and Flow do?

At a high level, Anka virtualizes macOS to create, run macOS Vms and enables you to use simple and automated DevOps workflows when working with macOS virtual machines and physical iOS devices. Anka boasts the following features:

General

  • Easy installation
  • Native hypervisor - use macOS resource scheduling and power management for guest VMs
  • Para virtual drivers increase network and disk performance inside Anka macOS VMs
  • anka CLI - automate management workflows or call them directly

Continuous Delivery and Integration

  • Automate the deployment of new virtual machines
  • Integrate with your CI system using Controller REST APIs for VM management
  • Manage macOS infrastructure-as-a-code
  • INSTANT START - Eliminates the long boot time issue with macOS VMs, making running multiple VMs extremely fast and responsive
  • Use Registry to version and tag virtual machines for distribution
  • Easily connect and remove physical iOS devices to your VMs with anka usb command

What’s included in Anka Build?

Anka Build solution includes anka.pkg, Controller/Registry and plugins to integrate with existing commonly used CI systems like Jenkins, Teamcity, GitLab CI, BuildKite etc.

What’s included in Anka Flow?

Anka Flow solution includes anka.pkg to run on developer mac workstations.

Who should use Anka Build and Flow?

Anka is for anyone using bare metal Apple hardware for CI purposes (macOS/iOS development).

Anka is for anyone that prefers to test in an isolated macOS virtual machine.

Anka is for anyone looking to build or host their own macOS private cloud.

Anka is for anyone wanting to maximize developer productivity by enabling local build and test workflows.

macOS Version Support for Anka Build and Anka Flow

Anka can be installed on mac machines running Hi Sierra(10.13.x) or Higher.

At this time, only the following macOS versions can be created to run as macOS Anka VMs.

  • 10.15.x (macOS Catalina Beta) (Host shared file system is not yet available. It’s coming soon.)
  • 10.14.x (macOS Mojave)
  • 10.13.x (macOS Hi Sierra)
  • 10.12.x (macOS Sierra)
  • 10.11.x (macOS El Capitan)
  • 10.10.x (macOS Yosemite)