By Svitlana Ostnek, Artem Rozumenko, Maksym Zinkevych
EPAM Cloud is a service widely used by EPAM project teams for hosting their virtual infrastructures. Among the reasons of its popularity and community growths is the wide spectrum of technologies, tools and solutions, allowing to select the most comfortable and effective approaches that would meet the needs of each specific case.
EPAM Cloud allows you to select where to host your resources - in private EPAM regions, or on external provider' platforms. The decision typically depends on the project needs, expected infrastructure composition and capacity, as well as on customer's requirements. However, even when the solution on the basic cloud provider is already made, there is still a question on the specific virtualization regions that should be used.
The correct choice can influence the overall team performance and success. Thus, it should be made wisely. In this article, we will try to answer the question of region selection in EPAM Cloud, in case you already decided to host your resources in its private regions.
EPAM Regions and Their Specifis
EPAM Cloud supports nine virtualization regions geographically distributed in Europe, CIS, and USA. The typical advice on region selection, if the choice does not depend on the customer's wish, is: "Select the region that is geographically closer to your team". This allows to minimize the inconveniences related to data transfer and connection speed.
However, the project specific conditions and requirements can make you pay attention to other technical and performance details that can influence the choice of the region.
The table below gives a brief overview of the regions available for hosting virtual resources in Cloud:
|Europe (Budapest, Hungary)||EPAM-HU1||VMWare|
|CIS (Minsk, Belarus)||EPAM-BY1||VMWare|
|CIS (Saratov, Russia)||EPAM-RU1||VMWare|
|USA (Princeton, NJ)||EPAM-US||VMWare|
|Europe (Kyiv, Ukraine)||EPAM-UA1||VMWare|
|CIS (Minsk, Belarus)||EPAM-MSQ3||OpenStack|
|CIS (Minsk, Belarus)||EPAM-MAC*||VMWare|
|CIS (Minsk, Belarus)||EPAM-DKR*||OpenStack|
Please note that the set of regions includes two "exceptional" ones:
- EPAM-MAC - the region is designed for virtual and hardware Mac instances creation. Virtual Macs are available in standard EPAM Cloud shapes up to LARGE, with MEDIUM shape being recommended.
- EPAM-DKR - the region based on OpenStack (Kilo), designed exclusively for working with solutions that need containerization approach. Namely, it allows to run Docker as a Service, with Docker instances running under KVM and having CoreOS operating system.
The performacne in each region, generally, depends on the region load at each moment. However, we decided to investigate the regions performance and made a number of tests. The results of our investigation may be useful at region selection stage.
Comparison Approaches and Mechanisms
To compare performance of different regions, it was decided to carry out RAM, CPU, and disk read/write operations tests.
CPU tests were performed by means of the Sysbench tool that allows to load the CPU with square root calculations and measure the time needed to complete the operation. During the experiment, not only the complete test time was registered, but also the minimum, maximum, average, and percentile 95 time for each operation was evaluated.
To perform RAM tests on Cloud instances, a number of benchmarks of different types were used:
- *mark benchmarks (INTmark, FLOATmark, MMXmark, SSEmark). They use an algorithm that allows to show the performance speed of cache and memory subsystems by writing and reading from a specially allocated memory space.
- *mem benchmarks (INTmem, FLOATmem, MMXmem and SSEmem), used to measure actual read/write memory performance.
- Non-temporal versions of SSE and MMX benchmarks that were used to eliminate cache pollution on write operations and to minimize it on memory reads. Besides this,these benchmarks improve performance due to included data perfecting algorithm.
To perform disk tests, we used two tools:
- Read operations were tested by means of hdparam tool that allows to calculate basic transfer speed, transfer speed bypassing hard drive buffer, and transfer speed of the second half of HDD.With both shapes, the fastest on read turned out to be EPAM-US region, and EPAM-UA1 holds the seconds place. The bronze in read operations with Large shapes goes to EPAM-BY1 region, and EPAM-RU1 with Medium shapes.
- Write operations were tested by means of dd tool, and test parameters were: speed of committing to disk with and without write verification, including verification of each megabyte. For Medium shapes, the top three regions (starting from the one with the best speed) are EPAM-UA1, EPAM-US, and EPAM-RU1. This chart for Large shape goes like EPAM-US, EPAM-UA1, EPAM-HU1
All the tests were performed on similar VMs: MEDIUM and LARGE instances with Ubuntu 14 (64-bit) OS.
For tests, we selected most used standard EPAM Cloud regions, and one region from AWS and Azure Clouds to make the test results more transparent and clear.
Before starting the tests, we performed a number of checks in order to verify that the experimental instances have similar capacities conditions.
In order to make the test results as close to real user experience, the tests were run during regular working hours.
We aggregated the results of all tests into two charts, by shapes. During the charts creation, we assigned marks to the regions, according to their performance, with the higest mark (9) for the best results. So, the overall performance statistics by regions for Medium shape can be visualized as:
Looking at the chart, we can conclude that EPAM-US and EPAM-UA1 regions provide better performance for Medium instances in terms of RAM and Disk operations, and they are in the middle when in comes to CPU. Meanwhile, the VMs showed the best CPU performance in EPAM-MSQ1, EPAM-DKR and EPAM-BY1 regions.
The statistics for the Large shaped instanes in different region shows similar trends, with slight difference in the middle area:
Although the results of the tests can be used for region choice in case a specific performance aspect is critical for the VM's purpose, please remember that the actual performance depends on the overall region load, network connections and other factors.
The results above are generalized for to enable faster reference. However, if needed, you can also see the detailed perfomance tests results in the attached PDF.