Орендований vs придбаний сервер vs хмара

Вітаю, сьогодні я б хотів описати тонкощі при виборі між орендою серверів, їх придбанням, хмарою та іншими варіантами.

У автора цього допису є унікальна можливість поділитися своїм досвідом життя та роботи під час повномасштабного російського вторгнення 2022 року в Україну, що додасть ряд цікавих пунктів далі в статті.

TLDR

Придбавши сервер — ви разово витрачаєте значну кількість коштів (залізо + ліцензії), також вам буде потрібно якось обслуговувати цей сервер, а саме замінювати деякі його деталі у разі їх виходу з ладу, а також, забезпечити безперервне живлення та стабільний Інтернет

Орендувавши сервер — капітальні витрати конвертуються в операційні (щомісячні), ви можете відносно легко і швидко розширити або зменшити наявну кількість/потужність серверів просто замовляючи додаткові або відмовляючись від надлишків.

Розмістивши інфраструктуру в хмарі — ви делегуєте підтримку стабільності роботи ваших серверів (апаратного забезпечення) операторові хмарної платформи, зазвичай це спричиняє трохи вищі витрати порівняно з першими двома варіантами, але натомість ви зменшуєте навантаження на ваш IT відділ та отримуєте максимальну гнучкість. Але при цьому ваш бізнес стає критично залежним від доступності інтернет-з'єднання, що підвищує вимоги до стабільності та резервування каналів зв'язку.

Вступ

Дебати на тему чи краще купувати, чи орендувати сервер почалися напевно з моменту коли оренда сервера взагалі стала можливою. Але в будь-якому разі, важливо чітко усвідомлювати, що ви обираєте не лише між формами витрат, але і між можливостями у майбутньому або їх відсутністю.

Зазвичай вибір відбувається у першу чергу саме між можливостями та/або потенціалом.

Оренда сервера

Оренда сервера — це щомісячна сплата за надання доступу до сервера з певними характеристиками у дата-центрі. У цьому випадку ви сплачуєте не лише за сам сервер, але й за супутню інфраструктуру необхідну для його роботи (Інтернет, електрика, охолодження, базова технічна підтримка та обслуговування).

Основні переваги:

  • Оренда сервера, це найдешевший спосіб отримати будь-які обчислювальні потужності за умови вільних людських ресурсів у IT відділу.
  • Провайдер бере на себе відповідальність за стан апаратного забезпечення, звільняючи вас від необхідності його обслуговування.

Основними недоліками є:

  • Обмежена гнучкість конфігурації, коли тариф з потрібними характеристиками може бути недоступним, або через деякі вимоги, потрібний сервер може коштувати більше.
  • Зазвичай, після оформлення замовлення відсутня можливість змінювати конфігурацію сервера, хоча деякі провайдери все ж можуть надати таку можливість.

При оренді сервера треба чітко усвідомлювати, що ваші дані зберігаються на носіях, які належать третій компанії (провайдеру). Це означає, що в разі порушення вами правил користування послугами провайдера, або законів країни де юридично та/або фізично знаходиться ваш сервер, може виникнути ризик, витоку даних, або втрати доступу до сервера разом зі збереженими на ньому даними. Хоча такі випадки радше поодинокі, але про це варто пам'ятати.

З мережевого погляду орендовані сервери являють собою різноманітні реалізації від різних провайдерів залежно від їхніх можливостей : деякі можуть навіть не надавати додаткових мережевих інтерфейсів (портів), тоді як інші готові навіть ваш комутатор у власну стійку встановити.

АЛЕ, якщо вам колись знадобиться з'єднати 2+ серверів в одну L2 мережу, вам слід  заздалегідь продумати як краще це зробити, оскільки в гіршому випадку вам доведеться розгортати L2 VPN на сервері, який споживатиме частину ресурсів.

Оренда сервера буде оптимальним варіантом, якщо у вас є чітке розуміння ваших потреб, та обсягу необхідних серверних потужностей, а також наявні людські ресурси для адміністрування сервера і ви не хочете витрачати кошти на інші варіанти (або якщо сервер вам потрібен лише на певний час).

