Linus Torvalds on Why ARM Won't Win the Server Space (realworldtech.com)
Linus Torvalds: I can pretty much guarantee that as long as everybody does cross-development, the platform won't be all that stable. Or successful. Some people think that "the cloud" means that the instruction set doesn't matter. Develop at home, deploy in the cloud. That's bullshit. If you develop on x86, then you're going to want to deploy on x86, because you'll be able to run what you test "at home" (and by "at home" I don't mean literally in your home, but in your work environment). Which means that you'll happily pay a bit more for x86 cloud hosting, simply because it matches what you can test on your own local setup, and the errors you get will translate better. This is true even if what you mostly do is something ostensibly cross-platform like just run perl scripts or whatever. Simply because you'll want to have as similar an environment as possible.
Which in turn means that cloud providers will end up making more money from their x86 side, which means that they'll prioritize it, and any ARM offerings will be secondary and probably relegated to the mindless dregs (maybe front-end, maybe just static html, that kind of stuff). Guys, do you really not understand why x86 took over the server market? It wasn't just all price. It was literally this "develop at home" issue. Thousands of small companies ended up having random small internal workloads where it was easy to just get a random whitebox PC and run some silly small thing on it yourself. Then as the workload expanded, it became a "real server". And then once that thing expanded, suddenly it made a whole lot of sense to let somebody else manage the hardware and hosting, and the cloud took over. Do you really not understand? This isn't rocket science. This isn't some made up story. This is literally what happened, and what killed all the RISC vendors, and made x86 be the undisputed king of the hill of servers, to the point where everybody else is just a rounding error. Something that sounded entirely fictional a couple of decades ago. Without a development platform, ARM in the server space is never going to make it. Trying to sell a 64-bit "hyperscaling" model is idiotic, when you don't have customers and you don't have workloads because you never sold the small cheap box that got the whole market started in the first place.
Which in turn means that cloud providers will end up making more money from their x86 side, which means that they'll prioritize it, and any ARM offerings will be secondary and probably relegated to the mindless dregs (maybe front-end, maybe just static html, that kind of stuff). Guys, do you really not understand why x86 took over the server market? It wasn't just all price. It was literally this "develop at home" issue. Thousands of small companies ended up having random small internal workloads where it was easy to just get a random whitebox PC and run some silly small thing on it yourself. Then as the workload expanded, it became a "real server". And then once that thing expanded, suddenly it made a whole lot of sense to let somebody else manage the hardware and hosting, and the cloud took over. Do you really not understand? This isn't rocket science. This isn't some made up story. This is literally what happened, and what killed all the RISC vendors, and made x86 be the undisputed king of the hill of servers, to the point where everybody else is just a rounding error. Something that sounded entirely fictional a couple of decades ago. Without a development platform, ARM in the server space is never going to make it. Trying to sell a 64-bit "hyperscaling" model is idiotic, when you don't have customers and you don't have workloads because you never sold the small cheap box that got the whole market started in the first place.
Maybe, but there have been attempts to bring ARM to cheap PCs before and its always been still born. The reasons are varied though. For example, the ARM windows tablets failed because they couldn't run 99.99% of windows applications and Microsoft only seemed half way interested in selling them to begin with. ARM Linux laptops could work fine. Most Userland code has an ARM port already anyways but mass production of PC's is expensive. What Dell can do, System 76 can't. They and others like Purism have dipped their toes into custom PC's that aren't just rebadged generic Chinese machines. But they still aren't bespoke. If they were then we would have 4:3 Linux laptops in production, because I know that the vast majority of Linux laptop users spend more time coding than watching movies. So if someone has the cash to get a production line up and running for laptops and desktops using ARM chips in purpose made motherboards that have standard RAM slots and expansion slots then I am sure people will buy them. And I think sooner or later that is exactly what will happen. The real question is, will ARM pull it off before RISCV catches up and does it first?
He may be right for Linux based development, but a lot of people are using stuff like Azure for their cloud services now. Write code in .NET using Azure services, and you don't care what architecture the server is.
Having said that, even for Linux stuff I think it's a mistake to think that people won't be using ARM for their development machines sooner or later. Super long battery life but affordable laptops, or just having a dedicated local ARM server rather than trying to recreate the server environment on the same machine as the IDE.
More over as everyone moves to the cloud they have less and less control over the production environment. If you use Amazon instances they are all a standard install image, and you don't want to be heavily customizing each one if you can avoid it. Even a lot of VPS stuff doesn't give you full freedom to install whatever specific versions of packages you want, not least because it would be a security nightmare, and most people don't really want it anyway - they just want a turnkey solution that someone else takes care of updating and managing.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
You've never seen how half of the corporate stuff comes into existence. It starts as an amalgamation of whatever the most tech-savvy employee managed to piece together. They pieced it together on whatever they run on their desktop.
I've seen 32-bit servers kept around to run something that has an ancient emailer program embedded in it that won't cooperate with 64-bit operating systems. It's not that there aren't any 64-bit email clients, it's that no one has the time to figure out how to replace an internal part of this ball-of-mud that runs the company.
I've seen Windows XP in data centers because some ancient piece of software that runs the door locks hasn't been updated in twenty years and it has a driver that doesn't play well with anything newer.
Slightly off topic, but similar, was the time when we had trouble buying a server because the software specs were written in 2001 and stated a minimum processor clock frequency of 3.2GHz, but the world had moved on to the Core architecture and clock speeds went way down (but performance went way up).
I'm currently hoping the Pinebook Pro does very well when released later this year. I'm already planning on purchasing one for FreeBSD ARM development. The specs still are not the best, but are decent enough for some interesting development tasks. A portable ARM laptop with a hex-core processor, 4GB RAM, 64/128GB eMMC, Mini-PCIe with NVMe support, 1080p ISP display, 10,000 mha battery, and USB-C that supports charging + 4k/60hz video. This thing will be a little mini beast for $200. Most of programming is reading/writing code more so than executing it, so I believe this should be plenty powerful for solid web development and system service programming. This laptop NEEDS to do well to show the industry as a whole that these are the type of devices we WANT.