2018 iOS/macOS DevOps Survey
How organizations are using continuous integration for iOS and macOS applications
about the survey
What is MacStadium?
MacStadium is the leading provider of enterprise-class Mac infrastructure-as-a-service (IaaS). We work with large enterprises and small startups to provide Mac Infrastructure in the cloud. MacStadium helps companies run scalable, flexible, high-performing, secure and easy-to-manage Mac infrastructure for a number of use cases.
Why did you do a CI survey?
One of the major use cases for MacStadium is build servers for continuous integration (CI) for iOS and macOS applications. We’ve learned a lot from our customers about how to build a CI system on our infrastructure.
Our goal for this survey was to learn a little more and share what we learned with the community. We believe that having an understanding of where you are in relation to other teams can help you build better DevOps enablement for your teams and ultimately help you write better code and ship better products. Want to share your story? Participate in the survey! Or stay in touch — we will continue to publish updates as we get more feedback.
Why is iOS/macOS CI different?
Apple requires that all iOS or macOS apps be compiled on “genuine Mac hardware.” That means that companies must find a way to include Mac hardware (e.g., Mac minis or Mac Pros) into their mixed cloud infrastructure. However, big cloud providers (AWS, Azure, etc.) don’t offer Mac infrastructure, so companies are left with two options: do it themselves or call MacStadium.
Some companies stick Mac minis under someone’s desk or build a custom Mac data center. However, a DIY solution isn’t scalable, flexible, high-performing or easy-to-manage… in fact, it’s none of those. Other companies work with MacStadium to add dedicated Mac mini or Mac Pro servers to their environment or go a step further to set up private clouds that allow them to create macOS VMs as build and test machines for the ultimate in scalability and performance.
Learn more about what MacStadium offers at macstadium.com… now on to the survey!
about the companies
We surveyed over 40 MacStadium customers running CI use cases to learn more about their organizations, processes and teams. These include some big, well-known brands as well as new startups that you may not have heard of.
iOS/macOS Development Teams
Three quarters of the companies responding to our survey have small teams with only ten or fewer iOS/macOS developers, many having less than five. While it does correlate with the company sizes (nearly half of the respondents work in organizations with 50 employees or fewer), large companies can have small iOS development teams as well.
Our survey respondents are about evenly split between B2B and B2C/gaming iOS use cases. Less than a quarter are developing primarily for macOS.
While nearly half of the respondents said their average app build time takes 5 to 10 minutes, reported build times ranged from a few seconds to over an hour. This has a lot to do with the OS target, the complexity of the app, and the language it’s written in. For example, macOS apps are often more complex with more lines of code than iOS apps, resulting in longer build times. Also note that these times typically do not include testing associated with the integration process.
The majority of surveyed MacStadium customers run 5-10 build jobs per day. However, some larger companies reported running over 1,000 builds per day! One such respondent runs builds on every commit and supports a large team of developers.
Static vs. Ephemeral
In DevOps, static build machines are semipermanent and stay up for long periods of time, while ephemeral environments (also known as “dynamic,” “short-lived,” “temporary” or “on-demand” environments) have very short lifetimes and are spun up, used for a while, and then torn down in an automated fashion. For example, a VM is dynamically created on demand for a CI/CD build, then destroyed once the build is complete. Some of our customers do this using VMware and linked clones on a private cloud with Mac Pro hardware.
While many organizations are planning to move to ephemeral builds “someday,” the vast majority of survey respondents are running static build machines today.
There are a lot of great continuous integration tools available in the market today, but based on our survey data, Jenkins is still leading the pack. This may be due to its free and open-source status.
Other DevOps Tools
When asked what other DevOps tools are being used at their organization, respondents said…
Simulated iOS Devices for QA/Testing
We were curious how many of our customers are using MacStadium to simulate/emulate iOS devices for their QA or integration testing. Over a third are currently using Mac hosted servers for automated or manual testing, with another 26% planning to add it to their workflow.
Real Device Testing
While nearly two-thirds of surveyed companies are not currently using a device lab as part of QA, some are planning to adopt a solution in the next year. The remaining organizations are either using cloud solutions like Amazon or Xamarin or on-premise solutions such as Experitest or MobileLabs.
Looking at the survey results, we noticed a few interesting takeaways.
As you’d expect, the average number of build jobs per day is directly related to the number of developers on the team.
iOS/macOS dev teams also do things differently depending on the number of developers. There seems to be a jump as teams grow past about 50 developers. As these teams start to adopt CI practices, they grow to 7-8 daily builds per developer vs. 4-5 for smaller teams.
MacStadium is committed to continuing to help developers and DevOps teams understand the world of iOS and macOS DevOps and will keep publishing content like this survey.
We want to hear from you! Get involved by…
Signing up to be included in future surveys. We depend on the participation of the community to help bring you these insights!
Participating in our discussion forum to ask specific questions about this survey, iOS/macOS DevOps, or our service.
Reaching out to our team. We’re eager to hear your feedback, comments, and ideas.
Did you get valuable insights from this report? Learn something new? Don’t keep it to yourself! Share with your social media network…