Full-stack dev here with almost no real hardware knowledge.
Why would you want to use ARM instead of X86 on a server like this? The architecture switch comes with dependency headaches -- what counterbalances those to make it worth it?
At the moment you almost certainly would not want to use them. The production volumes are currently far too small to say whether ARM servers will end up being much cheaper or better in other ways than Intel-based servers.
These particular servers are based on the Cavium ThunderX which has (up to) 48 cores per socket, and usually two sockets per server. Each individual core is rather slow. The servers themselves are not noticably cheaper in price than x86-based servers. As noted above it's very early days.
There are some more interesting servers coming along. In particular Qualcomm have a 48 core ARM server SoC which has great performance per core, and should ship in a few months. (They are already shipping final silicon to partners and a few developers)
What could make the difference would be:
- ARM partners currently ship around 40x cores annually relative to Intel. Of course the vast majority being phone/tablet 32 bit cores, but that kind of volume might mean that future ARM servers become very cheap, or have an incredibly high density of cores.
- Multiple vendors are allowed to design ARM SoCs, so we may find that particular vendors optimize for more niche use cases, and if your use case happens to be that niche, that could be a win for you.
As an example of the last point: Could your application use 16 x ethernet ports and some custom hardware to process SDN dataplane (eg OpenFlow) tables, all on a single System-on-Chip? Good luck getting Intel to design such a chip for you. However an ARM partner would be entirely free to develop such a chip, and maybe hardware like that will form an important part of telecoms/OpenStack cloud deployments in future.
I mean if you buy the servers. This site has a selection of these Cavium ThunderX servers for sale with prices (in GBP): https://www.avantek.co.uk/store/arm-servers.html (Edit: Fixed the link)
Why would you want to use ARM instead of X86 on a server like this?
For €12/month you get 8 (slower) cores and 8 GB of RAM. At a place like Hetzner roughly the same price gets you 2 (faster) cores and 4 GB of RAM. For some workload more slower cores and more RAM gives better performance that fewer faster cores and less RAM.
If you don't do platform-dependent development (low-level[* ] c/c++ or assembly development) then you're going to see pretty much no difference.
The main difference is that you get a 8-cores machine with 200GB ssd and 8 gb ram for the price of a 1 core, 1GB ram, 30GB ssd on digitalocean and similar. Scaleway is still developing some extra features [* * ], for most hobbyist to medium scale usage, i think it's going to be just fine (plus, the monetary savings).
It is to be said that each of those 8 cores are likely to be individually slower than an usual x86 core, but you get 8 instead of 1 and they're fully yours: you don't have to share cpu time with other users, as it happens on pretty much all vps providers: you're renting a whole machine.
[* ] = applications written in C/C++ will work flawlessly, as long as they don't exploit x86-specific features. If you're doing web stuff, you're unlikely to hit this spot.
> they're fully yours: you don't have to share cpu time with other users, as it happens on pretty much all vps providers: you're renting a whole machine.
That's not true with these. These are VPSs backed by a 48-core physical server. Scalaway does have an older baremetal ARMv7 server offering though.
At resin.io we keep looking for a solid arm host, as we are currently emulating a ton of arm builds on x86. I guess our use case is somewhat unique, but we still haven't found something that works for us.
Totally offtopic (sorry) but when I saw you mention "resin.io" I immediately thought about the java appserver from caucho which was a pretty okay product back in the day; I assume you're not related?
Why would you want to use ARM instead of X86 on a server like this? The architecture switch comes with dependency headaches -- what counterbalances those to make it worth it?