9 ms·
Is it common to use ARM instances for web servers? There are huge cost savings
by tobiasfuenke 3y ago
Is it common to use ARM instances for web servers? There are huge cost savings
- 8organicbits 3y agoThe last time I looked I tried to deploy a python MVP on ARM but found that some of the dependencies weren't compatible. I'd take a hard look at your ecosystem and what sort of dependencies you're likely to need in the future before committing to ARM.
- 95014_refugee 3y agoSometime around 2010, I’d guess? It’s been a long time since this has been a meaningful issue…
- 8organicbits 3y ago2023. I forget the dependency, possibly something crypto related?
- repelsteeltje 3y agoCrypto and media codecs are in that area of incompatibilities. Occasionally run into Intel - AMD issues and even subtle generational mishaps every now and then. In cloud this is often related to hypervisor hiding architecture details (or plainly lying about them). Another source of trouble is python ecosystem fighting os packages. My recommendation would definitely include inspecting your dependencies. Also, be aware of python limitations: it's easy to develop, but but of a nightmare to deploy, maintain when targeting distinct platforms.
- jeffrallen 3y agoI do development of Odoo addons for a client on my ARM server, never really thought about it, just started working there because it was convenient and it just worked.
- AeroNotix 3y agoWhich ARM server would that be?
- jeffrallen 3y agoAn Oracle always free instance.
- dingi 3y agoThis was my observation as well. Python and Node still don't have perfect support on ARM (And no, this was not 10 years ago. Couple months ago tops). Not the core language/runtime but libraries. They still rely on native libs for some stuff. The platform I haven't experienced any issues at all was the JVM. Worked perfectly all the time. At least for my use cases (Web API services).
- iraqmtpizza 3y agoI pity the people still using glorified C. Java just works everywhere.
- 15155 3y agoFor the Rust, Go, and Ruby ecosystems it's very easy.
- jpgvm 3y agoAlso trivial on JVM.
- jeffrallen 3y agoJVM: "Write once, wait around for the damn thing to start up everywhere".
- weinzierl 3y agoWell, we have GraalVM now, which is "Write twice, wait a little less for the thing to start up on supported platforms."
- razakel 3y agoI find it amusing that Oracle uses GraalVM.
- dingi 3y agoI don't think that, a slightly increased startup time affects vast majority of software projects in any meaningful way.
- toast0 3y agoCloud provisioning takes so long, language runtime startup doesn't matter. :(
- fransje26 3y agoAnd I think C might work too.
- 3y ago
- ta988 3y agoMore and more yes.Anything that you have the source of or is compiled for it. Limitations are mostly for numerical computations that may lack some instructions or not be optimised as well as x86. For standard web/micro services they are great.
- el_benhameen 3y agoAll of our newer .net stuff runs on ARM instances. Solid cost savings and performance.
- lowbloodsugar 3y agoHaven’t run a JVM on x86 for years. My first ARM was 1988 tho, so I am biased =)
- ochrist 3y agoArchimedes?
- lowbloodsugar 3y agoA310 FTW
- aidos 3y agoAt least for us, we made the switch in preparation for the release of the M1 Mac machines. It took about a year for things to simplify - originally we had to use qemu for dependencies and had to hack and compile a few other bits along the way. We have more gnarly deps than your average web app though. Now the only thing we’re running on x86 is Sentry and I’ll stop self hosting that when I get a spare moment because it’s more of a beast to run than I like.
- stn_za 3y agoDefinitely more and more common, amazon's graviton instances and container support goes a long way here
- pjmlp 3y agoAny managed language, or anything on top of JVM, .NET, BEAM, should be quite easy, minus possible dependencies on native libraries.