Доволі часто у деякі провайдери надають можливість орендувати ліцензії ПЗ, наприклад Windows Server, або MS SQL Server. Так само при оренді сервера треба врахувати геополітичні обставини, наприклад банк вашої країни може обмежити валютні операції, вам треба бути готовими до подібних сценаріїв (хоча б розробити план дій).

Придбання сервера

Придбання сервера істотно відрізняється від всіх інших опцій значно більшою стартовою ціною (ви відразу сплачуєте за апаратну частину сервера та ліцензії ПЗ). Звісно спочатку можна купити сервер з мінімальною комплектацією (наприклад лише з частиною RAM або дисків) і за потреби докуповувати компоненти. Однак зазвичай сервер одразу купують вже в потрібній конфігурації, включно з ліцензіями на програмне забезпечення.

Також ви можете спробувати домовитись про  придбання сервера чи серверів з розтермінуванням платежів (розстрочка або кредит), що може суттєво полегшити  навантаження від цієї покупки на ваш бюджет.

Але потім підтримка життєвого циклу сервера вартує лише часу IT відділу, електрики, підтримки локальної мережі, Інтернет-з'єднання, та вартості технічного обслуговування сервера у випадку виникнення несправностей.

Основними перевагами придбаного серверу є:

  • Сервер належить вам, ви маєте повний контроль та можете розміщувати на ньому що вам завгодно і як завгодно.
  • Можливість повного налаштування сервера під ваші потреби та вибору необхідного устаткування.
  • Придбаний сервер за умови наявности власної серверної  може працювати навіть без Інтернет-з'єднання  (якщо сервіс розміщений на ньому локальний), і при перебоях з електропостачанням (за наявности акумуляторів та генератору). Інші варіанти вимагають щонайменше сталого підключення до мережі Інтернет.

Основними недоліками придбаного серверу є:

  • Вам необхідно купувати (а не орендувати) усе необхідне устаткування та програмне забезпечення для сервера, що призведе до значних витрат перш ніж сервер зможе почати роботу.
  • Потреба у самостійному обслуговуванні сервера та супутньої інфраструктури (живлення, локальна мережа, Інтернет-з’єднання тощо).
  • Відповідальність за безпеку сервера повністю лежатиме на вас, тож ви самі маєте подбати про його безпеку.

З мережевого погляду те саме, ви самі маєте дбати про свою мережеву інфраструктуру, але в цьому випадку, ви можете її створити будь-якою, в залежності від того, що вам потрібно. Наприклад ви можете додати до свого сервера додаткову мережеву картку і з легкістю перетворити його на маршрутизатор. Або за наявності двох серверів  з додатковими мережевими картками, ви можете налаштувати відмовостійкий маршрутизатор.

Якщо ви вже маєте власну серверну кімнату та можете забезпечити сервер необхідною інфраструктурою, такою як електропостачання та доступ до Інтернету, особливо якщо вам важливі локальні (не публічні) сервіси, то придбання сервера стане для вас оптимальним варіантом. Але варто пам’ятати, що при цьому треба забезпечити обслуговування сервера, включно із заміною несправного обладнання в режимі 24/7 або відповідно до SLA.

В деяких випадках можна орендувати фізичний сервер як майно, хоча це доволі рідкісна практика. Зазвичай вартість оренди складає 10% від повної вартості сервера, плюс застава у повну вартість сервера.

Якщо у вас нема власної серверної, або розміщення сервера у власних приміщеннях небажане (відсутнє вільне місце, нема гарантованого каналу зв'язку або надійного електропостачання тощо), ви можете скористатися послугами колокації (англ. colocation), тобто орендою частини серверної стійки, шафи, або й цілої зали в дата-центрі.

Хмара

Хмарний підхід є найгнучкішим, але водночас і найдорожчим з усіх варіантів організації комп'ютерної інфраструктури. Завдяки своїй гнучкості, хмарна інфраструктура чудово підходить для процесів з мінливим або епізодичним навантаженням (магазини під час акцій, 3D студії під час рендерів тощо).

Якщо у вас є будь-який процес який періодично або разово потребує значних обчислювальних потужностей — хмарне рішення підійде ідеально, ви можете легко замовити ресурси коли вони вам потрібні, і так само легко видалити або зупинити їх коли вони вже вам не потрібні сплативши лише за використані потужності лише коли вони були потрібні. Тобто якщо віртуальна машина працювала лише 3 години, вам потрібно буде сплатити лише за цей період, на відміну від “традиційних” рішень, коли ви сплачуєте одразу за місяць надання сервісу.

Наприклад, якщо вам треба протестувати якусь теорію або продукт (скажімо нову версію ПЗ), краще замовити ресурси в хмарі, потестувати пару годин, зупинити ресурси (коли ресурс зупинений, зазвичай ви сплачуєте лише за зберігання даних), відновити на наступний день, видалити через день і сплатити копійки відносно інших варіантів (оренди або купівлі сервера).

Основна і єдина перевага хмари — надзвичайна гнучкість майже в усіх аспектах, аби були гроші 😊

Створити 10 віртуальних машин — легко, додати 10 мережевих інтерфейсів з якимись дуже дивними зовнішніми IP та правилами firewall-у — легко, додати віртуальній машині 10 різних дисків з різним потрібним рівнем швидкості — максимально легко.

Однак за гнучкість треба платити, і платити багато (найпростіші віртуальні машини легко можуть коштувати від 50 до 100 доларів на місяць). А ще хмара не швидка, дуже не швидка.

Щоб розуміти наскільки хмара повільна, приведу невеличку порівняльну таблицю між схожим диском в хмарі (Azure) та фізичним накопичувачем Intel DC P3600 (які на момент написання статті можна недорого придбати у вживаному варіанті)

Характеристика

Azure Premium SSD P30

Intel DC P3600

Дисковий простір 

1 ТБ

1.6 ТБ

Вартість

235$ на місяць

3200$ за новий

Максимальна швидкість

250 МБ/с (пік до 1 000 МБ/c)

1 200 МБ/с

Максимальна кількість операцій на секунду (IOPS)

7 500 (пік до 30 000)

50 000+

Витривалість/гарантія

∞ (SLA: 90-99.5%)

3.0 DWPD (5+ років)

SLA (англ. Service-level agreement) — це угода про рівень обслуговування, що визначає, скільки відсотків часу буде надаватися сервіс із зазначеними характеристиками. В інші проміжки часу, сервіс може демонструвати нижчі показники продуктивності або не працювати взагалі.

DWDP (англ. Drive Writes Per Day) — це максимальна кількість повних перезаписів диска на день, яка дозволить залишатись у межах гарантійного обслуговування. (SSD диски обмежені за обсягом даних, які можна на них записати)

Гібридний підхід

Існує ще один компромісний підхід, коли з різних умов не можна розміщувати усі ресурси в хмарі (безпекові тощо), але існує необхідність в великій кількості тимчасових ресурсів — гібридний підхід, коли частина ресурсів фізично в серверній або в орендованих серверах, а частина (під динамічні навантаження) у хмарі.

Прикладами використання такого підходу можуть слугувати інтернет-магазин, аналітика великої кількості даних, SaaS компанія, сайт новин, тестові середовища для розробки ПЗ та інше.

Так можна задовольнити іноді дуже вибагливі вимоги які неминуче виникають у великих компаніях, такі як, наприклад: “розміщення даних клієнтів виключно в закритому мережевому контурі”.

Але, при гібридному підході, вимоги до кваліфікації співробітників IT служби значно збільшуються, оскільки треба одночасно керувати як фізичною інфраструктурою, так і хмарною, а ще додатково налаштувати процеси динамічного масштабування, якщо такі є або плануються.

Висновок

Вибір найкращого варіанту це не найпростіше завдання, він залежатиме від типу вашої компанії, поставлених цілей, ймовірних майбутніх потреб та ще багатьох факторів. Щоб хоч якось полегшити вибір, я створив невеличку діаграму, яка допомогла мені, і може стати вам в пригоді:

Ніхто не забороняє вам поєднувати різні підходи. Можна придбати власні сервери, а також мати кілька орендованих та активно користуватися хмарою, все залежить виключно від ваших компетенцій та бюджету.

Якщо у вас виникли питання або ви бажаєте залишити коментар, прошу вас доєднатись до нашого каналу та чату блогу в телеграмі.

Якщо у вас є якісь коментарі або запитання, не соромтесь - пишіть у чат








Підписатися на Блог Олександра Шевченко

Ви можете підписатися на нові пости, щоб швидше дізнаватися про останні публікації.
[email protected]
Підписатися