Новый балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΎΡ‚ MIT

БистСму Shenango ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ….

Новый балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΎΡ‚ MIT
/ Ρ„ΠΎΡ‚ΠΎ Marco Verch CC BY

По Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ всСго 20–40% доступных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй. ΠŸΡ€ΠΈ высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… этот ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 60%. ПодобноС распрСдСлСниС рСсурсов Π²Π΅Π΄Π΅Ρ‚ ΠΊ появлСнию Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Β«Π·ΠΎΠΌΠ±ΠΈ-сСрвСров». Π­Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°ΡŽΡ‚, Π²ΠΏΡƒΡΡ‚ΡƒΡŽ расходуя ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ½Π΅Ρ€Π³ΠΈΡŽ. БСгодня 30% сСрвСров Π² ΠΌΠΈΡ€Π΅ стоят Π±Π΅Π· Ρ€Π°Π±ΠΎΡ‚Ρ‹, потрСбляя элСктричСство Π½Π° $30 ΠΌΠ»Ρ€Π΄ Π² Π³ΠΎΠ΄.

Π‘ΠΎΡ€ΠΎΡ‚ΡŒΡΡ с нСэффСктивным расходованиСм Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π² MIT.

Команда ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° систСму балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° процСссоры ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Shenango. Π•Ρ‘ Ρ†Π΅Π»ΡŒ β€” ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ состояниС Π±ΡƒΡ„Π΅Ρ€Π° Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Β«Π·Π°ΡΡ‚Ρ€ΡΠ²ΡˆΠΈΠ΅Β» процСссы (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ процСссорноС врСмя) Π½Π° свободныС ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Shenango

Shenango прСдставляСт собой Linux-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π° языкС C с Π±Π°ΠΉΠ½Π΄ΠΈΠ½Π³Π°ΠΌΠΈ Rust ΠΈ C++. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ тСстовыС прилоТСния ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° GitHub.

ΠžΡΠ½ΠΎΠ²Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ составляСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ IOKernel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ядрС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΠΎΠΉ систСмы. Он управляСт запросами ΠΊ CPU с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° DPDK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт прилоТСниям Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с сСтСвыми устройствами.

IOKernel Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠΌ ядрам ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Алгоритм Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, сколько ядСр понадобится. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСсса ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ основныС ядра (guaranteed) ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (burstable) β€” Π²Ρ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² случаС Ρ€Π΅Π·ΠΊΠΎΠ³ΠΎ увСличСния числа запросов ΠΊ CPU.

ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ запросов IOKernel ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹Π΅ ΠΏΡΡ‚ΡŒ микросСкунд Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ провСряСт, всС Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ядру, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. Для этого ΠΎΠ½ сравниваСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ мСстополоТСниС Β«Π³ΠΎΠ»ΠΎΠ²Ρ‹Β» Π±ΡƒΡ„Π΅Ρ€Π° с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ Π΅Π³ΠΎ «хвоста». Если оказываСтся, Ρ‡Ρ‚ΠΎ хвост ΡƒΠΆΠ΅ Π±Ρ‹Π» Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, систСма ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ выдСляСт ΠΏΠΎΠ΄ процСсс Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ядро.

ΠŸΡ€ΠΈ распрСдСлСнии Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ отдаётся ядрам, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ процСсс выполнялся Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈ частично остался Π² кэш-памяти, ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π±Π΅Π·Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ядрам.

Новый балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΎΡ‚ MIT

Shenango Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ work stealing. Π―Π΄Ρ€Π°, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния, слСдят Π·Π° количСством Π·Π°Π΄Π°Ρ‡ Π΄Ρ€ΡƒΠ³ Ρƒ Π΄Ρ€ΡƒΠ³Π°. Если ΠΎΠ΄Π½ΠΎ ядро Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свой список Π·Π°Π΄Π°Π½ΠΈΠΉ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚ΠΎ ΠΎΠ½ΠΎ «снимаСт» Ρ‡Π°ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с сосСдСй.

Достоинства ΠΈ нСдостатки

По словам ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈΠ· MIT, Shenango способСн ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² запросов Π·Π° сСкунду ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ срСднСС врСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π² 37 микросСкунд. БпСциалисты ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях тСхнология способна ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ коэффициСнт использования процСссоров Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ… Π΄ΠΎ 100%. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π¦ΠžΠ” смогут ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ ΠΈ обслуТивании сСрвСров.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΈ спСциалисты ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… унивСрситСтов. По мнСнию профСссора ΠΈΠ· корСйского института, систСма ΠΈΠ· MIT ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Π΅Π±-сСрвисов. НапримСр, ΠΎΠ½Π° пригодится Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ². Π’ Π΄Π½ΠΈ распродаТ Π΄Π°ΠΆΠ΅ сСкундная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сниТСнию числа просмотров сайта Π½Π° 11%. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ распрСдСлСниС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ большС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Π£ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ нСдостатки β€” ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ многопроцСссорныС NUMA-систСмы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡ΠΈΠΏΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ модулям памяти ΠΈ Π½Π΅ Β«ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡΒ» ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π’ этом случаС IOKernel ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ процСссоров, Π½ΠΎ Π½Π΅ всС Ρ‡ΠΈΠΏΡ‹ сСрвСра.

Новый балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΎΡ‚ MIT
/ Ρ„ΠΎΡ‚ΠΎ Tim Reckmann CC BY

АналогичныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π‘Ρ€Π΅Π΄ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° процСссоры ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Arachne. Она рассчитываСт, сколько ядСр понадобится ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Π³ΠΎ запуска, ΠΈ распрСдСляСт процСссы Π² соотвСтствии с этим ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ. По ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², максимальная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Π² Arachne составляСт ΠΎΠΊΠΎΠ»ΠΎ 10 тыс. микросСкунд.

ВСхнология Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C++ для Linux, Π° Π΅Ρ‘ исходный ΠΊΠΎΠ΄ Π΅ΡΡ‚ΡŒ Π½Π° GitHub.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ инструмСнт-балансировщик β€” ZygOS. Как ΠΈ Shenango, тСхнология ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для пСрСраспрСдСлСния процСссов ΠΌΠ΅Ρ‚ΠΎΠ΄ work stealing. По Π΄Π°Π½Π½Ρ‹ΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ZygOS, срСдняя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ использовании инструмСнта составляСт ΠΎΠΊΠΎΠ»ΠΎ 150 микросСкунд, Π° максимальная β€” ΠΎΠΊΠΎΠ»ΠΎ 450 микросСкунд. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ находится Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π¦ΠžΠ” ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ, ОсобСнно тСндСнция ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π·Π°ΠΌΠ΅Ρ‚Π½Π° Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ hyperscale Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²: сСйчас Π² ΠΌΠΈΡ€Π΅ сущСствуСт 430 Π³ΠΈΠΏΠ΅Ρ€ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π¦ΠžΠ”Π°, Π½ΠΎ ΡƒΠΆΠ΅ Π² блиТайшиС Π³ΠΎΠ΄Ρ‹ ΠΈΡ… число ΠΌΠΎΠΆΠ΅Ρ‚ увСличится Π½Π° 30%. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° процСссоры Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ вострСбованы. БистСмы, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Shenango, ΡƒΠΆΠ΅ сСйчас Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ количСство Ρ‚Π°ΠΊΠΈΡ… инструмСнтов Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ расти.

ΠŸΠΎΡΡ‚Ρ‹ ΠΈΠ· ΠŸΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π° ΠΎ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ IaaS:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com