By: RichardC (richard.cownie.delete@this.pobox.com),
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on February 21, 2019 8:03 am wrote:
> 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,
I think this is much less true than it was in the 1990s.
- Docker/containers give better isolation from system and other apps
- A lot more stuff being implemented on virtual machines - Java, Python,
Javascript. Admittedly, some of those VMs will be not so great on ARM.
- PHP is probably challenging - but with Facebook using PHP and very much
wanting to get cheap TCO and high density for their server farms, they'll
make a huge effort.
- Single-thread ARM performance is getting fast enough for a decent
development machine, so presumably that will happen.
- One counterpoint to the develop-on-same-platform argument is that the most
common development platforms these days seem to be Windows laptops and
MacBook Pro's - but the cloud environment is predominantly Linux.
As always, change doesn't happen overnight. But every step ARM takes to
close the gap in single-thread performance makes it more plausible for use
in servers.
> 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,
I think this is much less true than it was in the 1990s.
- Docker/containers give better isolation from system and other apps
- A lot more stuff being implemented on virtual machines - Java, Python,
Javascript. Admittedly, some of those VMs will be not so great on ARM.
- PHP is probably challenging - but with Facebook using PHP and very much
wanting to get cheap TCO and high density for their server farms, they'll
make a huge effort.
- Single-thread ARM performance is getting fast enough for a decent
development machine, so presumably that will happen.
- One counterpoint to the develop-on-same-platform argument is that the most
common development platforms these days seem to be Windows laptops and
MacBook Pro's - but the cloud environment is predominantly Linux.
As always, change doesn't happen overnight. But every step ARM takes to
close the gap in single-thread performance makes it more plausible for use
in servers.


