Hacker News new | past | comments | ask | show | jobs | submit login
Amazon EC2 M1 Mac Instances (amazon.com)
340 points by ManishR on Dec 2, 2021 | hide | past | favorite | 258 comments

It’s an interesting look at AWS pricing since the cost of the M1 Mac Mini ($699) and it’s power consumption (avg 26 watts) are known. Based on hardware costs (significant) and power costs (insignificant) you’re looking at a hardware ROI at about 6 months from the $.65 per hour price. AWS has an estimated 60% gross profit margin, so from there it’s probably possible to estimate some other interesting things about their costs, utilization rate and depreciation schedule.

Edit: Sorry, my napkin math assumed a unstated utilization rate of 40 hours per week, but that’s not a great assumption due to the 24 hour minimum. Still, some proportion of machines will be idle, though 75% idle seems like a bad guess.

This is really not looking at the math in the right way for those that are the target market. If you just want an M1 instance just because sure just go buy one and keep in plugged in all the time in your basement. That’s not the target market.

Imagine you’re developing an app in regulated market and need to have Macs for CI/CD There’s a lot more to this than just keeping some Mac mini’s under your desk. How are you managing physical security in your environment? Do you have all the associated certifications in place? Can we see your last audit? Who’s fixing this when something breaks? What about your in house IT folks that done want to build out a whole new operation to manage Macs now? What if next week you need 5x as many instances but only for 2 days? That’s what your paying for in the price here, not just the cost of the instance itself and power.

When faced with all those requirements and challenges the pricing looks inexpensive.

Apple already offers this for Devs.


As of like 2 months ago, sure. And even then it's still in beta now. We've been using Macs this way since long before Apple decided to grace us with their nonsense implementation.

So does MS with Azure Devops & GitHub: https://docs.microsoft.com/en-us/azure/devops/pipelines/ecos... https://github.com/MicrosoftDocs/pipelines-xcode/blob/master...

It's great that there are finally multiple ways to do this without needing to buy a bunch of Macs just for compiling.

This feature doesnt seem to be compliant with MacOS's 24 hour per customer limit, so I suspect it will disappear at some point (or change to be more like AWS's offering)

If you're already using AWS it's a no-brainer to avoid a second vendor if you don't have to use them for other reasons.

Another datapoint is that Scaleway charges €.10 per hour ($.113) for their M1 instances, this is roughly one-sixth of what AWS is charging.

The Scaleway offering has 8GB versus the AWS 16GB. Not that it changes the math that much, but it's worth noting.

W8 what

>>> 699/(24*0.65)

44.80769230769231 days

Nitro card obviously costs a bit, but for ROI on mac itself is closer to 6 weeks than 6 months ;)

> 699/(24*0.65) * proportion of hours the product is unused

To be fair, since the minimum rent time of these instances in the cloud is 24h, chances are even a cloud-provided instance is unused for quite some time.

Yup, sorry I was assuming 40 hours of utilization a week, forgot to state that.

Unfortunately Mac instances have a minimum billing duration of 24 hours, so even if you only use it 8am-5pm, you'd be billed for 8am-8am. (Not AWS's fault, it's part of the Apple EULA.)

Hypothetically, if AWS instead installed Linux on these, could they disregard Apple's EULA?

I would think so, but IANAL.

But what would be the point of running Linux on a Mac Mini on AWS?

nerd sniping.

What is apple's motivation?

Money. Disabling a Mac for 24 hours after 10 minutes of use means you have to buy much more hardware than you'd have to if a single Mac could be utilized by many people for short periods of time. Some users would use a single Mac for days/weeks/months but others will want to boot, run a build, and be done. The actual work might take 5 minutes or 3 hours but you pay for a day no matter what.

Days where you're doing the same short-lived task many times won't be as expensive per build, but if you just want to do a nightly build, you're paying for months or years and utilizing a fraction of the compute time you're buying.

Probably they are deliberately trying to make M2 EC2 instances expensive to avoid all their Mac Minis being bought out by AWS, they get higher profit margins selling to retail customers.

There's a rumor going around that they're heavily discounting arm64 instances in order to put negotiating pressure on the x86 manufacturers. 'Nice arch you have there, would be a shame if people stopped caring.'

I would be careful about estimating beyond how they view arm64 given that these are the highest perf/core arm64 devices they can put their hands on.

I think they are providing those discounts to promote their own silicon, the Graviton3 chip. You definitely get an execution discount in Lambda for selecting arm versus x86 on that basis.

The rumor is that their own silicon isn't really that much better on perf/watt, but they're discounting it as a multi pronged effort to put pressure on the x86 vendors. If it turns out it's a lot of pressure and it kills x86, then they've commodified their complement. If it's just a threat, then they have a better seat at the negotiating table.

I wouldn't be surprised if they're pricing them below cost like they have done with Alexa products.

Maybe, there's still a lot of unknowns. The cost and power consumption of the nitro hardware to translate from the mac mini to everything else being the main one.

They're also likely pricing in some form of opportunity cost since the density of physical macs per unit rack space is almost certainly lower than the density of typical server hardware.

The space question is interesting.

The most common Mac mini rack mount enclosure holds 2 minis in 1ru. I think at amazon's scale they could probably get 4 minis in 1ru with some custom cooling.

how dense do you think instances are on average in the amazon datacenters?

Why would you not put them on their side and stack them like hard drives? You'd get way more density that way then trying to figure out how to make it fit in 1u for no reason. You could even stack multiple rows deep to get more density.

19 mod 1.4 = 0.8, 0.8 x 7.7 = 6.16 in^2

19 mod 7.7 = 3.6, 3.6 x 1.4 = 5.04 in^2

Presumably the greater waste of bottom side down is in higher number of shelves?

>The most common Mac mini rack mount enclosure holds 2 minis in 1ru

That sounds wasteful to me. Is that really the most common way for mac hosting companies to do it?


There's an image there that appears to have the units mounted sideways for perhaps 6 minis in 2 RU?

