Easy performance test for AWS, Google Cloud, and Microsoft Azure cloud platforms

The most interesting thing is that as you unwind the tangle in this entire cloudy story, one trick suddenly pops up, which shuffled the entire deck. And I still do not have an answer to the question, but how can one trade capacities like this, how do the two grands mentioned in the title do it?
Who cares - welcome to cat.
I admit that until now I didn’t have rich real experience with AWS, Azure and Google Cloud, so I started with simple google, because "Frontal" comparison of characteristics did not give a proper understanding of the picture. For example, when choosing multi-core systems, the same Google operates with the values of some virtual CPUs, without explaining anywhere what this means. As a result, it is not entirely clear what exactly the performance of the running system will be.

As a result, I decided to set up a simple experiment: run a series of simple performance tests on the installations of the three top cloud service providers (these were AWS, Google Cloud and Microsoft Azure).
In all three cases, new accounts were opened and Windows Server 2016 was raised on 4 core universal purpose instances. For AWS, this is EC2 m4.xlarge; for Google - n1-standard-4; for Azure - DS3_v2 Standard. The memory is aligned in all three examples to the Azure level.

Here, by the way, was the first "ambush." It was normal to register the first time only with Azure. For some reason, Google refused to accept a bank card, claiming an “invalid payment method” - although Amazon and Azure accepted the card normally. AWS had a registration form bug - so much so that I had to contact support and wait for an answer. Their technical support is active. This is a plus. They called back twice, wrote twice, but the question ended up hanging over a week.
But these are trifles, so back to the tests. Virtual machines are lifted, as they say, "as is", without any further refinement. To test performance in all cases, the same set of tests was run:
- GeekBench 4 (in my opinion, the most revealing);
- 7zip (as a "control shot");
- CristalDiskMark.
GeekBench 4 Results
Amazon EC2 m4.xlarge at Frankfurt data center



Google Cloud (data center us-central 1-c)




Microsoft azure




The result, to be honest, a little surprised. Those. we see a very noticeable advantage of the cloud from Microsoft. And the reason is simple - Azure provides full four computational cores with a high clock speed, while both Google and Amazon give dual cores, and the number “four” is obtained due to hyper trading!
With Google, by the way, there is another ambush. After the tests, analyzing the screenshots, it became clear that the instances from Azure and AWS were located in Europe, and Google - in the States. Those. when raising the server, I did not pay attention to the region. But the subtlety here is that you cannot change the location of the data center when raising the server. This is done in the general console settings of all virtual machines, which is not entirely obvious.
Nevertheless, it is thought that two more cores from the change in the geography of the data center are unlikely to appear. Google has the same distribution policy for resources, so it was decided to leave everything as it is and not to redo the tests (all the more so because each time you have to pay a certain amount of money for installations).
7Zip Results
The results of the built-in test of the archiver are exclusively for checking GeekBench. And here we see a similar picture, although with a slightly smaller discrepancy. The overall rating score of MIPS in the MIPS chart is displayed on the chart.

Now let's look at the speed of the disk subsystem.
CrystalDiskMark Results
To test the operation of the disk subsystem, I took CrystalDiskMark and the old Anvil's Storage Utilities. The first worked with a bang, and here are its results:

Azure and Amazon as a whole are working quite fast, but Google, apparently, is strictly limited to 25 MB / s. Anvil's attempt to recheck data was only partly successful. On Amazon, he showed results similar to Crystal, but in the “clouds” of Azure and Google, the test results caused a huge amount of questions. For example, on Google, the linear recording speed was fixed at around 240 MB / s, while external monitoring of disk operations on the management console did not show traffic above 20 MB / s. And this is even lower than the registered values when Crystal was launched (two humps on the right in the screenshot are disk tests).

Price tag
The price of Google Cloud is the lowest. Especially taking into account the 30% discount received if the virtual machine works most of the month.

AWS comes second in price. Given a separate storage fee, in our case we get ~ $ 346, which is displayed on the header of the corresponding tab.

Well, the price of Azure is formally the highest (~ $ 356). However, it is not much different from AWS. And when you consider that when registering with Azure we get a bonus of $ 200, it completely becomes average.

conclusions
The main conclusion is that on Azure we got full four computing cores of the Xeon E5-2673 processor. Due to this, we have almost 50% superiority in the speed of multi-threaded tasks over AWS. Yes, it costs a little more. However, the starting $ 200 and, to be honest, is not at all a 50% excess of the price, they speak for themselves.
The disk subsystem is also not the same. And if the Azure and AWS storages “move” quite fast, then Google has a very hard and low barrier to disk operations. And if this is critical for someone, then keep in mind. On the other hand, Google tested the American data center. It is possible that if I took the European one, the picture could be different. But now there is no time to check it.
PS: Already after pouring material on Habr saw this article here. Well, that means it really is.