>Microsoft, which provides a range of cloud services to Israel’s military and public sector, bid for the Nimbus contract but was beaten by its rivals. According to sources familiar with negotiations, Microsoft’s bid suffered as it refused to accept some of Israel’s demands.
So Microsoft is now more ethical than Google and Amazon? What times we live in!
They did countless attempts to use ARM but all failed. Consumers didn't care because they couldn't run their software. Microsoft won't solve the problem until they will provide a way to run all relevant software on ARM.
Microsoft already designed a modified ARM ABI [1] compatible with emulated X86-64 just for this transition. But it's a Windows 11 feature. I wonder if the refusal of many of us to switch from Windows 10 is part of the reason why they're still idling on an ARM strategy.
Part of the issue was incomplete amd64 emulation on windows which is why several MS products continued to ship 32bit - because while they might recompile their software for ARM, business users had binary-only extensions that they expected to continue using.
A year or two ago I used a Windows 11 laptop with an ARM CPU, and at least for me everything just worked. The drivers weren't as good, but all my x86-64 software ran just fine
Its pretty decent. Decent enough in fact that I can run a Windows 11 ARM install on vmware Fusion on my macbook m4 pro, and it will happily run win arm and x86 binaries (via builtin MS x86 emulation) decently fast and without complaint (we're talking apps, gaming I haven't tried.)
>If using Python instead of what we use, our cloud costs would be more than double.
You won't double your costs and I can safely say that without knowing anything about your service. Because if you use PyPy, the speed up is generally 2x. So right there, your argument is defeated.
But even without PyPy, I am willing to bet that your service has a dominant component of either network calls, or data processing. In the former case, you can use Python with things like uvloop and multiprocessing to basically structure your service so that you are filling the processing time with waiting for network calls, spending minimal time in actual compute, which means you don't get any slower. In the latter case, its pretty straightforward to write a data cruncher in a more optimized language like C and run it from Python - even if you don't wanna deal with native interfaces, an LLM can write you a small udp server that can listen on a unix pipe for messages to process, and from python you just launch it with subprocess and send data to it.
So unless you run a highly specialized service with a very niche use case, you would be absolutely fine with Python.
And even then, Im willing to bet based on average use case that your cloud costs aren't even close to optimal. In the case of AWS, so many companies use managed services like Dynamo DB when they could easily run a reserved small EC2 instance and run their own version of Mongo or something similar. At my current company, the only AWS services we use is S3 and EC2, where things like database software or caching software is all manually installed and ran on EC2. If you know what you are doing, its not really that hard to manage. We even have or own version of AWS Lambda.
reply