Orka 3.0 includes several exciting updates, including new and improved images and image management. We'll explore all the updates and the benefits they provide.
Past ARM Image Challenges
Significant improvements have been made in Orka 3.0 to make using Advanced RISC Machine (ARM) images easier than ever before. Some of the prior challenges include:
1. Initial VM deployments were slow. While Orka has always provided a great user experience, due to the nature of ARM VMs, images need to be first cached on the host before the VMs can run. And an initial VM deployment of a 90GB image took roughly 5 minutes.
2. Host Disk Space filled up quickly. Mac hosts come with 1TB of storage, meaning most machines could only store 4-5 cached images at a time.
3. NFS Disk Space limitations. Teams with a large number of images had to add NFS storage space, as only 9-10 images could fit on a standard 1TB NFS storage device.
4. Difficulties sharing and transferring images between clusters. Images were available only in the cluster they were created in.
Enter 3.0
Orka 3.0 introduces a completely different, thin-provisioned image format for ARM images.
These images are now OCI-compliant, meaning the image format now follows a set of standards defined by the Open Container Initiative (OCI), providing three main benefits:
- Ease of use
- Efficient storage allocation for faster transfer times, and resumable uploads/downloads
- Portability
Ease Of Use
Prior to Orka 3.0, users were given an empty cluster without images, requiring users to complete a three-step process when deploying a VM :
- Download an image from a remote registry provided by MacStadium, which typically required at least 5 minutes for a 90GB image.
- Create a VM configuration using that image.
- Deploy a VM from the newly created configuration, which could also take up to 5 minutes.
Now with Orka 3.0, users simply run a single command to deploy a VM in a newly created cluster:
And it only takes about 90 seconds to deploy a VM on a host where the image is not already cached.
Let’s talk about why the deployment is so much faster and what ghcr.io/macstadium/orka-images/sonoma:latest means.
Efficient Storage Allocation & Improved Transfer Times
In two words, it’s all about ‘thin provisioning’.
The reason deployments are much faster with OCI images is the thin-provisioned approach Orka uses. A thin-provisioned 90GB macOS image only requires 15GB of information to be transferred and cached to the host.
You may be wondering – How can 90GB images only take up 15GB of space?
macOS VMs are now thin provisioned by default, meaning only the OS is installed which requires roughly 15GB of storage so that even 500GB images require only 15GB of space.
Not only that, but the image takes 15GB on both the host disk and the NFS storage, which is 6 times less space than the typical 90GB image. Now users can cache more images on the host and NFS storage.
It is important to note that the actual disk space an image requires depends on the size of the tooling installed on the image. The more tooling installed on the image, the more space it requires. For example, if Xcode is installed, you can expect the disk space taken by the image to increase.
Image Portability
If we look again at this command:
Notice that ghcr.io/macstadium/orka-images/sonoma:latest is pulling an image provided by MacStadium through a public registry because Orka images are now OCI compliant and can be pushed and pulled from any OCI image registry. In this example, it is GitHub Packages and this is a public image MacStadium provides, but you can pull macOS images from any OCI-compliant registry and build your custom registry.
The support of OCI Image registries also means that ARM images can now be easily shared between clusters. Users can push an image to a registry from one cluster and use that image to deploy a VM in another cluster. Additionally, users can save the image to the NFS storage. Here’s what this looks like:
Orka 3.0 also supports private OCI registries. In order to push or pull images from a private registry, you need to specify your registry credentials by using the orka3 regcred command of the CLI:
This command adds credentials for the ghcr.io registry in the orka-default namespace and allows the deployment of VMs from this namespace registry. You can add the credentials in another namespace too by passing the namespace flag in the command:
Converting Old Images to the New Format
All new ARM images are created using the new format. Orka 3.0 can convert old images to this format. Here's how easy it is to do:
- Deploy a VM from an image that uses the old format
- Save or commit the image
Once the operation is completed, the image is saved in the new format. It’s that simple!
TL;DR
The new image format and management introduced in Orka 3.0 offers users significant improvements including:
- Simplistic sharing of images between clusters
- Faster deployments, even uncached!
- Increased caching of ARM images per host
Want to see what else is new in Orka 3.0? Check out our Orka 3.0 overview!
Share this article
Orka, Orka Workspace and Orka Pulse are trademarks of MacStadium, Inc. Apple, Mac, Mac mini, Mac Pro, Mac Studio, and macOS are trademarks of Apple Inc. The names and logos of third-party products and companies shown on the website are the property of their respective owners and may also be trademarked.
©2024 MacStadium, Inc. is a U.S. corporation headquartered at 3340 Peachtree Rd NE, Suite 2330, Atlanta, GA 30326. MacStadium, Ltd. is registered in Ireland, company no. 562354.