At Amazon scale, I imagine they strip the original chassis and use only the motherboard with custom power and cooling for some insane density. As visible here https://youtu.be/R4ArjHz4gd4?t=192 you could save some significant space doing so.

Well, I guess Amazon get to keep their warranty...

Seems like it would have to be 5U if sideways...the M1 minis are 7.7 inches / 19.7cm tall.

Do they have an alternative?

I imagine you could get 4 in 1U if you used all the depth, and perhaps more dense by putting them onto their side in 4U (maybe 5U..not sure how tall a M1 Mini is). I don't know to what degree cooling is an issue, where you don't want the exhaust of one feeding the inlet of another.

They could simply ditch the case, the board alone is pretty small.

"EC2 M1 Mac instances are powered by...The Mac mini, featuring M1 SoC with 8 CPU cores, 8 GPU cores, 16 GiB of memory"

So not $699, but $899, since it's 16GB of memory.

For retail, true. I would be surprised if amazon actually pays that much

Normal whole sale price, at best would be something like $799.

Based on what?

Based on Apple not giving a shit what volume you’re buying, the price is the price.

Maybe the rules are a bit different for Amazon, but I wouldn’t bet on it.

Based on what?




> Our Small Business Experts are ready to help. They’ll advise you on the devices to fit your budget, including special pricing,* and find you the best financing option. All backed by ongoing support to give you much-needed peace of mind.

> * Special pricing available to qualified customers. To learn more about how to start qualifying toward special pricing, talk to a Business Team member in a store or give us a call at 1-800-854–3680.

The point was that it’s a marginal discount. I never said that there’s no discount.

>Based on Apple not giving a shit what volume you’re buying, the price is the price. Maybe the rules are a bit different for Amazon, but I wouldn’t bet on it.

You're backpedaling now. Nowhere in your first comment was there any reference to degrees or margins - it was all or nothing (the "price is the price").

It's ok to admit you were mistaken.

> Based on Apple not giving a shit what volume you’re buying, the price is the price.

That isn’t what you said.

Apple is a pain in the ass, but you can negotiate with them. Even on iPhones, you can get significant concessions with large quantities.

I would love to be wrong about it. But I know Apple dont give much wholesale discount measured in hundreds of thousands in unit nor do they give any more discount to Mac than wholesale. At best they throw things like accessories or AppleCare discount as bundle.

That is a premium price if you're using it 40hr/week. Although, asumming they're available for custom AMI, maybe the value-add use case for this is to be able to have multiple custom AMIs for different dev environments and scenarios to rapidly spin up what you need.

