Nowadays, mobile apps are playing a major role in our lives. Since the COVID-19 pandemic has started, the importance of high-quality mobile applications has further increased. Banking mobile apps, healthcare, food delivery, online shopping, online meetings, and social media apps are serving millions of customers all over the world to connect and have access to these services.
The pressure to keep the quality of user experience and increase it further during the pandemic has been felt in every company with a mobile application. Mobile app teams across all industries, especially in mobile-first companies from startups to unicorns and enterprises are facing different challenges and bottlenecks every day. These affect the mobile teams’ productivity, performance, typically resulting in longer release cycles and higher costs. In the end all companies find themselves wanting mobile apps to be:Â
- High quality,Â
- Cost-effective,
- Delivered fast to keep up with competition and innovation.Â
But can they have all three at the same time?
At Bitrise, we are enabling developers to work faster and produce higher-quality applications. We realized that one of these bottlenecks is the performance of the build nodes and the resulting build time, especially as the team is growing or the app’s functions are scaling up and complexity increases. Why is this happening?
Using CI/CD and implementing Mobile DevOps practices became essential in successful mobile app development in recent years. However, as the mobile dev teams are adding new features, new UI tests, new modules, or SDKs affect the build performance and build time, it has become increasingly important to allow for running on faster build nodes and shorten build times even further.
To help mobile developers and companies where the Quality-Cost-Speed triangle is crucial for delivering their apps, in the last year we doubled down on number three: Speed. We invested in the second generation of Bitrise Build Infrastructure — referred to as Gen2 — with the objective to speed up builds running on macOS by up to 50%, while maintaining the ease of use, the integrations, and important security features that Bitrise already provides.
What does this mean to me in a mobile app development-related management role?
From engineering managers to CTOs, you encourage your teams to think about new solutions to solve the ‘triangle problem’ and be able to keep the release train running effectively and deploy your apps frequently.
Bitrise Gen2 helps you speed up the cycle and let developers focus on what they do best: writing the code.
Why should I care as a Developer?
You’ll get to see your build results faster, spend less time waiting, and get to do more creative work.
What is Gen2?
Bitrise Gen2 Build Infrastructure is running fully on macOS, with the macOS-based hypervisor, cloud-scale orchestration, and enterprise-level security. It is a large step towards a future-proof Build Infrastructure that can run anywhere on any capable Apple® hardware (restrictions apply) and is available immediately in Bitrise’s integrated CI/CD service.
What has changed?
This speed improvement is achieved by adopting a new hypervisor, a newer generation of Mac hardware, and by rethinking how we orchestrate the virtual build environments (Virtual Machines).
We switched hypervisors and opted for a 100% macOS native architecture. While it is future proof, it also brought additional advantages such as much faster Virtual Machines boot up times, while enabling several strategic initiatives. With the new hypervisor we also got access to newer, faster, more advanced hardware and use that to further speed up builds.
On Gen2’s virtual build environments/stacks (which are VMs) we provide higher vCPU and memory allocation, resulting in additional performance gains. By selecting certain stacks/virtual build environment specs, the whole build node will be dedicated to a single customer, which may result in even better build time consistency.Â
Lastly, we designed and built our own orchestration for the virtual build environments (VMs). It provides us with capabilities to scale this new infrastructure. Orchestrating various resource pools based on the business logic defined in our control plane enables our teams to efficiently and effectively serve the various VM configurations with the numerous stacks we offer, as usage and demand grow over time. This results in shorter wait times to start builds and an overall better stability and reliability for the whole Build Infrastructure.Â
This is a critical transformation of the Bitrise Build Infrastructure running builds on macOS in a highly efficient way enabling our customers to get faster and more stable builds.
We understand how important it is for development teams to have a consistent, secure, reliable CI/CD service. We built Gen2 with this in mind for you.
Dozens of customers were running hundreds of thousands of builds during the past 6 months in our closed beta program and acted as true innovation partners to arrive at this major milestone. We are truly grateful for their contributions during this incredible journey.Â
Gen1 vs. Gen2 — A technical comparisonÂ
Gen2 is available for customers on the Velocity, Dedicated and Private plans, while we are gradually rolling out to the new Teams and Solo plans as well. Let's compare the two of our build infrastructure platforms:
Gen2 on average resulted in 50% faster build times for an aggregate of Customers. For further details please check out our benchmark report.
In the end, helping mobile engineers and companies to scale smoothly and to deliver better apps, faster is our main mission. We’ll keep improving our infrastructure to meet — and exceed — their expectations.Â
Backwards compatibility
Gen2 virtual build environments are backwards compatible with Gen1. Customers who upgrade can select from the Gen2 nodes and shall be able to run the same workflows, faster.
Talk to us!
For updates about other releases, you can follow us on Twitter. If you have any questions, you can reach out to the team via our contact form. Stay safe, keep growing, and happy building!