📜 ⬆️ ⬇️

From Amazon EC2 to Mail.ru Infra: Test Cloud VPS (Linux)

Domestic companies have recently competed with the big three cloud providers - Amazon, Google and Microsoft, although there are few significant players in our market. These are mostly relatively small projects, traditional hosters (including large ones) and / or operators of commercial data centers offering clouds in the appendage to the traditional package of services.

The situation began to change with the advent of Mail.ru Cloud Solutions ( MCS ): the Russian provider offers customers virtual infrastructure, object and block storages and a number of other micro services.


')
In this series of articles, in addition to the main foreign ones (Amazon, Google, Microsoft), we take the notable Russian competitors Mail.ru: Selectel, Servers.ru and Rostelecom, although they definitely lose Mail.ru in the sense of a set of available services - such a rich offer which of the local players do not.

First of all, let's evaluate cloud VPS on Linux, we will compare Infra from Mail.ru with Amazon EC2, Google Compute Engine, Microsoft Azure VM and services of the already mentioned domestic companies: Selectel, Rostelecom and Servers.ru, a local branch of Servers.com with the same offer .

Nuances of registration, payment and support


Domestic services prefer to work on a prepaid basis: we first replenish the balance of the personal account, then we get services. This is due to the very difficult law enforcement practice of debt collection from Russian individuals. And it will be difficult to recover money from other companies.

Major Western services have accepted postpay, and in the event of an account being hacked, you can “fly in” into space amounts in a very short time. Here's an interesting case: the guy hijacked an AWS account and vigorously “sounded” 12 kilobakks of debt for using cloud virtual servers (save us Turing so “get there”!). The victim of the goodwill of the company forgiven the debt, but could recover.

From here, by the way, there are problems with registration - to a new AWS account (Google and Microsoft are about the same), individuals are required to bind a bank card. If you have a Russian bank, your account may be "suspended." In this case, his work will not be automatically restored - you need to write to tech support. There, in response, they will be asked to present a lot of proofs - and almost a certificate of passing a medical examination center from their place of work:



For a company, payment for a service in a foreign jurisdiction is also not easy if the cloud provider does not have a Russian legal entity and is not particularly interested in our market.

And the last moment: the prices for services of large international cloud services are pegged to a hard currency, which can be painful in conditions of an unstable ruble exchange rate. Theoretically, you can pay and rubles, but still at the rate and usually at the internal - more profitable in dollars at the rate of your bank (this is from practice). Another reason to choose a domestic service, the good is what to choose.

Prices


The most interesting, of course, is the price. Amazon EC2 pays for computing resources, storage, allocated IP addresses, and in some cases data transfer. There are three payment options: on-demand instances, reserved and spot instances. Amazon EC2 price list can be found here . For example, in the data centers of Ohio (USA), a four-processor virtual machine will cost you from 11.26 rubles. up to 50.66 rub. (from $ 0.2 to $ 0.9) per hour + tax (prices in Amazon prices are indicated without tax). Dedicated storage for 1 GB EBS SSD (gp2) volumes in the Ohio data center costs 5.63 rubles. ($ 0.10) per month, but there are other options .

* for calculations, the exchange rate of the Central Bank of the Russian Federation as at January 30, 2018 was used.

Microsoft has a similar pricing policy with pay for using IP addresses and transferring outgoing data . Prices for four-processor configurations range from 9.94 to 61.32 rubles per hour. However, it seems that Microsoft is talking about honest processor cores, while Amazon in some configurations can provide, for example, two cores with hyper trading instead of four. All new virtual machines have an operating system disk and a local (or “resource disk”), for which no fee is charged .

Google has its own configuration besides standard ones. The price of four-processor ranges between 7.98 rubles. ($ 0.1418) and 13.33 rubles. ($ 0.2368) per hour, but the choice of standard configurations is not rich. There are also discounts for regular use, they are provided automatically when certain thresholds are reached. Google’s price tag seems to be the lowest of the foreign trinity, but in each case it’s necessary to count, especially for serious projects with a predicted load.

Let us turn to domestic providers. Here it is better to use tariff calculators - it is easier to create an individual profitable price list. The Infra from Mail.ru practices monthly billing with per-minute payment, with an annual contract the provider offers a significant discount. Prices for configurations are shown with VAT: 1 GB of memory = 190 rubles per month, 1 CPU = 510 rubles per month, 1 GB disk = 7 rubles per month. Popular four-processor configurations cost 5430 rubles per month, or about 7.54 per hour.

On Servers.ru, you can choose between sets of ready-made configurations , prices are indicated per month and per hour, a disk and a certain amount of traffic are also included in the price — the overrun is charged. Currencies are different, since the data centers of the provider in different countries, but immediately there is a recalculation in rubles. The four-processor configuration in the Moscow data center will cost from 3600 or 4800 rubles per month (in Russia, the company offers only two four-processor configurations) - 6 rubles or 8 rubles per hour.

Selectel has a virtual private cloud (VPC) on the main site. A virtual machine is built using a constructor, you can specify the desired amount of vCPU, memory, disk size and type, number of ip-addresses, etc. All prices are in rubles, VAT included. A four-processor machine will rise from 3+ thousand to 7 thousand and above rubles per month, or approximately 4.17 and 9.72+ per hour, respectively.

Rostelecom offers businesses (they do not cooperate with individuals) access to the national cloud platform - and for a change it even has a price list (prices are per day, daily billing depends on the volume of services).

As you can see, the prices of domestic providers are generally lower than those of the western troika. Because of the Russian dislike for clear prices, this is not very striking, but when it took us $ 3 to pay for Amazon or Microsoft services, ours did not have to pay a hundred rubles to a personal account. Plus, our services (for example, Mail.ru) offer free instances. At Amazon, they also have, but there are limits on the use there, which is not particularly clearer.

