Announced at re:Invent 2020, AWS new EC2 Mac Instances enable running macOS on Amazon Elastic Cloud Compute to build, test, package, and sign Xcode applications for Apple platforms, including macOS, iOS, iPadOS, tvOS, watchOS, and Safari.
EC2 Mac Instances are powered by physical Mac Minis that developers get exclusive access to while they are using them. As with other instances, EC2 Mac Instances integrate with the EC2 platform through the AWS Nitro System.
You can use these instances to create build farms, render farms, and CI/CD farms that target all of the Apple environments that I mentioned earlier. You can provision new instances in minutes, giving you the ability to quickly & cost-effectively build code for multiple targets without having to own & operate your own hardware.
Each Mac Mini runs macOS 10.14 or macOS 10.15 with 32GB of memory and an 8th generation, 6-core Intel Core i7 (Coffee Lake) processor clocked at 3.2 GHz, with Turbo Boost up to 4.6 GHz. At the moment, no instances powered by the new Apple M1 chip are available, although they will be in the course of 2021, says chief AWS evangelist Jeff Barr.
As you would expect, EC2 Mac Instances can access other AWS services such as Amazon Elastic Block Store (EBS), Amazon Simple Storage Service (S3), and many others. They cannot be easily part of an automatic scaling group, though, since minimum access is set at 24 hours, as per Apple's licensing terms, which would make it scarcely efficient.
EC2 Mac instances in the cloud make it easy to create more builds, run more tests, and further automate your development processes by seamlessly provisioning and accessing macOS compute environments with just a few clicks.
Their base price of $1.083/hour make EC2 Mac Instances quite an expensive option. Indeed, keeping an instance up all the time would total $790/month, enough to buy a few physical Mac Minis in a year. On the other hand, the 24 hour minimum implies you would pay $26 every time you allocate such an instance, even if it is only to build and test an app for a few hours, so careful task planning is required. Still EC2 Mac Instances could be appealing to companies that have invested in AWS and would prefer keeping their way of working intact while extending it to the Apple ecosystem.
AWS is not the first company to offer macOS in the cloud. Previously, developers could rent Mac hardware at Mac Stadium, MacinCloud, MacWeb and others. All of them provide more competitive pricing than AWS, with Mac Stadium and MacWeb already offering M1-based Apple hardware.