New Apple Silicon: When to Migrate to the M1 Mac
Are you ready to move to the M1 Mac? We’ve got a rundown of the new Apple silicon and what migration could look like for your dev team.
As an app developer or DevOps engineer who works with Mac, you undoubtedly have heard about Apple silicon and the new M1 chip. What you may still be considering is when and how you can migrate your team onto this new platform. The software team at MacStadium has been digging into the M1 since its release, and we want to share our learnings (so far) with you. In this webinar, our chief product officer and SVP of software development, Chris Chapman, shares pros and cons, tips and tricks, and dos and don’ts to consider when moving from Intel Macs to the M1.
The M1 Mac
As we’ve discussed before on the blog, the M1 was a big surprise for many of us, giving us a new revolutionary level of performance and amazing new architecture. With the M1, we’ve seen 2x the CPU performance, 2x the GPU performance, and 3x the average performance per watt.
And Big Sur represents a next-generation OS that is optimized specifically for Apple silicon, that has real-time emulation to bridge the gap from Intel to ARM, and is a catalyst for bringing iOS and macOS application interoperability to the OS.
Can I move to the M1 now?
The short answer: it depends.
The good news about exciting new hardware is that it unlocks massive potential. The bad news is that for software developers the race has just started to convert and prepare their apps for Apple silicon. Over the next two years, developers will be transitioning to the 64-bit ARM architecture but will need to continue to use Intel Macs in the meantime for things like virtualization and OS backward compatibility. For a while, it will be a balancing act to get the right tooling since not everything is available right now.
Where things get dicey is in more complex build environments. Xcode and Visual Code work well, but depending on the language or tools you use, things can get iffy. Software that relies on Node or Docker may not be compatible yet, and agents for things like Jenkins that rely on JVM can be problematic. However, the teams building our favorite tools are hard at work optimizing for M1 and new versions are being announced every day. Check out the resource links below for the most up-to-date information. (Less than 24 hours following our webinar, Homebrew announced 3.0.0 with official Apple silicon support!)
The Virtual Elephant in the Room
Big Sur added some much-needed development to the hypervisor framework, and Apple is continuing to add more capability and feature sets. However, virtualization, as we are using it today, is not currently available on M1. Virtualization and virtual applications do not emulate or work through Rosetta. While the open-source community is pushing the boundaries of what is possible for virtualization on M1, the primary Mac virtualization tools – Orka, Anka, and VMware – are still in development for macOS-based virtualization. (Sign up for Orka Product Updates to get M1 announcements.)
Staying ahead of the curve
As Apple continues to shift its hardware to Apple silicon, it’s time to start preparing and testing your build and CI/CD pipelines now. We suggest a strategy that allows you to have both Intel and ARM hosts and run builds on both platforms if possible. Start a go native initiative as soon as possible; you’re going to hit some bumps but getting ahead of them prevents massive conversion efforts later.
We see this M1 transition period as an opportunity to evaluate legacy parts of your tooling and adapt and engineer some of the inefficiencies to new or converted tools. See what works now - although complex apps may introduce breakpoints, often emulation works surprisingly well in the scope that they’re needed. Also support and contribute features, requests, testing, etc. to your preferred tool to help get it adapted to ARM faster. CI/CD tools are in a constant state of improvement - the more people contributing, the better.
Keep the conversation going
Speaking of contributing… we want to hear from you! What’s working? What’s not? Share your learnings and ask questions of the Mac dev community. Join the #m1-mini channel in our MacStadium Community Slack.
Ready to get started?
If you’re ready to move to Apple silicon now, MacStadium has M1 minis available in our US and European data centers. You can get individual machines online at macstadium.com/m1-mini, and volume discounts are available - contact us at firstname.lastname@example.org for more information. Are you a current MacStadium customer? Chat with a sales engineer to add M1s to your existing MacStadium cloud or to create an M1 migration plan.
Below is a list of resources related to M1 migration:
- Is Apple silicon ready? The complete guide for macOS Apps Optimized for M1 Apple Silicon Macs
- Which apps work on M1 Macs? (Macworld)
- Does it ARM? Apps that are reported to support Apple silicon
- Download Zulu Builds of OpenJDK (Azul)
- Building a Universal macOS Binary (Apple doc)
- About the Rosetta Translation Environment (Apple doc)
- Flutter GitHub: Add support for ARM macOS host
- Homebrew 3.0.0 - support for Apple silicon
- Docker Apple M1 Tech Preview
- Parallels Desktop for Mac with Apple M1 chip
- IntelliJ IDEA 2020.3.1 Is Out With Apple Silicon Support
- Node.js GitHub: Apple Silicon plan
- M1 Macs (resources from The Eclectic Light Company)