Domestic services have a relatively small selection of hardware configurations of virtual machines. Infra is a pleasant exception, and it is clear why: Mail.ru is a rather big company and it has seriously aimed at this market, it has enough opportunities.

SLA


All providers that generally do it, declare approximately the same availability factor - 99.98% of the time the service is operational. These statements are based on statistics collected by the Uptime Institute, which shows that the data center availability level of TIER III is 99.982%.

And since almost all providers use these data centers (this is the most running level), marketers are tempted. In fact, this is a myth and practical readiness is theoretically immeasurable. TIER levels relate to the topology of the engineering subsystems of the data center and business processes for the upper certification stage (operation, incident response, that's all). From this point of view, the IT load simply “consumes power and generates heat that needs to be removed.” In this sense, there is no difference between a server and another electric heater (joke).

Practical readiness on the performance of the IT load (hardware + software) depends not least. How to measure it? No way yet. Unless it is purely practical, i.e., on the basis of real statistics of exploitation. Although if the provider’s service level agreement specifies the provider’s economic liability for failures, this is a good sign.

Check communication channels


For the test, we will take another virtual machine from a third-party relative to all experimental Russian data centers, which we will use as a client machine. First of all, we check the bandwidth of the channel through pings in large and small packets, and so on - we take one configuration from all providers in order not to produce entities. At first we will ping in one hundred small (64 bytes) and one hundred large (1 kilobyte) packets. Packages do not fight (0% loss), but the response time (in the table) is slightly different. In domestic services it is less, as expected.



Next is a test of downloading a file by each virtual machine:

$ wget -O / dev / null - http://ftp.corbina.ru/pub/100Mb
$ wget -O / dev / null - http://cachefly.cachefly.net/100mb.test
$ wget -O / dev / null - http://speedtest.london.linode.com/100MB-london.bin



Now check the speed using Iperf, this program works on the principle of client-server. On the external to all experimental Russian (for the purity of the experiment) host, we start the server:

$ iperf -s -p 9999

Then we execute the command from each verified virtual machine (testing runs for 60 seconds):

$ iperf -c server_ip -p 9999 -t 60



Of course, this is not in-depth testing, which needs to be done at different times of the day, take a series of iterations, and so on, but even in such a primitive version it is obvious that domestic services from the runet are more accessible (less delay, higher throughput). This is a plus in the treasury of our services. Serious Russian providers go "nostrils to nostrils" - the difference is within the limits of statistical error.

We test using Hardinfo


On each virtual cloud server we run the Hardinfo benchmarks. It is clear that synthetic tests demonstrate spherical VPS in vacuum and configurations that are identical in terms of computational capabilities give almost similar results without the possibility of choosing obvious leaders and outsiders. But as a starting point when choosing, they are useful.

Benchmarks
CPU Blowfish is a performance test using a cryptographic algorithm developed by Bruce Schneier and implementing symmetric block encryption.
CPU CryptoHash - calculation of cryptoresistant hash function.
Fibonacci CPU - Fibonacci function calculation using recursive coding and parallel programming.
CPU N-Queens - a test from the combinatorics, the solution of the chess problem of placing N queens on a chessboard the size of NxN cells so that no one queen could attack any other.
FPU FFT is a test for fast calculation of the discrete Fourier transform.
FPU Raytracing - ray tracing calculation for 3d rendering.

The result is given in seconds (the smaller it is, the better) in all tests except CPU CryptoHash - there is MiB / sec and the more it is, the better:

Configuration 1 (entry-level server): 1 CPU (2.3 - 2.7 GHz depending on the provider), 1 GB of RAM, 10 GB of storage (for servers.ru - 30 GB, Ubuntu 16.04.



Configuration 2 (mid-level server): 2 CPU (2.3 - 2.7 GHz depending on the provider), 4 GB of RAM, 40 GB drive (servers.ru have 81 GB), Ubuntu 16.04.



Configuration 3 (high-performance server): 8 CPU (2.3 - 2.7 GHz depending on the provider), 16 GB (for servers.ru - 32 GB, but for the test of the processor this is unprincipled) of RAM, 100 GB drive (at servers.ru - 322 GB), Ubuntu 16.04.



According to the synthetic test, all the machines showed expectedly close results - it does not reflect real workloads. During operation, everything can be completely different. Obviously, in the top configuration, large providers look better - including due to their wide capabilities. They can afford a network of huge data centers and a greater variety of iron. From Russian services only Mail.ru is close to them.

Compare drives


We test drives in a separate virtual machine with simple tasks for sequential reading and writing. Both Servers.ru and Mail.ru did not have configurations with HDDs - while Mail.ru has drives from distributed ceph storage. In terms of sequential read speed, they are roughly like SSDs, and in sequential write speeds they are like smart HDDs.



In comparison, conventional solid-state drives, premium (with payment for IOPS, for example) options were not considered.

findings


On the whole, the virtual cloud servers of Mail.ru and other domestic providers are not inferior to the offers made by Western competitors. Of course, the world's major players can offer more diverse configurations, but their prices are higher, and problems may arise with registration and payment (especially if you are a legal entity, and the provider does not have a Russian legal entity).

Another important point: some Russian providers have data centers in the West, but the big three foreign data centers do not have data centers in our country. This does not in the best way affect the availability of resources from the Russian segment of the Internet (response time increases) and could create problems for the owner to process and store Russian personal data - current legislation requires the server to be located in the country. And now many companies store and process PD: for example, employee and customer data.

In the next articles of the cycle, we will test Windows servers, object storages and other services.

Source: https://habr.com/ru/post/348132/


All Articles