Building iOS apps requires a Mac. It is the golden rule of Apple's ecosystem. But renting a Mac in the cloud is highway robbery.
When we needed to scale our CI/CD pipeline for the Ronin mobile companion app, we looked at AWS EC2 Mac instances. The pricing was offensive. It is cheaper to lease a luxury car than to run a decent build farm on AWS.
1. The Cloud Premium
AWS charges you for the bare metal host. Because of Apple's EULA, you have to rent the host for a minimum of 24 hours. You can't just spin it up for 10 minutes to run a build and shut it down.
This breaks the entire promise of cloud elasticity. You are paying for idle time. A lot of it.
YEARLY COST (10 NODES)
2. The eBay Strategy
We realized that a used M1 Mac Mini (8GB RAM) on eBay costs about $400. A slightly older Intel Mac Mini costs $200.
We bought 50 of them. We didn't buy racks. We bought IKEA shelving units and 3D-printed vertical stands. We wired them up with a cheap Netgear switch.
Total Setup Cost: ~$18,000 (One time).
Electricity: ~$150/month.
THE SAVINGS
In Year 1, we saved over $80,000. In Year 2, the savings are nearly 100% because the hardware is paid for.
3. Dealing with the "Jank"
Is it pretty? No. It looks like a crypto mine.
Power Management: We set the BIOS (or Apple equivalent) to "Start up automatically after a power failure." We put them on smart plugs so we can hard-reboot them remotely if they freeze.
Networking: We use Tailscale to tunnel into the rack from our CI/CD controller. No open ports. No complex VPNs.
Cooling: We bought a literal box fan from Walmart and pointed it at the shelf. Temperature dropped 10 degrees.
4. Performance Wins
Here is the funny part: Our "janky" rack is faster than AWS.
AWS Mac instances run on older hardware (unless you pay even more for M2 pros). Our eBay M1s shred compile times. Because they are on a local LAN, caching artifacts is instant. We aren't waiting for S3 uploads.
DON'T RENT. OWN.
The cloud is great for bursty traffic. It is terrible for sustained workloads. Buy the hardware.
DEPLOY ON METAL