Пару лет назад я был убеждённым сторонником подписок. Мне казалось, что платить двадцать-тридцать долларов в месяц за готовый сервис — это вершина здравого смысла: никаких серверов, никаких обновлений в три часа ночи, никакого дежурства. Всё сломалось в тот момент, когда я открыл годовую выписку по корпоративной карте и увидел, что мы отдаём за подписки сумму, сопоставимую с зарплатой младшего разработчика. При этом половиной сервисов команда пользовалась от силы раз в неделю.
Наш стек тогда выглядел типично: трекер задач, облачный CI для сборок, мониторинг с алертами, файловое хранилище для артефактов и отдельная панель для аналитики. Каждый из инструментов сам по себе стоил смешные деньги, но тарифы почти везде зависят от числа активных пользователей, объёма хранилища или количества минут сборки. А поскольку мы росли, к концу года сумма выросла примерно вдвое просто из-за того, что нас стало больше. Заметьте, качество сервисов при этом не изменилось ни на грамм.
Тогда я сел и посчитал по-честному. Взял виртуальную машину у хостера за фиксированную цену, прикинул диски, резервные копии, трафик — и получил сумму, которая не меняется от того, сколько человек добавится в команду. Разница оказалась в разы, и она копится годами. Но главное было даже не в деньгах, а в предсказуемости: self-hosted не выставляет счёт за внезапный рост нагрузки и не переводит нас на новый тариф посреди спринта.
При этом я не буду врать, что переезд был бесплатным. Самая дорогая статья расходов в self-hosted — это не железо, а время. Нужно настроить резервное копирование и хотя бы раз восстановиться из бэкапа, а не просто увериться, что скрипт запускается. Нужно следить за обновлениями безопасности, читать changelog перед мажорной версией, держать мониторинг за мониторингом, потому что упавший мониторинг молчит и кажется, что всё хорошо. И где-то должен быть человек, который ответит, если сервис ляжет в субботу. Если такого человека нет и не планируется, self-hosted почти наверняка окажется дороже подписки, пусть и не в деньгах, а в нервах.
За годы я выработал простое правило, которым и делюсь. Если нагрузка стабильная и предсказуемая, команда больше пяти человек, данные чувствительные или нужна доработка под себя — считайте self-hosted, там вы почти всегда выиграете на дистанции двух-трёх лет. Если продукт молодой, требования меняются каждую неделю, нужен мгновенный запуск, готовые интеграции и договор об уровне сервиса перед инвесторами — берите SaaS и не мучайтесь. И ещё: подписка практически всегда выигрывает там, где задача для вас непрофильная. Платить за то, чтобы не думать, — это честная сделка, а не слабость.
Я остановился на гибриде и считаю его самым практичным решением. Критичные вещи — репозитории, CI, трекер задач, внутренние сервисы — живут у нас на своих машинах, потому что там объём и число пользователей стабильны, а данные не хочется отдавать наружу. Всё периферийное, что включается эпизодически, я оставил на подписках: платить за редкий инструмент проще, чем поднимать ради него инфраструктуру и потом её же обслуживать. Раз в квартал я пересматриваю список и спрашиваю себя, что изменилось.
Если вы стоите перед таким же выбором, вот что советую сделать прямо сегодня. Возьмите свои реальные платежи за последние двенадцать месяцев, а не за один месяц, и посмотрите на динамику — она обычно отрезвляет. Посчитайте стоимость сервера вместе с бэкапами и добавьте к ней честную оценку своего времени по вашей же часовой ставке. Если самохостинг всё равно дешевле и вы готовы дежурить, попробуйте перенести сначала один некритичный сервис и пожить с ним месяца три. И держите путь назад открытым: хорошая миграция — та, после которой вы можете вернуться на подписку без боли, если эксперимент не удался.
А теперь мне интересно послушать вас, коллеги. Что у вас сейчас крутится на собственных серверах, а за что вы спокойно платите подписку и не хотите об этом даже думать?
Наш стек тогда выглядел типично: трекер задач, облачный CI для сборок, мониторинг с алертами, файловое хранилище для артефактов и отдельная панель для аналитики. Каждый из инструментов сам по себе стоил смешные деньги, но тарифы почти везде зависят от числа активных пользователей, объёма хранилища или количества минут сборки. А поскольку мы росли, к концу года сумма выросла примерно вдвое просто из-за того, что нас стало больше. Заметьте, качество сервисов при этом не изменилось ни на грамм.
Тогда я сел и посчитал по-честному. Взял виртуальную машину у хостера за фиксированную цену, прикинул диски, резервные копии, трафик — и получил сумму, которая не меняется от того, сколько человек добавится в команду. Разница оказалась в разы, и она копится годами. Но главное было даже не в деньгах, а в предсказуемости: self-hosted не выставляет счёт за внезапный рост нагрузки и не переводит нас на новый тариф посреди спринта.
При этом я не буду врать, что переезд был бесплатным. Самая дорогая статья расходов в self-hosted — это не железо, а время. Нужно настроить резервное копирование и хотя бы раз восстановиться из бэкапа, а не просто увериться, что скрипт запускается. Нужно следить за обновлениями безопасности, читать changelog перед мажорной версией, держать мониторинг за мониторингом, потому что упавший мониторинг молчит и кажется, что всё хорошо. И где-то должен быть человек, который ответит, если сервис ляжет в субботу. Если такого человека нет и не планируется, self-hosted почти наверняка окажется дороже подписки, пусть и не в деньгах, а в нервах.
За годы я выработал простое правило, которым и делюсь. Если нагрузка стабильная и предсказуемая, команда больше пяти человек, данные чувствительные или нужна доработка под себя — считайте self-hosted, там вы почти всегда выиграете на дистанции двух-трёх лет. Если продукт молодой, требования меняются каждую неделю, нужен мгновенный запуск, готовые интеграции и договор об уровне сервиса перед инвесторами — берите SaaS и не мучайтесь. И ещё: подписка практически всегда выигрывает там, где задача для вас непрофильная. Платить за то, чтобы не думать, — это честная сделка, а не слабость.
Я остановился на гибриде и считаю его самым практичным решением. Критичные вещи — репозитории, CI, трекер задач, внутренние сервисы — живут у нас на своих машинах, потому что там объём и число пользователей стабильны, а данные не хочется отдавать наружу. Всё периферийное, что включается эпизодически, я оставил на подписках: платить за редкий инструмент проще, чем поднимать ради него инфраструктуру и потом её же обслуживать. Раз в квартал я пересматриваю список и спрашиваю себя, что изменилось.
Если вы стоите перед таким же выбором, вот что советую сделать прямо сегодня. Возьмите свои реальные платежи за последние двенадцать месяцев, а не за один месяц, и посмотрите на динамику — она обычно отрезвляет. Посчитайте стоимость сервера вместе с бэкапами и добавьте к ней честную оценку своего времени по вашей же часовой ставке. Если самохостинг всё равно дешевле и вы готовы дежурить, попробуйте перенести сначала один некритичный сервис и пожить с ним месяца три. И держите путь назад открытым: хорошая миграция — та, после которой вы можете вернуться на подписку без боли, если эксперимент не удался.
А теперь мне интересно послушать вас, коллеги. Что у вас сейчас крутится на собственных серверах, а за что вы спокойно платите подписку и не хотите об этом даже думать?