The Case For XCode Cloud
At Google, I had 4 servers under my desk to run nested-virtualization CI/CD for minikube (a Mac mini, a Linux server, a Windows server, and my Linux workstation). It was a painful experience.
Yesterday, Xcode Cloud was announced at Apple's developer conference. It allows developers to automatically build, test, and deploy their iOS applications in the cloud. Applications that pass tests can automatically be promoted to TestFlight.
CI/CD on its own is a terrible business. You're usually selling compute. Free tiers are easily exploited by crypto mining. It's often (unfairly) seen by stakeholders as the cause of problems. Developers spend valuable time debugging differences between their machines, test machines, and production machines.
Where CI/CD gets interesting is integrating the ends of the pipeline, the pre-commit and post-commit workflows. It's an opportunity to expand into higher-margin services as the developer is writing the code (pre-commit) and after the developer is ready to launch (post-commit).
Apple has a firm hold on both ends of the pipeline, but not the pipeline itself. You have to develop your application on Apple hardware and ultimately deploy it on Apple hardware, but anything in between is fair game. I think that Apple saw that its platform was vulnerable from the middle, and this is a step in reclaiming that portion. (Fastlane, a team acquired by Google, is the biggest player here).
This is Apple's game to lose. They can offer an M1 cloud at the lowest cost and integrate deeply with iOS and macOS APIs. The problem is real and Apple has a direct relationship with potential customers. If they pull it off, Xcode Cloud will be big.