Trends in iOS DevOps

A survey of iOS developers from the
2018 Apple Worldwide Developers Conference (WWDC) & AltConf

introduction

At MacStadium, we pay close attention to how developers and DevOps engineers work together to create build infrastructure for iOS and macOS app development. We’ve noticed that while almost every company struggles with this, there still isn’t much information out there about best practices or typical ways organizations address it. We decided an interesting follow-up to our recent MacStadium customer survey would be to ask questions of the iOS developers attending this year’s Apple Worldwide Developers Conference (WWDC) and its neighboring conference, AltConf, about how they create build infrastructure for iOS and macOS app development.

WWDC is the largest global gathering of iOS and macOS developers there is, and it offers an unparalleled opportunity for interaction with a diverse community of developers and DevOps engineers. AltConf is a free, community-driven and supported event held concurrently alongside Apple’s WWDC in downtown San Jose, CA. Together, these events offer a great mix of big names, large enterprises, hot startups, and smaller development teams, each with the opportunity to interact with and learn from the others.

We travelled to San Jose both to promote our solutions and to gather the insights these audiences can provide. We had great conversations with hundreds of developers and DevOps engineers and convinced many of them to participate in our survey geared towards developing better information about how organizations create build infrastructure for iOS and macOS app development. With over 140 respondents, we got some great data on how development teams of all sizes are building and releasing their iOS apps. Read on to see how your team compares!

WWDC 2018

About the companies

We heard from a diverse group of developers at companies ranging in size from large corporations to small start-ups across several different industries.

Company and Dev Team SizeCompany and Dev Team Size

We hope that you can find information in this survey that’s relevant to your company, but if you’re left with unanswered questions, please reach out to us at hello@macstadium.com. We’d be happy to make some custom cuts to satisfy your curiosity!

results

Continuous integration for iOS & macOS

Because of the complexity of running iOS and macOS builds, we wanted to find out more about how our respondents manage their continuous integration (CI) efforts.

For those that don’t have to deal with this every day, it’s worth describing how CI is more complex for iOS and macOS developers. For one, iOS and macOS software has to be compiled using Xcode, which only runs on macOS, which in turn only runs on genuine Apple Mac hardware. That means DevOps teams are forced to find creative ways to get access to Mac infrastructure in order to set up and run their CI workflows.

Our customers turn to us for scalable Apple Mac infrastructure-as-a-service (IaaS) in the form of hosted macs or private clouds. Everyone else is stuck trying to rig Macs to fit into their own data centers, piling up minis under a desk, or using CI-as-a-service tools that completely offload that complexity all together.

As expected, participants in our survey use a mix of CI approaches. Some utilize CI-as-a-Service providers like Travis CI or Circle CI, who manage a large cluster of Macs to run builds for their customers, while others manage their CI workflow using Jenkins, Bamboo, etc. on dedicated Macs that are either self-managed on-site or hosted at MacStadium. Still others use a mix of the two based on the specific project or development team. While over a third of respondents incorporate some kind of CI-aaS into their workflow, the majority of companies are still using dedicated Macs or private Mac clouds to run their builds.
 

What did we learn?

We were curious to see how iOS developers and DevOps engineers are building their apps, so we focused on stats like:
   • Average number of iOS developers
   • Average number of DevOps engineers
   • Average build time (in minutes)
   • Average number of builds per day
   • Average number of releases per month

Overall, most results were what we expected. Larger teams tend to have longer builds and more releases per month. There were a few surprises, though. We were encouraged to see that on average companies are running 2-5 builds per developer per day and putting out 2-4 releases a month, indicating a huge commitment to DevOps best practices regardless of team size. We were also excited to see an average of about one DevOps engineer for every two iOS developers. It’s great to see organizations investing in this critical function.

Results Table

Across industries

We also looked for patterns across industries. We found that software and internet companies are running an average of 6.4 builds per developer per day. They also have almost a 1:1 ratio of DevOps engineers to iOS developers. We think this shows a higher level of average DevOps sophistication in the software/internet industry, which makes sense because those industries are typically known for innovation and early adoption of new processes. We also noticed smaller average team sizes as this category tends to include more startups.

Other industries that run more than one build per developer per day include entertainment (which includes game development studios) and technology companies whose main focus is hardware or telecom. On average these industries tend to be larger and employ more developers. Within these larger development teams, entertainment and technology companies get more leverage from smaller DevOps teams with an average iOS developer to DevOps ratio of 1:5 and 1:20, respectively. Other industries tend to run fewer builds and schedule releases less often.

Industry Table

Global differences

In addition to North America, we had good survey participation from companies in Europe, Asia and Latin America. With technology hubs Silicon Valley and Seattle both located in the US West Coast (CA, WA, OR), we decided to compare companies from that region with other regions around the world. It’s no surprise that the US West Coast is still leading in terms of team sizes, builds per day, and releases per month.

What was surprising was the lag in the number of DevOps engineers in Asia and Australia, with only 1.5 per every 26 iOS developers. Their average build times were also the longest, which is likely not a coincidence. But, it’s exciting to see Latin America embrace DevOps with the most DevOps engineers per region. Unsurprisingly, their build times were also the fastest. Looks like the rest of the world has some catching up to do.

Global Region Table

What about tools?

What was surprising was the lag in the number of DevOps engineers in Asia and Australia, with only 1.5 per every 26 iOS developers. Their average build times were also the longest, which is likely not a coincidence. But, it’s exciting to see Latin America embrace DevOps with the most DevOps engineers per region. Unsurprisingly, their build times were also the fastest. Looks like the rest of the world has some catching up to do.

CI Tools

Self-managed or hosted CI?

Looking a bit deeper, we found that after a development team grows past about 10 iOS developers, most companies opt for running self-managed CI tools on dedicated Macs – either on-premise or in the cloud – and move away from a hosted CI solution.

As teams grow, a dedicated solution can help improve build times, security, and control allowing teams to create a CI pipeline that fits their exact development style and DevOps needs. We’ve found that it can also be less expensive to move onto dedicated, rather than shared, infrastructure once the number of daily builds passes a certain threshold.

CI Comparison

In-house Macs

Of companies using dedicated Macs, we asked how many Macs they maintain. On average we found that companies manage about 16 machines. Surprisingly, those that primarily use CI-aaS also reported having one or two Macs in-house for QA and app submission.

While averages top out around 35 Macs, a few companies in our survey reported having over 300 dedicated Macs, and some MacStadium customers have over 1,000!

In-house Macs

Challenges facing iOS dev teams

We also asked respondents what they consider to be their biggest DevOps challenge. We got a variety of answers, but they tended to fall into a few main categories. Testing and test automation seem to be the biggest pain point for teams today. Closely following that are build times and CI issues. Xcode and new Apple frameworks like ARKit, CoreML and Metal were also mentioned frequently.

Challenges Graph

thank you

We’d like to offer a big thank you to everyone who participated in our survey at WWDC and AltConf. We appreciate hearing about how your teams are using Mac infrastructure for iOS DevOps, and hope that you as a reader found the results interesting as well. If anything sparked your curiosity, please reach out to us at hello@macstadium.com or visit our website to learn more about our hosted Mac infrastructure.