Specifically for testing with multiple versions of MacOS: you could develop the code and then test on a custom AMI to make sure it ran in the version of MacOS, no need to have multiple systems setup. (Although I don't know much about Mac dev-- does Apple provide tools to do such testing already without running multiple OS versions?)

Otherwise, I guess it's all just about convenience.

The Mac mini itself is not the only hardware cost for AWS here, though: I wouldn't be surprised if their Thunderbolt Nitro hardware cost just as much each. It has to be a very low volume device (relative to other things AWS does).

Considering Thunderbolt is just PCI-Express, I'd expect it to be standard Nitro hardware (whatever that is) plus an inexpensive PCIe to Thunderbolt board/adapter.

Its probably much more custom than other hardware.

I have never seen any business/professional mac hardware deployment which doesn't look custom build with some magic around it.

That alone might be much more expensive and needs a dedicated team.

I'd guess they pay much more than this due to some licensing/t&c issue. I haven't read them but I speculate that they same something to the effect of you can't make it accessible to the public as a shared, paid for resource etc and that amazon has a separate agreement and they pay more.

Thinking back to the VMware service provider licensing I saw, Apple probably charges a subscription model that would make your eyes bleed. I was shocked anyone could afford to sell a public cloud offering that used VMware technology after seeing their pricing.

There is other hardware in the stack. How much does that cost?

GitHub Actions uses VMs. Not sure how they, and not Amazon, were able to pull this off. That subject is sensitive and reportedly under NDA. https://github.com/actions/virtual-environments/issues/2604#...

It's obviously under NDA. I don't even understand why someone would open up this issue. How is Github complying with Mac os license? The obvious answer is that Github worked something out with Apple, that would then be secret. Github (Microsoft) has many lawyers under their employ that would have looked at this, said if their implementation breaks the license, or they came up with an alternative license with Apple. It seems weird that people jump up to gotcha questions between two $Trillion corps.

I opened the issue because when I spun up a macOS runner, it was not requiring me to "review and agree to be bound by the terms applicable to any software preinstalled on the Apple Software [...]" per the terms. Was I somehow implicitly bound by them? I was not comfortable with that legal risk and figured I'd ask the awkward question.

Makes me think of Azure VMware Solution by CloudSimple. I wish I knew the details, but it was apparently unsupported by VMware.

I believe that Apple internally has plans to compete with AWS and Google Cloud in the long term, but with M1 chips. There have been rumors[0][1] about this, and it's a logical step.

Not a far leap to speculate that Microsoft/GitHub has been granted early access to that program.

[0] https://seekingalpha.com/article/4466949-new-leak-suggests-a...

[1] https://www.macrumors.com/2021/06/16/apple-planning-to-rival...

I seriously, seriously doubt that.

Apple has needs for serving 1+ Billion of its customers. IS&T has been known to be a complete pile of crap ( plenty of evidence on HN alone ). A dozens of hiring seems more to me like trying to fix things rather than compete. The will need hundreds if not thousands as bare minimum.

They have been pitting Azure against AWS and GCP against Azure to gain extremely favourable terms.

They're already doing it somewhat with Xcode Cloud, which does remote builds in Apple's infrastructure[1]. They might not directly compete with AWS, Azure or GCP in products one to one, but it's not unreasonable to assume they will expand their cloud offerings in this space over time.

[1] https://developer.apple.com/xcode-cloud/

They run much of their cloud on AWS and Azure and Google today. You can see that in their reports.

I don’t know that Apple will be able to make enough server-grade ARM-based chips or server class hardware using their chips, to be able to make a real impact on AWS and Google and Azure. They have never really understood the server market anyway.

I do think they will be able to roll out more of their own data centers for doing some of their most sensitive data processing, and more of the stuff that they consider to be core to their business, in kind of a hybrid/hybrid cloud model, but I think they’re always going to have most of their cloud actually hosted on AWS, Google, Azure, and other cloud providers.

> Not sure how they, and not Amazon

Pure speculation, but Microsoft and Apple have long standing working relationship, in a way that Amazon just doesn't have.

I suppose "long" is relative.

The verge article is from 2018, the Apple v Publishers is 2013.

Apple and Microsoft have been collaborating/competing since the 70's.

Hope the NDA they referred to didn't have a clause about "not acknowledging the existence of the NDA" that many do. :D

I believe you are thinking of a NSL (National Security Letter). I've never seen an NDA that compelled secrecy regarding the agreement itself.

It is definitely a thing, and I may or may not have signed one

Sorry I should have been more explicit. I've seen all sorts of dumb shit in NDAs. What I meant to say was I've never seen that kind of language in an NDA drafted by a decent lawyer that expected it to be enforceable.

Competent legal council would have the whole thing invalidated because you cannot mount a legal defense to a document you can't acknowledge the existence of in open court. Judges only let that stuff fly when you risk human life or judicial process, not in civil cases.

Maybe it's to guard against the possibility of revealing what's covered by an NDA by answering yes or no to increasingly-detailed questions about what is and isn't covered by the NDA?

VMs on real Apple hardware isn’t a problem. Apple used VMware extensively on their internal infrastructure during the time I was a contractor for Apple Retail Software Engineering.

And Apple licenses their OS to be run under VMware on certain other hardware vendors, too. You just have to ask the right people.

Is there much mystery, I thought they were simply frozen on the os version before the license change?

I’m not familiar with GitHub Actions but if you can’t directly interact with the MacOS operating system, then wouldn’t it really be GitHub “using” the operating system, not you?

They got ARM macOS 11 VMs?

Microsoft owns a significant amount of Apple stock.


Remember in 1997, Microsoft invested 150 million dollars into Apple to appease regulators? They sold it in 2003 for a tidy 550 million dollars. Nice return on investment!

If they didn't sell it, it would be worth approximately 130 BILLION dollars today.

Looks like you’re right, MS liquidated it a long time ago, and I mixed up Gates and MS, but if we call 5% as lowest amount of significance or how it was non voting stock it still isn’t a good point I made.


Ballmer strikes out again

Many months later and more than 5 times more expensive than Scaleway though.


Hetzner's offering is competitive too. 58 EUR/mo at https://www.hetzner.com/dedicated-rootserver/matrix-apple

And then as an enterprise I have to build in my IAM, auditing, artifact generation, etc. into the solution. I will pay the 5x.

In your case you should probably pay the 5.7x yes (and probably more when you consider bandwidth).

It is half the RAM (8GB vs 16GB), but €0.10/Hour is still attractive.

But I can do everything I need in one system with AWS.

Yes, many people find value in being locked down with a single cloud provider. It can make sense, but sometimes you don't need the AWS ecosystem and just need an online server.

If you’re testing software on an M1, what is the benefit of AWS?

Perhaps you have other stuff on AWS, in a VPC, that is administered by an operations team which is several tickets away from you and/or you have to talk with seven layers of management before you convince anybody that a VPN peering with a cloud provider may be cheaper than the hours you just wasted with expensive meetings just used to discuss the possibility of setting up a VPN peering let alone actually executing it and maintaining it...

Yeah, many companies will gladly pay an inflated per instance price as long as every else flows smoothly

I'm assuming there are no data transfer fees. If your M1 workload needs significant data, that alone could make it cheaper than having a cheaper external M1 and then paying every time you move data out of AWS into it.

Looks great, can I use it as an instance to send and receive iMessage? I could do it with my computer at home but if I can set it as a trigger able instance every few minutes to send and receive iMessage it would be pretty cool for serving iMessage to Android.

If someone could offer this as a service, I would pay for it. I get a lot of social pressure from family and certain friend groups due to being one of the few non-iPhone users.

My friend group solved some people using Android phones by moving entirely to WhatsApp, years ago.

Beeper does offer this service, but you can self host it for much less.

Look into BlueBubbles or AirMessage.

The 24 hour minimum pricing model for these really sucks. My understanding is that this is a condition of Apple's license to Amazon to run macOS on these machines, and I can't work out why they'd do it.

I do not understand why Apple hates developers. There are many developers that need Mac machines for CI/CD, but Apple doesn't provide any reasonable solution.

That’s what XCode Cloud (now in beta for some users) is designed for.

Apple gives themselves and GitHub special deals, which I guess is what they feel to be a reasonable solution.

How else are they supposed to force you to buy more units?

Apple hates it's users. Why should devs be any different?

They aren't just firing up a virtual machine on over-provisioned hardware, they're dedicating an entire bare metal machine to you. It is in their interests to make that worthwhile commercially.

These are Apple's terms that Amazon is following, not the other way around. You are getting bare metal that you have to reserve for a minimum of 24 hours because that's how Apple allows it to be licensed not because that's what Amazon thought would make the most sense.

I have such a hard time imagining what sick twisting legal crap allows Apple to dictate terms like this. Another example is Nvidia explicitly dis-allowing their consumer GPUs to be used in data-centers. It's wild to me that company's can just make up whatever terms of use they feel like & we have to accept that.

Edit: oh hello, i'm at -4! Anyone care to defend your outrage at my outrage? What makes this seem at all ok? This seems so fundamentally screwy to me. Questions like how Apple is allowed to ban other browsers[1] show related type of confusion over the vast ecosystem control that seems to be spreading, but there at least there's some cloudy App Store Apple clearly retains some rights of control over.

First-sale rights in America is fairly narrow in what they permit, but in America at least, there's very much been an idea that consumers become owners of the things they buy. It feels like a modern regression that there have been so many asterisks added to this straightforward & obvious right.

[1] https://news.ycombinator.com/item?id=29419825

> Edit: oh hello, i'm at -4! Anyone care to defend your outrage at my outrage?

The leadership sitting on a board with a mandatory retirement age at 65 who is 64 will lobby all involved to change that rule to keep going to 70. The terms are negotiable. You would have to think in our time of climate crisis that using 7 or 8 hours of a 24 hour slot and wasting all that energy for 16 hours is not something the law firm that negotiated the terms would be embarrassed by. To make it right, a regulator could force Apple to limit the rental minimum slot time according a labor board's idea of a programming work day at 7 to 16 hours and not 24. Write a letter and email your politician?

> I have such a hard time imagining what sick twisting legal crap allows Apple to dictate terms like this. Another example is Nvidia explicitly dis-allowing their consumer GPUs to be used in data-centers. It's wild to me that company's can just make up whatever terms of use they feel like & we have to accept that.

As far as I understand it, those EULA agreements aren't enforceable in the EU.

That being said, NVIDIA don't have any obligation to sell to you in bulk if they find out you're installing consumer GPUs in a datacenter, so there's obviously an incentive to follow them.

I don't think they're enforceable in the US either. Once you have it you have it. This is what a sale legally is, it terminates the rights of the former owner. They can refuse to sell to you if they think you'll do something with it, but if you get it from them by lying or from a second hand sale they can't do anything.

For software you can also have person A buy something, then give it to person B who didn't click a license agreement. But this isn't really necessary -- the case where Microsoft got slapped for motherboard locking Windows XP and had to undo it shows that if software is integral to the operation of a device rights to its use are transferred along with the sale of the item, much to the chagrin of CNC companies everywhere who have yet to be challenged on this.

It's relatively common for companies to use shell companies or employees to buy hardware off the record for investigative purposes. Place I used to work at would investigate buyers for this reason (difference being we really did give our customers free reign with the equipment, we just had to try to stop fraud and other things).

You run around this by designing your hardware to only work with your provided software and require the user accept the T&C. If they find out your violating it they can terminate your license and, effectively, make your chips bricks.

You are legally allowed to reverse engineer them and provide your own software but Nvidia pretty much buys whole departments at universities to have the bleeding edge of hardware obfuscation. The stuff they do to make the chips inscrutable is absolutely bonkers.

This is what the MS case was about with mobo locking. Refuse to run if they think you violated license. No, they can not do that. It just needs to be enforced.

Also they can easily claim that consumer cards aren't specced for 24/7 loads, thus installing in servers voids the warranty.

The term I would imagine applies to software not to the hardware

I run VMware esxi on my Mac mini with 64G of memory to create plenty of macos and Linux vms. Are you saying this is against the TOS?

AIUI there's no EULA problems virtualizing macOS on Mac hardware.

This is about a minimum 24-hour rental of Mac Minis tho.

It's entirely possible that the 24hr minimum is driven by the operational overhead, not just the licensing terms. Since this is bare metal, re-provisioning between customer sessions might require some level of human interaction, and this needs to be baked into the cost model of such a service.

Amazon openly admits it is because of licensing terms.

From https://aws.amazon.com/ec2/instance-types/mac/#Pricing:

"Billing for EC2 Mac instances is per second with a 24-hour minimum allocation period to comply with the Apple macOS Software License Agreement"

Thanks, I missed that. Looks like Apple added the section on leasing (3. Leasing for Permitted Developer Services) in the SLA for Big Sur in November 2020.

I bet a part is that apple genuinely doesn’t want to deal with MacOS being a server OS so they want a little bit of “are you sure?” Requirements in there.

A potentially bigger reason (for requiring 24hr) is to incentivize people who need a max for small bursts (eg build server, testing a website with safari etc) to just buy macs.

I imagine a reason to require bare-metal hosting because everyone is lauding apple on how snappy and lively the M1 is and if they’re split between N number of VMs then you may have a worse experience and apple is protecting that.

Because they want you to buy your own macs.

For now.. but they'll have their own cloud hosting (xcode cloud is a test). The AWS contract expires soon..

My guess is that its market research shows that for a profitable number of people, the 24-hour requirement isn't a big deal.

It's not like Amazon doesn't have the ability or experience to research business decisions before they're made.

It's an Apple requirement (it applies to all rent-a-mac type services), I doubt Amazon would mind splitting it shorter (like they do with everything else) if they could.

It probably helps selling a false narrative to shareholders. "Look at how many hours our hardware was rented for!" with no regard for how many hours were actually spent doing work.

That makes no sense. Apple doesn't rent hardware.

> EC2 M1 Mac instances are now available in preview in US East (N. Virginia) and US West (Oregon), with other AWS Regions coming at launch.

Pricing metrics are similar to the previous generation of EC2 Mac instances. You are charged per hour of reservation of the dedicated host, not for the time the instance is running, and there is a minimum charge of 24 hours for reserving a dedicated host.

In the two preview Regions, the on-demand price is $0.6498 per hour. You can save up to 42 percent over the on-demand price with Savings Plans. Check our Dedicated Host on-demand pricing page, as well as the Savings Plans page to learn the details.

The Apple Silicon is Tim Cook's magnum opus.

Apple acquired P.A. Semi in 2008, under Steve Jobs' tenure.

And 11 of the 13 years since then have been under Cook.

I have an slightly-off-topic question: If I want to test that my opensource project builds and runs on MacOS, what's the cheapest way for me to do this? AWS seems like a fairly expensive way do this at $15 USD per day

Github Actions has macOS available as a builder.

If you need to interactively test something, can you do that with Github Actions?

You can use this GitHub action [1] to get SSH access to a GitHub runner. If you need access to the GUI you should be able to use ngrok, perhaps with this GitHub action [2]. I've tried tmate both with Linux and macOS runners. I've only tried ngrok with Linux runners.

CircleCI supports macOS runners and has native support for rerunning failed builds with SSH access. So just setup a job that always fails.

[1] https://github.com/marketplace/actions/debugging-with-tmate [2] https://github.com/marketplace/actions/ngrok-tunnel

Ahh, using tmate for this is very clever!

I guess you could buy a refurbished Mac Mini on apple.com for $589?

Or better still just use macminicolo.net

Scaleway has them for €2.4/day.

+ a €49 setup fee.

I've never really understood Hetzner's offering, I can get paying €2.4 for a quick one off or a once a month build but I don't get how €98 + €49 per additional month is better than buying a Mac Mini on a payment plan.

If in a business context the alternative is "the CI macs, that sit in some corner of some office under a desk and hopefully don't get unplugged", maybe with a side of "and IT hates unapproved servers and also won't put our macs in their DC", I can see it making some sense.

IMHO unplugged once or twice a month, or GitHub Actions being unavailable it's pretty much the same thing.

It is straightforward to run an x86 macOS VM on Linux with QEMU & KVM. It's against the EULA to do so on non-Mac hardware, but technically it is possible.

"Virtual Hackintosh" is definitely quite popular, especially in regions where EULAs are not enforceable. But no one has managed to emulate the M1 enough to run the full OS yet[1], so that's a strictly x86-only option.

[1] I believe this is the closest publicly documented effort, and it's a year old: https://news.ycombinator.com/item?id=25064593

probably just github actions: free!

GitHub Actions

You don't need to leave the machine running (and billing) 24/7/365—turning it on for a few hours a day when you're building for it, or testing builds, should be enough.

From https://aws.amazon.com/ec2/instance-types/mac/#Pricing:

"Amazon EC2 Mac instances are available for purchase as Dedicated Hosts through On Demand and Savings Plans pricing models. Billing for EC2 Mac instances is per second with a 24-hour minimum allocation period to comply with the Apple macOS Software License Agreement"

...well, poop. That sucks.

There's a minimum charge of 24 hours. macOS's license only permits renting the machine to a single buyer per day, so if you use it for five minutes then turn it off that machine is idle for the rest of the day.

Unlike other EC2 instances, you have to "reserve" a host, and the MAC instances require a minimum of a 24 hour reservation, that you pay for regardless of the instance state.

It can be hard to justify $15.60 every time I want to test some random thing. Not to mention I seem to recall you can't actually cancel a reservation till the 24 hour window is up, so you need to remember to stop it the next day, or automate that action somehow.

Naive question: are these literally closets full of Macs? Or giant m1 MP servers?

There was a YT video about a year ago when they first released the EC2 mac instances, and they showed a clip of someone unloading a truck full of mac minis on a forklift. It is really just a bunch of mac minis in a sled. Nothing special going on here.

> EC2 M1 Mac instances are powered by a combination of two hardware components:

>The Mac mini, featuring M1 SoC with 8 CPU cores, 8 GPU cores, 16 GiB of memory, and a 16 core Apple Neural Engine.

>The AWS Nitro System, providing up to 10 Gbps of VPC network bandwidth and 8 Gbps of EBS storage bandwidth through a high-speed Thunderbolt connection.

I don’t think Apple would make anything like that so I’d assume racks of Mac Minis.

I came here to ask the same thing. So if Apple don't make a rackable M1 server, what do they themselves use? It seems a bit unlikely Apple would have racks of minis as well.

According to a sysadmin I interviewed several years ago, they use standard x86 server hardware from other vendors like Dell. If I recall correctly (there's a good chance I'm misremembering), they ran something like VMware, and ran Linux and OS X in VMs.

Oh right: Apple isn't constrained by their own license terms, so there's no reason they couldn't run Mac OS virtual machines at any scale on any hardware they wanted. Up to and including things that you would otherwise probably call "perfect Hackintosh" builds, since they can build actual Mac OS images with the hardware checks disabled, paravirtualization drivers, whatever.

See Xcode Cloud for example: running on qemu (w/ a linux host) on Ice Lake server Xeons.

When I worked as a contractor at Apple Retail Software Engineering, they bought for themselves the full final couple of shipments of thousands and thousands of the rack-mount Macs they had designed and built, and then ultimately killed. They filled a couple of data centers with them. And then they ran VMware on them so that they could have a lot more virtual Macs as servers.

They were also buying rack mount hardware from other vendors and running VMware on them, too. But I don’t remember what the vendors were that they were buying from. I doubt it would be Dell, given what Michael Dell said about Apple years ago, and the rivalry that has existed ever since. But I don’t know for sure.

You can literally buy a rack count tray for Mac Minis on Amazon, so I’d assume AWS mounts them in racks. It’s not the cleanest model, but Mac mini’s are smaller than 1U (1.4” vs 1.75”). They are also much cleaner to rack than the old trash can Mac Pros.

(Non affiliate link to a randomly chosen example)

Mac Mini Rack Mount, UCTRONICS 19" 1U Rackmount Supports 2 Units of All Mac Mini M1 and The Previous Models


Inside Apple no one knows (except for Apple employees and contractors, who are bound by employment contracts and nda's)

Outside of Apple, it's just whatever you see them selling on apple.com

There have been providers built around the Mac Mini since they came out - macminicolo.net is the one I've heard about forever.

there is no giant m1 mp servers yet.

with the Apple ecosystem, you get what they give you. There's no other way.

Every time I look at the AWS prices page or at its control panel, I feel like I need to get a special advanced degree to understand a thing.

After my experience 3 years ago, I will never use them again. I priced out an instance that estimated around $30/month via their calculator. Instance is indeed around $30 for the first 2 months, then I get a $200 bill. I don't know what the hell happened, but it was over 6x what I had budgeted. I tried to get someone to review my account, but I didn't get a response and just had to suck it up. I paid the $200 and moved on. Never again, I'll use Linode or something else instead.

I clearly did something wrong, but the process was so confusing that I couldn't tell you what it was. It probably had to do with running the server at sub-optimal times when rates were higher, but I don't remember reading anything about that. It was a Windows-based game server, so the extra cpu overhead might have had something to do with it.

I'm using Google Fi. Once I exceed my paid for bandwidth level for a given month it notifies me. When I go 50% over it notifies me a second time. If I want to know the bandwidth used I can check it anytime I want on my phone.

Considering the huge amount of developers having problems of this kind how hard would it be for AWS to implement a similar system?

Google did this to me with Adwords. They gave me a "free" $200 to run a test campaign but it never turned off and I was not notified in anyway. They ended up charging me $800 for a completely test campaign for a non product blog website that ended up not even getting any traffic. Very scummy behavior even worse than AWS. It was basically extortion because I would have lost my entire Google account if I disputed the charges with my credit card.

This is why I don't like to sign my credit card to any subscription service or anything similar. There is almost no way to delete the credit card, and it is hard to notice the charging before it happened. We should have legislation to make them offer one-shot charging without storing my payment information. Pay as my budget. Shutdown if exceed.


Doesn't cost anything, can use different bank accounts for funding on a per card basis, configurable limits.

Except they are in the process of changing their bank that they work with, so that they can change the type of cards they issue, and you have until the end of December to change over all your old cards from the old format to the new one, which means changing the card numbers, too.

This is a royal pain in the ass for those of us with hundreds of cards registered through them.

If there was another service of this type that existed, I’d switch to them in a heartbeat. And I will no longer recommend them here.

1: That news popped up here after I posted this.

2: New accounts since around October are already on the new thing.

It wouldn't work anyway cause I'd just have a large debt with them they'd eventually lock my account over.

>how hard would it be for AWS to implement a similar system?

I don't want to be that guy who yells out from my armchair to say something is easy. But........ quota management at its core is incrementing a number, then reading the number back. AWS is already doing things plenty more complicated than that. I'm sure they could build this if they cared to.

Other providers let users put billing limits on their accounts. Seems like Amazon benefits when users aren't able to put a $30 a month limit on their accounts like the OP wanted to.

You are just making stuff up. AWS has all those things. Billing limits. Cost monitoring. It is all there.

If you have to be a domain expert to configure it correctly, as is clearly the case with AWS since configuring it is a whole separate industry, then for all intents and purposes it is not there as far as a regular user is concerned. If it helps, imagine a Cessna pilot who's suddenly asked to fly a big intercontinental aircraft without any of the assistance features turned on. All the controls are there, but as far as the Cessna pilot is concerned, they can't fly it.

Billing limits, as in, a hard limit over which resources will shut down and I can be sure I won't be charged over that limit? I'm pretty sure that doesn't exist.


You have to configure (correctly) an AWS IAM account with permissions to run actions you have to specify when budget amounts are hit. There's no simple 'Do not spend more than $X per month' setting. You have to understand AWS's auth and roles to set a limit using an action.

Monitoring, alerts etc are not the same thing as being able to put a cap on the amount of money Amazon can charge your account for services per billing period.

AWS does not have billing limits.

You can budget but Amazon will NOT cut you off if you go over the budget.

At best you might get some alerts in a timely manner. Good luck.

How hard? Bees against honey hard.

The disk you attach to an instance is not free, and capacity/performance characteristics dictate price.

It's possible that was the issue, but I estimated a 20gb storage partition. Maybe usage was to blame, I know the server was inefficient with reads and writes.

But what did you actually assign? EBS volumes are priced based on provisioned capacity (including throughput if you choose io2 volumes).

I just don't remember the details. As I said earlier, it's likely I made a mistake, but the process was not clear and I was not notified when my instance expense ballooned to something I clearly wasn't expecting. I never had these kinds of issues with Heroku, Linode or any other host.

A fellow Linode aficionado!

I had a similar experience as you. You are getting lured in by the free tier, but then this paid additional service is needed and that paid on top. Didn't work for me at all.

With AWS, you can set up billing rules to notify you of any charges over any limit you want, and you can break that down by service or overall charges, etc…. You learn a lot about this process when you become an AWS Certified Cloud Practitioner.

Sadly, they don’t turn these things on by default. You have to know about them in advance, and you have to know how to configure them. That’s one thing I wish they would improve.

There goes a call for thousands of MBA hacks to slither into this mess and create more mess and call it "value creation"

Just try Oracle Cloud believe me...it's so much better.

It’s not any more straightforward to use IME, and I have had an instance vanish without a trace in the past 4 months.

It is, however, far cheaper and has more transparent pricing.

> It’s not any more straightforward to use IME, and I have had an instance vanish without a trace in the past 4 months.

It's called administrating on whisky ;)

I'm not a Microsoft fan (he writes from his Linux desktop) but I was astonished that Azure actually has working "This is how much we can spend, and literally no more" behaviour coming from previously working with AWS where that's either entirely unavailable or black magic known only to experts.

Why does it have that? Because Azure gives away $150/ month Azure credits to students with Visual Studio. If Azure "mistakenly" lets a student spend $5000 it doesn't get to bill their credit card or chase them with debt collectors, those student accounts don't have any money, don't have a credit card, may have no bank account, so long as some institution paid for Visual Studio licenses there may not even be a real human being behind them. So, the only option for Microsoft is to have a water-tight shut off once you spend $150. Added 1TB of SSD to a virtual machine when you meant 1GB? That's gonna burn your $150 real fast. Accidentally picked the turbo-fast Azure SQL instance instead of the toy one you actually needed to demo Power BI? Ditto. But you don't get an enormous bill and then hope they let you off, the credit runs out and everything goes dark instead.

Amazon seems to believe that so few people care about this they don't need to compete. Maybe they're even right. But I, for one, don't want to risk my life savings every time I'm on a screen where a fat-finger costs $5000 per hour, so Azure looks pretty attractive.

Oddly, there's certain things in Azure that don't work with the credits feature, like spot instances. I'm not sure why, but it's awesome for not blowing up my bank account because I did something wrong.

There are entire consulting businesses based on the idea of helping people understand their AWS bill.

But I'm not sure what the tradeoff is. They have a lot of services with a lot of options. The pricing is designed to meet everyone's needs.

> There are entire consulting businesses based on the idea of helping people understand their AWS bill.

More broadly, there's a whole cottage industry of businesses that exist only because the UI for the major cloud providers is terrible. Stuff like security auditing or even telling exactly WTF is going on (let alone over time) is so painful that it's worth paying someone else to provide a better UI. Same for billing.

> The pricing is designed to meet everyone's needs.

That's a surprisingly charitable interpretation.

It's a valid one. Engineering teams work with AWS kinda in the same way mass market 90s C code was written. They get it running, but boy are there huge leaks and crashes hiding in plain sight.

From that perspective, I think it might be ok to say that most eng folk complaining about AWS billing need a safer language (higher level abstraction) where they are protected from causing harm or being harmed.

One thing that would make a difference on small accounts is the ability to do prepaid billing only. That way you define your budget in advance and they enforce it. The problem with the current billing is that people who are new to the system have no hope of understanding what is going on and they have to accept the open-ended nature of the billing system to learn.

One issue is what gets shut down when you hit the max? If you have an EC2 instance running and you hit the max, do they shut it off? Would customers understand that and be ok with it? What if you have an S3 bucket? Should they just delete the data? That's probably not what you want.

You can basically do max bill now -- you can set up a cloud watch alarm for billing and when it reaches a certain price, run a script. Your script could just shut everything down and delete everything, or do whatever is appropriate for your account. That's their solution to this.

Also they don't have instant feedback on usage -> cost. They batch process it. So if you get a huge spike in usage, AWS may not even know that for a while. They could in theory be willing to eat the cost of usage between it happening and their processing, but are probably unwilling.

There must be a process for unpaid bills, whatever that process is they could just enact it at the user's threshold instead of their own threshold. Ideally a soft limit that would disable networking and resource creation and then later a hard limit where your account is wiped out.

Because of the potential overhang before the billing system catches up I think it would be appropriate to lower the service quotas on this type of account. I'm not sure if the customer can lower their own quotas which would be an alternate cost control strategy but a beginner wouldn't know to think of that anyway. The solution with billing alerts is good at a company level but too much for a beginner in my opinion.

I know unexpected costs were a concern for me when I started using AWS as a student in 2008 and it is still a concern for people in the same situation, just with so much more complexity on top of it all. It will be a tiny fragment of their revenue but as time goes on a higher and higher level of expertise is required to get started, even though you can accomplish a lot with just the free tier. The amount of progress they've made on this issue in the last 13 years is just not impressive.

> There must be a process for unpaid bills

They lock your account but keep all the resource active and the bill just keeps going up until you pay to get back in.

Yeah, shut off EC2 instances, block access to all resources, etc. Preserve bucket data and other storage for N days or $M max allowance (ultimately billable) before deleting. AWS could limit how much storage they make available to someone with a budget, reducing their risk substantially.

It's pretty easy stuff, IMO, but the upside for them is low -- after all they are already #1.

That might work for you, but not everyone. They might even have legal trouble with such a system, if they delete data that was required to be retained for example. You're not thinking of all the edge cases.

Why is data remotely their problem?

If you don't have your data backed up in something other than Amazon, Amazon is the LEAST of your worries.

AWS Lightsail is pretty close to this. It’s still possible to get an overage if you have a lot of traffic, but otherwise it’s pretty safe.

Their egress bandwidth pricing definitely wasn't designed to meet my needs. I forget how many orders of magnitude above market it was when I priced it out, but it was ugly.

The complexity is to meet customer needs, not the prices themselves. But aren't you glad they have bandwidth tiers so the more you use the cheaper it gets? :)

Heh I suppose, you do pay just for the parts you use, even if you end up paying a lot more as a result :-)

I think there is a class action law suit waiting to happen to be honest, it's clearly deliberate and everyone who has set up AWS personally is being charged $2-5 per month for services that are still running but they cannot find.

As long as Jeff gets richer.

Jeff’s not in charge anymore. Andy Jassy is. And I think some things will be changing for the better with Andy.


> "selling AWS at a loss" is crisp shorthand for a lot of startups' business models!

You may not be that far off from the truth. It took me a paid course (though, admittedly at a deep discount and for basically no money for a professional) to understand the purpose of the VPC section of the AWS control panel. And a while later, to understand why the items on the left-hand side are grouped in such a seemingly nonsensical way.

Now that I know this complexity, I can't unlearn it. But for everyone else, I would just recommend Digital Ocean, Scaleway or Hetzner.

I just learned that I need to pay aws 400$ for last month. I was thinking it would be 50$.

It's a very special kind of evil. They can always argue it's your fault, because you haven't read something, you misunderstood something. There are even stories circulating of people who lost their life savings by mistake but the AWS team charitably decided they will forgive them just this time, how nice of them!

Everybody knows it's complex to their advantage, they are not stupid - but they can always defend themselves using the flexibility card. I don't believe a class action would ever happen.

Yes, the “let’s hook up your credit card to the Internet” part of cloud computing still makes me nervous.

Use a prepaid credit card. Boom. Protected

Google doesn't allow prepaid cards last I checked. I tried to use a card from privacy.com and the Google form explicitly stated that you can't use prepaid cards.

You'll still owe the money, but it's unknown whether or not they'll come after you or report you to credit agencies (which they can do w/o SSN). I guess you could use a fake name and address, though.

Last time i checked AWS didn't accept prepaid cards. Even if they did, they could still after you if you live in the USA, and if the amount in question is significant, also in other countries.

privacy.com is great for this.

Except they are in the process of changing their bank that they work with, so that they can change the type of cards they issue, and you have until the end of December to change over all your old cards from the old format to the new one, which means changing the card numbers, too. This is a royal pain in the ass for those of us with hundreds of cards registered through them. If there was another service of this type that existed, I’d switch to them in a heartbeat. And I will no longer recommend them here.

I was actually successfully in reversing a $500 AWS bill. I had needed an Active Directory domain controller so I found one in the AWS marketplace and deployed it to an EC2 instance. Well guess what, the DC must have had some malicious start up scripts in it because it proceeded to download a few TBs of data from outside to the AWS EC2 instance which equaled nearly $500. I complained and AWS immediately reversed it without any need to escalate. This was on a personal AWS account so no relation to any large organization. Morale of the story, dont trust AWS marketplace images from sketchy sources.

I'm honestly at the point where I assume the AWS Console is awful on purpose as a way to drive people towards infrastructure as code. It's just so awful that it can't be on purpose (I hope).

Wait until they see how awful IaC is.

In what sense? Terraform is treating me quite well.

Use a service with max cap built in such as Hetzner. [0]

[0] https://www.hetzner.com/dedicated-rootserver/mac-mini-m1

Especially if I google "ec2 pricing" I don't land on a page with $ signs on it. That's really freaking annoying.

Even if I hit the "General Purpose" link on the page I land on, I STILL don't land on a page with $ signs on it.

Seriously, I don't even know where they list the damn pricing anymore.

It used to be listed out plain and simple on the first page you landed on with a region selector.

You're not alone. Feels like it's on purpose.

If M1 macs were like iPhones, where a new one was released every year, I could see it maybe being useful to pay for something like this.

But since they aren’t, and since an M1 mini only costs $699, it doesn’t make sense to me. If you use it 24/7, even the cheapest provider is going to be more expensive than just buying one (or 3)

Even if you only use it for building/compiling iOS software, it’s probably still cheaper to buy one because even if Apple releases a new model, the model you can buy today is still going to be good for building for at least half a decade. Also, if there is a new model, the old model will drop in price!

AND even if you don’t have the cash to buy a $700 computer, you can still probably find a way to finance the purchase for a lower monthly payment than whatever this type of service would cost.

Does anyone have a real world example where a service like this makes sense? (Even if it were cheaper than AWS’s prices)

Mac automation for things like CI is a pain in the ass (at least for small businesses) and their virtualization story for e.g. older version of the OS blows, despite having had a built-in hypervisor for a really long time.

"Load this specific OS, install these other programs, download some data, get it to this overall state, then run this script and send the output somewhere else, then destroy it when you're done" is actually a pretty big pain to do with macOS, without paying someone. Not that rentable M1 Macs solve that problem, exactly, but rentable, managed Macs in general can be useful for this, when you're renting from places with the automation in place to do easy virtualization or re-imaging.

They mentioned the main use case when they launched the initial Mac ec2 instances.

Any company that does something on iOS/macos needs mac hardware to run builds on, there is no other (legal) option. The status quo (even at very large companies) is some mac mini's under someones desk/in a closet somewhere.

This is basically replacing the cost of that setup (ie the oncall for it/hassle). The AWS service is even more expensive than things like MacStadium because you also get AWS network connectivity and other features.

Is this really true?

There really isn’t a cross compiling chain that would allow me to build a macOS app on a freebsd system (for instance) ?

I've manually done it before (on Linux). Technologically it's not that hard to do, but legally is where it becomes a problem. IIRC the Xcode license (which applies to the iOS SDKs) requires you to use them on Apple branded computers.

I don't know why Apple cares so much about that, especially since they're already collecting their yearly $100 tax from developers on top of the 30% revenue cut. I guess at their size, extracting every last penny is how you get to a trillion dollar valuation?

So unless you have a strong legal defense ready, you should probably just pay Apple.

EDIT: I should clarify that by "it's not that hard to do", I mean that it's easy because someone else already did the hard part :)


Cross-compiling is possible, but breaks the Xcode/Apple SDK license terms.



No. If you want to build things for the Apple ecosystem, you need to use the Apple ecosystem.

If you need to run a CI server or something, the cost of the hardware itself is not nearly the only cost you have. With this, you have it hooked up in reliable power supply, very good network connectivity and all the other physical concerns abstracted away.

CI is what comes to mind. If you want to run tests or build artifacts on a Mac every time any developer pushes a commit, you really need something remote rather than a physical device on your desk.

Genuinely curious, who is the audience for this? Large iOS dev shops who want hardware to run builds on and don't mind that you need to reserve them for at least 24 hours at a time?

Well it's anecdotal, but yes, our company fits directly into that space. You might ask why we don't want to just have the hardware in-house, but since we're developing Software as Medical Device products for iOS, we'd rather qualify Amazon as a critical supplier than try to operate the activity ourselves (with all the controls that come with doing so).

Large shops that already run on AWS and where iOS/mac is a small part so they'd rather dish out a few $100k for someone else to manage and have it homogeneous through their other systems.

And it's a standard service that any of their developers can access as needed without needing to either setup their own Macs as a service in a lab or distributing standardized Macs for testing/builds/etc.

For a small shop it probably makes more sense to just buy the Macs, especially if they do a lot of iOS/OSX development.

Large companies who also make their own app… like Amazon. Who are known for selling their own internal tools. ;)

