We at Veertu Inc. have been doing virtualization for a while. Veertu’s technical co-founders were part of the team that built KVM and nested virtualization technology, SDN, and SDS for public cloud at Ravello Systems. So it’s been pretty interesting for us to see the evolution of infrastructure in the Linux and Windows domains over the years, and how it has kept pace with innovations in the application development area. However, when you look at mobile app dev, it’s pretty clear that dev and test infrastructure is still trying to catch up with the innovations in the app dev domain. This is even more obvious for the Apple device ecosystem.
So we started to work on a software solution that is based on our innovative technology which virtualizes OS X (now called macOS) based infrastructure, with the goal that all application development that’s being done on OS X (Native OS X apps, iOS, watchOS, tvOS apps, apps that need to run in Safari) can leverage this infrastructure whenever, wherever, and however they need it.
In our session at Jenkins World 2016, we will describe this and show you how to apply it to high-velocity iOS build and test workloads.
As most of you already know, iOS dev, build, and test is done using xCode and Simulator, which is Apple’s development SDK and runs on macOS. Different iOS projects want different versions of Xcode, different ruby versions, different gems and different dependency managers. When there are teams of 4 or more iOS developers working on these projects, the scale and complexity of build and test environments for code commits significantly increases. In the Linux world, this is addressed by executing build and test workloads on a cloud infrastructure (public or private), where specific environments with all the dependencies are spun up on-demand for every code commit/build.
The build and test infrastructure can scale up/down in line with the speed of application development. The same isn’t true for iOS application development on the Apple platform. There is no server grade infrastructure technology available for the Apple platform, which addresses this challenge completely. In the last 3-4 years, a lot of service providers seem to have come up with offerings for iOS build and test environments on-demand, but after careful investigation and multiple customer conversations, we concluded that none of these providers can meet the demands of customer’s dynamic workloads in real time.
The problem is unsolved and growing with exponential growth of mobile app dev. We are developing a native infrastructure virtualization platform for MacOS, which will sit on top of the Mac operating system and enable the users to take a cluster of Mac hardware (Mac Minis, Pros etc..) and convert it into a private cloud. While there have been attempts to do this in the past with desktop-based virtualization, it doesn’t really meet the needs of CI dev/test workloads. CI dev/test workloads for iOS need server grade features like high performance, with no overhead in virtual instances, small footprint, non-intrusive execution of multiple instances in a single piece of hardware, and faster boot times. Our upcoming technology will address all this and offer a solution which users can use to very quickly build, control, and manage on-demand private cloud for iOS build and test from within their Jenkins CI process and other CI platforms.
Creating Veertu macOS Cloud in Jenkins:
Configure Veertu Cloud or iOS build/test:
We are very excited that we have been invited to showcase and share this with everyone at Jenkins World 2016 in Santa Clara, CA. For more details, visit https://www.cloudbees.com/high-velocity-ios-ci-native-os-x-virtualization-plugin.