€27 на місяць проти Concorde: чому «доросла» інфраструктура вбиває 74% стартапів, а нудна друкує гроші
Моя інфраструктура — 11 контейнерів, 6 продуктів, €27/місяць, стек як у 2014-му. І це не сором, а перевага. Anti-hype розтин: Брукс, WhatsApp, Amazon, 37signals і 74% мертвих стартапів проти «архітектора-астронавта», який будує не твій продукт, а власне резюме коштом твого ранвею.
У цій публікації
- Найкрасивіший літак в історії вбили порожні крісла
- Архітектор-астронавт і його співчутлива посмішка
- Брукс уже все сказав у 1986-му, поки ми вдавали, що не чули
- Десять інженерів, пів планети, нудний стек
- Навіть Amazon публічно відкотився на нудне — і це нормально
- Понти корелюють зі смертю, а не з нейтральністю
- FinOps-парадокс: ажіотаж не здешевлює інфру, він робить марнування підпискою
- У тебе всього три жетони. Не витрачай їх на сантехніку
- І ще: 64% твоїх фіч ніхто ніколи не відкриє
- Інструмент: матриця «жетон чи борг»
- Хто справді тримає океан
- Джерела
Concorde возив сто пасажирів і спалював удвічі більше пального за Boeing 747, що тягнув учетверо більше людей. Наприкінці квиток коштував близько $12 000 за одне тіло. Його зняли не тому, що він перестав літати, — а тому, що він був конвертером пального в престиж. Твій Kubernetes для двохсот користувачів — це той самий літак.
Найкрасивіший літак в історії вбили порожні крісла
24 жовтня 2003 року, Хітроу. Літак із опущеним носом — Concorde, борт British Airways — вирулює на смугу востаннє. Над терміналом збираються люди, дехто плаче. Цей апарат розганявся вдвічі швидше за звук; гул його двигунів свого часу чули обидва береги Атлантики. Інженерний шедевр. І за дві години він замовкне назавжди.
Concorde возив сто пасажирів і спалював приблизно вдвічі більше пального за Boeing 747 — який тягнув вчетверо більше людей. Наприкінці квиток Лондон–Нью-Йорк туди-назад коштував близько $12 000, щоб перемістити одне тіло на ту саму відстань, яку економклас 747 долав за кількасот доларів. Concorde зняли з рейсів не тому, що він перестав літати. Його зняли тому, що він був конвертером пального в престиж: машиною, яка ідеально вирішувала задачу, якої ніхто не ставив, — як долетіти швидко й розоритися красиво.
Я тримаю цю картинку в голові щоразу, коли відкриваю рахунок за свою інфраструктуру. Він на €27 на місяць. Шість продуктів. Одинадцять Docker-контейнерів на одному орендованому сервері, який коштує менше за дві піци. Стек виглядає так, ніби я зупинився десь у 2014-му й відмовився рухатися далі: Postgres, Redis, кілька монолітів на нудних фреймворках, Caddy спереду, бекапи по крону. Жодного Kubernetes. Жодного service mesh. Жодної черги повідомлень, яку я завів би, щоб про неї згадати в резюме.
І мені регулярно кажуть, що так не можна.
Ця розмова не нова. Але у 2024–2025-му вона стала іншою — не за тоном, а за ставками. Гонка GPU-кластерів, ChatGPT як референс-точка для будь-якого пітчу, хайперскейлери зі звітами про рекордну виручку — всі ці сигнали зліпили нову норму: якщо твоя інфра «не схожа на AI-компанію», тебе не сприймають серйозно. Одночасно постзиртовий FinOps-рух почав публічно рахувати, скільки коштувала ця норма попередні п’ять років. Відповідь виявилася незручною. Тиск «будь схожий на хмарного гіганта» не зник — він загострився. Але тепер із ним конкурує зустрічний тиск: рахунки, які треба платити у світі, де нульових ставок більше нема й безкоштовних грошей на «красиву архітектуру» теж.
Архітектор-астронавт і його співчутлива посмішка
У мене є антагоніст. Він не лиходій — він гірше, він приємний. Назвемо його Архітектором-астронавтом: старший інженер у худі, який на код-рев’ю мого MVP на двісті користувачів дивиться на діаграму, трохи нахиляє голову і каже з легким співчуттям: «А це у вас не заскейлиться».
Він ніколи — жодного разу за всю кар’єру — не спитав, скільки користувачів треба заскейлити. Число його не цікавить, бо число зруйнувало б виставу. Натомість він бере маркер і малює service mesh, Kafka і три Kubernetes-кластери для застосунку, що по суті є списком справ із кнопкою «зберегти». Він будує не мій продукт. Він будує своє резюме для наступної співбесіди в FAANG — резюме, за яке плачу я. Це тендер, де переможець уже сидить у комісії, а в кошторисі переможця окремим рядком стоїть моя компанія.
І ось моя особиста ставка, яку я викладаю рано, бо без неї цей текст — лекція, а я не маю права читати лекцій. О другій ночі Архітектор-астронавт перестає бути зовнішнім. Він залазить мені в голову й говорить моїм голосом: «Справжні інженери так не роблять. Подивись на свій стек. Це соромно. Це 2014-й. Дорослі компанії так не запускаються». І поки цей голос шепоче, €27/міс інфраструктура мовчки обслуговує реальних клієнтів, які платять реальні гроші на реальний рахунок. Голос красивий. Рахунок — справжній. Це і є весь конфлікт есею в одному реченні.
Тому далі — не виправдання. Це розтин. Я хочу показати, з чого зроблений цей сором і чому він — найдорожча емоція в інженерії: єдина, за яку тобі виставляють рахунок щомісяця, а ти ще й дякуєш.
Брукс уже все сказав у 1986-му, поки ми вдавали, що не чули
Фред Брукс, есе «No Silver Bullet», 1986 рік. Людина, яка керувала розробкою IBM System/360 і написала «Міфічний людино-місяць», розрізає складність софту навпіл. Є essential complexity — сама задача, незводима, важка по своїй суті: змусити продукт робити те, що потрібно людині. І є accidental complexity — безлад, який інженери винаходять самі: тулчейни, шари абстракцій, оркестрація оркестраторів. Брукс попереджає: жоден окремий інструмент не дасть навіть десятикратного виграшу, бо вся важкість сидить в есенції, а не в обв’язці.
Перечитайте це й подивіться на сучасну «інфру» новими очима. Більша її частина — accidental complexity, продана як essential. Тобі кажуть, що без сервісної сітки ти не виживеш, ніби сервісна сітка — це закон фізики твоєї предметної області, а не пластир на проблему, яку ти сам собі створив, розрізавши моноліт на шістнадцять шматків, кожен з яких тепер мусить якось знайти решту п’ятнадцять.
Мій стек на €27 — це не примітивізм. Це essential complexity з ампутованим accidental-шаром. Я не зекономив на задачі. Я зекономив на самопридуманому болю. Різниця між цими двома реченнями — вся книга.
І ось чорний жарт, захований у самій структурі цієї ампутації: кожен сервіс, який ти не підняв, — це інцидент, якого не буде о третій ночі. Найнадійніший компонент розподіленої системи — той, що його не існує. Архітектор-астронавт продає тобі вісім дев’яток надійності на кожному вузлі; я обираю одну дев’ятку на нулі вузлів, і вона ніколи мене не будить.
Десять інженерів, пів планети, нудний стек
Якщо есенція справді важка, а обв’язка — самонавіяна, то десь має існувати екстремальний доказ. Він існує, і його звати WhatsApp.
2014 рік. Серверна, тюнінгований FreeBSD. Жменя інженерів на Erlang — мова, придумана для телефонних станцій ще у 80-х, яку ваш знайомий джун списав би в утиль як «дідову», — тримає 465 мільйонів місячних користувачів і близько 147 мільйонів одночасних з’єднань. Одна коробка несе приблизно два мільйони відкритих TCP-з’єднань. Уся компанія — кількадесят людей; на самій Erlang-системі, що тягне і розробку, і експлуатацію, — за різними оцінками близько десятка інженерів. У лютому 2014-го Facebook купує це за ~$19 млрд.
Порахуйте співвідношення самі: сотні мільйонів людей на команду, яка вмістилася б у мікроавтобус. А тепер згадайте останній стартап, який ви бачили, де п’ятдесят інженерів героїчно падали на десяти тисячах користувачів, бо їхній Kubernetes мав поганий настрій. WhatsApp обрав нудне, щільне, в пам’яті. Сусіди обрали модне, розподілене й розпорошене. Вгадайте, хто з них спав ночами, а хто на тих ночах будував собі резюме й роздавав пейджеру права будити себе.
Це не поодинокий випадок. Instagram продали Facebook за $1 млрд у квітні 2012-го: тринадцятеро людей, з них шестеро інженерів, на досить простому стеку AWS / Django / Postgres. Оцінка-на-інженера була абсурдною саме тому, що вони не переінженерили. Тонка команда плюс нудний стек раз за разом видає мільярдні результати — це не виняток, це патерн, який індустрія старанно не помічає, бо він не продає квитків на конференції.
Але тут ворожий читач має право вступити з найсильнішим запереченням, і я його не обходитиму. WhatsApp і Instagram — це вершина піраміди виживших. Більшість стартапів із lean-інфрою теж померли — не від переінженерингу, а від того, що не знайшли продукт, не вийшли на ринок, не залучили достатньо грошей. Ніхто не пише post-mortem: «Ми провалилися, бо у нас були лише одинадцять контейнерів». Простий стек не є магічним рецептом виживання. І це правда, яку я зобов’язаний назвати. Але ось що це заперечення не пояснює: переінженерована інфра не врятувала жодного з тих, хто не знайшов product-market fit, — вона лише додала ще одну причину смерті поверх першої. Lean-стек не гарантує виживання. Складний стек майже гарантує, що ти витратиш останні гроші й останній місяць ранвею на Kafka-кластер замість на розмову з клієнтом. Різниця між ними — не у відсотку виживання, а в тому, від чого помираєш і наскільки швидко.
Навіть Amazon публічно відкотився на нудне — і це нормально
Березень 2023-го, команда Video Quality Analysis всередині Amazon Prime Video. Вони дивляться на рахунок за свою розподілену serverless-машину — AWS Step Functions диригує лямбдами, а кадри відео мотаються туди-сюди через S3, і кожне таке перекидання — платний дзвінок. Гарна архітектура зі слайдів. Дорога архітектура з рахунку. І вони ухвалюють рішення, яке у певних колах вважається єрессю: згортають усе назад в один моноліт, що крутиться в межах одного процесу. Результат — зниження інфраструктурних витрат більш ніж на 90%.
Вдумайтесь у геометрію цього сорому: компанія, яка продає світу serverless як майбутнє, тихо вимикає його у себе вдома, бо власний прайс-лист виявився надто переконливим. Це як шеф-кухар, що не їсть у власному ресторані. Але далі я мушу сам встромити собі скальпель, поки цього не зробив ворожий читач. Цю цифру обожнюють цитувати неправильно. Консультант із мікросервісів Сем Ньюмен одразу зауважив: насправді це історія про цінові моделі функцій проти довгоживучих ВМ, із «вузьким діапазоном застосовності». Це був перехід serverless → моноліт, а не класичні мікросервіси → моноліт. Тобто 90% — реальні, але вони не доводять, що «мікросервіси — зло». Вони доводять вужче й цінніше: коли архітектура з модних слайдів зустрічається з рахунком, рахунок завжди виграє суперечку. Навіть в Amazon. І відкотитися на нудне — це не поразка, це дорослість.
Я навмисне подаю цей факт із застереженням, бо моя теза не «складне погане, просте святе». Моя теза в тому, що складність має бути зароблена навантаженням, а не виписана собі авансом під майбутнє, яке з імовірністю 74% не настане. До цих 74% ми зараз і дійдемо.
Понти корелюють зі смертю, а не з нейтральністю
Ось факт, який перетворює всю розмову з естетичної на клінічну. Startup Genome дослідив понад 3 200 високоростових технологічних стартапів. Серед тих, що загинули, 74% померли від передчасного масштабування — переінвестування в команду, витрати або технології до того, як знайшли product-market fit. Жоден стартап, що масштабувався передчасно, не перетнув позначку в 100 000 користувачів. А ті, хто тримав темп, росли приблизно у 20 разів швидше за поспішних.
Перечитайте найголовніше: 74%. Не брак візії. Не злий ринок. Не конкурент із більшим бюджетом. Механічна причина смерті номер один — побудувати завелике зарано. А переінженерена інфраструктура — це передчасне масштабування, яке вдягло інженерський худі й видає себе за технічну зрілість. Service mesh для двохсот користувачів — це не запас міцності. Це петля, яку ти сам собі плетеш, поки голос о другій ночі каже, що ти нарешті робиш «по-дорослому».
Фенсі-інфра — не нейтральна. Вона активно корелює зі смертю стартапу, а не з його виживанням.
Це той цвях, заради якого писався весь текст. Архітектор-астронавт продає тобі складність як страховку. Дані кажуть, що ти купуєш отруту в упаковці вітаміна. І найгірший чорний жарт у цьому розтині: ти заплатиш за неї двічі — спершу часом і грошима на побудову, а потім — самою компанією, коли вона помре від того, що ти героїчно готував її до навантаження, яке так і не прийшло. Це єдина страховка у світі, яка вбиває рівно той об’єкт, що його застрахувала.
FinOps-парадокс: ажіотаж не здешевлює інфру, він робить марнування підпискою
«Але хмара ж оптимізується», — скаже оптиміст. Ні. За звітами Flexera State of the Cloud, марнування хмарного бюджету вперто тримається на рівні приблизно 27–32% щороку з 2019-го. Організації самі оцінюють, що десь третину витрат на хмару викидають намарно; 84% називають керування хмарними витратами своїм головним болем.
Вдумайтеся в стабільність цієї цифри. Десятиліття конференцій про FinOps, армія дашбордів, ціла нова професія «інженер з оптимізації витрат» — а маржа марнування не зрушила. Це не баг індустрії. Це її бізнес-модель. Ажіотаж не робить інфру дешевшою. Ажіотаж робить марнування підпискою, що автоматично поновлюється щороку, і виставляє тобі рахунок за привілей вірити, що цього року ти нарешті її приборкаєш. Третина грошей горить у фоні так само рівно, як працює мій Postgres, — тільки Postgres хоча б за це нічого не бере.
А тепер протилежний полюс. 37signals (Basecamp, HEY) у 2022-му виявили річний рахунок за AWS понад $3,2 млн. Купили серверів Dell приблизно на $600–700 тис., з’їхали з хмари — і річний рахунок упав до ~$1,3 млн. Економія близько $2 млн на рік; залізо окупилося менш ніж за вісімнадцять місяців; п’ятирічну економію тепер прогнозують понад $10 млн. «Сучасний» дефолт виявився дорогим варіантом. «Старий» — володіти своїми коробками — виявився розумним. Anti-hype, конвертований у два мільйони доларів щороку.
У тебе всього три жетони. Не витрачай їх на сантехніку
Чому ж ми все одно купуємося? Ден Мак-Кінлі, есе «Choose Boring Technology», 2015. Його модель проста до жорстокості: уяви, що в кожної компанії є приблизно три «жетони інновацій». Один жетон — на модну базу даних. Один — на екзотичну чергу. Один — на блискучий оркестратор. І все, бюджет вичерпано — ти спалив усі три на сантехніку, а на продукт, який реально відрізняє тебе від конкурента, не лишилося жодного.
Нудна технологія виграє не тому, що вона краща сама по собі. Вона виграє тому, що її режими відмови вже відомі. Коли Postgres ламається, ти за тридцять секунд знаходиш відповідь, яку до тебе знайшли мільйони. Коли ламається твій модний розподілений граф-движок версії 0.7, ти знаходиш на GitHub один issue — відкритий тобою ж, без відповідей, — і о третій ночі під ним з’являється сам мейнтейнер, щоб написати: «дивно, у нас такого не відтворюється». Це і вся твоя цілодобова підтримка: незнайомець, якому теж цікаво, чому воно горить.
Одинадцять контейнерів нудного б’ють три контейнери екзотики. Податок на ажіотаж платиться тими самими жетонами, які були потрібні на твій справжній бізнес, — і платиться вперед, готівкою, ще до того, як з’явився перший клієнт, заради якого ти нібито все це затівав.
І ще: 64% твоїх фіч ніхто ніколи не відкриє
Сюди ж — продуктовий бік. Сумнозвісна цифра Standish: 64% фіч у софті «майже або ніколи не використовуються» (7% завжди, 13% часто, 16% іноді). Користуватися нею треба зі скальпелем, а не з кувалдою: вона тягнеться до доповіді Джима Джонсона на конференції XP 2002 і базована лише на чотирьох внутрішніх застосунках, без рецензування. Тож точні «64%» позначаю як фольклор. Але напрям підтверджує значно більша вибірка: Pendo на сотнях клієнтів отримав ~80% фіч, що майже або ніколи не використовуються (56% «рідко» + 24% «ніколи»).
Якщо це правда про фічі, це правда й про сервіси твоєї інфри. Більшість компонентів, які тобі радять підняти «про всяк випадок», — це порожні крісла Concorde. Вони гарно виглядають у схемі польоту й не везуть жодного пасажира — зате справно з’їдають пальне, бо порожнє крісло теж має вагу. Кожен контейнер, який ти не запустив, — це не дірка в архітектурі. Це баг, якого не буде о третій ночі, і рахунок, який не прийде в кінці місяця.
Інструмент: матриця «жетон чи борг»
Досить філософії — ось скальпель тобі в руки. Перед тим як додати будь-який модний компонент, прожени його через цю таблицю. Якщо рядок падає в праву колонку — ти будуєш Concorde.
| Питання до компонента | Зелене світло (essential) | Червоне світло (accidental / понт) |
|---|---|---|
| Хто страждає сьогодні без нього? | Реальний платний користувач, з обличчям і тикетом | «Гіпотетичний мільйон користувачів» у майбутньому |
| Скільки жетонів інновацій він з’їдає? | Нуль — це нудно й перевірено роками | Цілий жетон на блиск, якого нема в продукті |
| Чи знаю я його режими відмови? | Так; гуглиться за 30 секунд, мільйон відповідей | Ні; дізнаюся вперше о 3:00 ночі наживо |
| Чий рахунок він роздуває? | Майже нічого понад те, що вже є | Окрема рядкова стаття в інвойсі щомісяця |
| Чиє резюме він насправді прикрашає? | Нічиє — він просто працює і мовчить | Архітектора-астронавта на наступній співбесіді |
| Що станеться, якщо не додавати? | Нічого; продукт працює, клієнт платить | «Нічого» — і це найстрашніша відповідь для понта |
Правило одне: якщо чесна відповідь на «що станеться, якщо не додавати» — «нічого», то нічого і не додавай. Найдешевша інфраструктура — та, яку ти мав мужність не побудувати.
Перш ніж перейти до фіналу, варто назвати, хто не хоче, щоб ця матриця існувала. AWS заробляє на надлишково виділених workloads: чим більше резервованих інстансів, тим вища операційна маржа. Старший архітектор нарощує вагу свого CV кожним рядком «Kubernetes» або «Event-driven architecture» — і ця вага не залежить від того, чи потрібна вона була в тому конкретному проєкті. Консалтинг виставляє рахунок за складність: проста система оплачується одним тижнем, «правильна архітектура» — кількома місяцями. Усі троє зацікавлені, щоб рядок у матриці «чиє резюме він прикрашає» залишався невидимим. Хто платить? Фаундер із ранвеєм на дев’ять місяців, underfunded команда, яка наймає старшого інженера і чемно слухає, як той малює їй Concorde на дошці — і ввічливо не питає, скільки квитків продано.
Хто справді тримає океан
Контр-фігура моєму Архітекторові-астронавту — Пітер Лівелс. Він тримає портфоліо продуктів, яке, за його власними словами, дає близько $3 млн на рік, соло, з нуля найманих, на ванільному PHP, jQuery та SQLite, з одного VPS. RemoteOK, як кажуть, недалеко від одного-єдиного index.php. Дохід тут — заявлений самим засновником, не аудований, тож долари беріть з осторогою; а от стек задокументований добре, і це той самий стек, який старший інженер рознесе на код-рев’ю. Стек, з якого сміються на конференціях, друкує гроші, поки доповідь про правильну архітектуру ще йде.
Повертаюся туди, звідки почав, — на смугу Хітроу. Поки Concorde вирулював на свій останній рейс під сльози фотографів, поруч, на сусідніх смугах, нудні, негарні, дозвукові лоукости злітали один за одним і везли всіх реальних пасажирів — тих, кому треба було просто долетіти, а не сфотографувати опущений ніс. Концорд отримав овації. Лоукости отримали виручку.
Твоя інфраструктура на Kubernetes з шістьма чергами й сервісною сіткою для п’ятисот користувачів — це Concorde. Вона прекрасна. Вона надзвукова. І вона возить порожні крісла над океаном, поки сусід на одинадцяти контейнерах за €27/міс перевозить усіх, хто платить, і заробляє.
А голос о другій ночі, який шепоче «справжні інженери так не роблять»? Тепер я знаю, як його звати й чого він хоче. Він хоче, щоб я збудував красивий мертвий літак і назвав це зрілістю. Він — не моя совість. Він — внутрішній відділ кадрів Архітектора-астронавта, який намагається найняти мене на роботу, де я сам собі і роботодавець, і збиток, і той єдиний пасажир у порожньому салоні.
Мій стек виглядає як 2014-й. Він возить пасажирів. І коли наступного разу хтось схилить голову й скаже «це у вас не заскейлиться» — я спитаю те єдине питання, якого Архітектор-астронавт боїться найбільше: «До скількох?» Бо в тиші після цього питання чути, як падають порожні крісла.
Питання та відповіді
Чи справді дешева інфраструктура на 11 контейнерах за €27/місяць — це нормально для бізнесу?
Так, якщо вона обслуговує реальне навантаження. WhatsApp тримав 465 млн користувачів силами близько десятка інженерів на нудному стеку; Instagram продали за $1 млрд при 13 людях. Складність має бути зароблена навантаженням, а не виписана собі авансом. €27/місяць на 6 продуктів — це essential complexity з ампутованим accidental-шаром, а не примітивізм.
Що таке «передчасне масштабування» і чому воно вбиває стартапи?
За дослідженням Startup Genome (3 200+ стартапів), 74% мертвих стартапів загинули від передчасного масштабування — переінвестування в команду, витрати чи технології до того, як знайшли product-market fit. Жоден, хто масштабувався зарано, не перетнув 100 000 користувачів. Фенсі-інфра — це передчасне масштабування у вітамінній упаковці.
Хто такий «архітектор-астронавт»?
Метафора старшого інженера, який на MVP для 200 користувачів малює service mesh, Kafka і три Kubernetes-кластери — і жодного разу не питає, скільки користувачів треба заскейлити. Він будує не твій продукт, а власне резюме для наступної співбесіди в FAANG — резюме, за яке платиш ти своїм ранвеєм.
Чи правда, що Amazon відмовився від мікросервісів на користь моноліту?
Частково. У 2023-му команда Prime Video Video Quality Analysis згорнула розподілену serverless-машину в моноліт і знизила інфра-витрати на 90%. Але це був перехід serverless → моноліт з вузькою застосовністю, а не доказ, що «мікросервіси — зло». Урок вужчий і цінніший: коли архітектура з модних слайдів зустрічає рахунок, рахунок виграє суперечку.
Як вирішити, чи потрібен новий модний компонент в інфраструктурі?
Прожени його через матрицю «жетон чи борг»: хто страждає сьогодні без нього (реальний платний користувач чи гіпотетичний мільйон)? Скільки жетонів інновацій він з'їдає? Чи знаю я його режими відмови? Чий рахунок він роздуває? Чиє резюме прикрашає? Якщо чесна відповідь на «що станеться, якщо не додавати» — «нічого», не додавай.
Коментарі
Лише для залогінених читачів — щоб лишалось людським, а не болотом ботів.