My employer really wants to use this. The IT department dislikes supporting Apple hardware and software. But...we have a product that needs to end up in the Apple App Store. They tried to convince the iOS engineers that it would be fine to work in a virtualized environment (and cheaper), but we really were not convinced that would be workable in the long run. I was willing to give it a shot, but the effort eventually fizzled out, likely over Amazon's costs.

CI/CD for ios apps

So cool to imagine there's just a regular old Nitro accelerator, but it happens to be plugged in over thunderbolt in this case.

To be honest I'm more impressed by the Polly TTS widget at the top. The neural version is incredibly good.

Yeah, this is huge, especially for hobbyists. The M1 is a great laptop but being freed from buying one just to build for iOS is still cool.

You need to dedicate the instance for a full 24 hours, so if you're doing daily builds you'll probably end up paying for a mac mini every month.

Not that I'd ever do or recommend it in a commercial setting, but hobbyists should probably just fire up something like https://github.com/kholia/OSX-KVM to do builds.

Meh, I don't think that too many things that AWS is releasing are at all relevant for hobbyist because of pricing. I

n this case, you need to pay at least 16 usd for running this because of 24h limitation, so for example using scaleway (2.4EUR for 24h) or just buying a mac mini probably is gonna be cheaper overall

Applications are open for YC Summer 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact