Колись існувала мантра про те, що програмісти значно дорожчі за залізо, і не треба думати про залізо. Але в якийсь момент, особливо для бізнесів, де багато безоплатного навантаження (наприклад, для Твіттера) — це стає болісно. І от один екс-твіп (tweep — так кличуть себе працівники Твіттера) пише, чому ж вони сиділи на власному залізі: бо потреби Твіттера у 500 тисяч серверів виходить занадто дорого навіть з величезними знижками! Типу 300 мільйонів доларів на місяць.
Їх співробітники обходяться дешевше! 7 тисяч людей з медіаною в 150к (візьмемо із запасом) — це мілліард на рік, а клауд тоді виходить в 3.6 млрд на рік!
Так от, мене якось дуже вразила кількість у 500 тисяч серверів, і я пішов копатися. Наче у 2 кварталі 22 року DAU (це daily active users) у Твіттера було 237 млн людей. Це виходить всього лише 500 людей на сервер?!
Так-так, я розумію, що там не тільки сервера, які обслуговують людей, це і всілякі сховища даних, аналітичні приблуди, он там чувак згадує кластер Presto на 1000 нод.
Але в Касті — вибачте, не буду розкривати цифри, бо вони вже якби не мої — ефективність виходить приблизно в 30 раз вище. Навіть якщо я помиляюся з оцінками кількості серверів, то це в 10-20 разів більше народу на 1 сервер. Це теж включно з усілякими серверами для аналітики, еластіксьорчі для пошуку і для логів (окремо) тощо.
Але є ще цікаві моменти:
- Так, Каста технічно — непогана, але не неймовірна: мені здається, що за останні 3 роки сервіс сповільнився десь у 2-3 рази. Стало більше можливостей, коду, даних, десь якісь оптимізації провтикалися. Я думаю що за 2-3 місяці сфокусованої роботи (і може переходу на веспу ггг) можна було б повернути частково.
- Сервери Касти — це типу 4-8 ядер і 64-128 Гб оперативки.
m6dg.12xlarge
, яких треба 500 тищ — це 48 ядер і 192 Гб оперативки. Просто інший рівень взагалі. - Що складніше, Каста чи Твіттер? Мені здається, що при інших рівних 1 користувач єкомерса створює більше навантаження. Тим чесніше це порівняння.
Тобто реальна різниця між тим що є і тим що має бути мінімум два порядки. Що робили всі ті тисячі програмістів?.. Невже ніхто не хотів зекономити грошей на чергову тисячу додаткових програмістів (насправді не тисячу, а 20 тисяч?) — і отримати якийсь цікавий бонус у процесі?
Ден Луу написав тред, який же Твіттер технологічно офігенний. Але мені здається, що ця метрика, хоч і недосконала, але при такій різниці це вже показник. А інженери у Твіттері просто розважалися, а не робили щось корисне. Фу на них.