Разворачиваем свое мини-приложение для Telegram или веб-приложение в Docker за пару кликов
Docker – это международный стандарт «взрослой» разработки, благодаря которому можно развернуть ваше приложение на любом сервисе или даже в облаке. Сэкономив ресурсы команды на старте и сохранив масштабируемость. Рубрика «Продукт дня»
Пора становиться «взрослым» разработчиком
Другой вопрос в том, что часто стандарты «взрослой» разработки слишком сложны для маленьких команд, инди-хакеров и соло-предпринимателей.
Начинающим владельцам продукта приходится развивать свой проект «на коленке», а потом полностью перекраивать код.
Из-за ошибок с выбором инструментов на ранней стадии проекта, при попытке масштабироваться проблем становится так много, что 90% смелых идей не выходят за пределы GitHub.
Команда #продуктдня Dockhost решила помочь стартапам и пет-проектам масштабировать свой продукт и для этого разработала сервис, который помогает за пару кликов развернуть работу в готовой Docker-инфраструктуре.
Так, чтобы даже ваше мини-приложение для Telegram можно будет запустить и администрировать без головной боли.
Обзор сервиса Dockhost
Чтобы рассказать о работе сервиса, предлагаю вам погрузится в реальный бизнес-кейс.
Допустим, вы решили разработать Telegram Mini App – крутую игру, которая сможет обогнать Hamster Kombat по популярности.
Писать код вы умеете, а вот заниматься полномасштабной разработкой – едва ли. Сразу появляется множество вопросов: как выстроить архитектуру приложения, чтобы оно могло моментально подстроится под входящий трафик.
Не тратить лишние деньги при «простаивании» серверов, и при этом своевременно получать необходимые мощности от облака в случае пиковой нагрузки.
Для этого можно развернуть архитектуру приложения прямо на Dockhost – достаточно просто зарегистрироваться на платформе и подключить свой репозиторий, например, из GitHub.
5 минут работы – и ваша игра уже работает на сервере и может масштабироваться под ваши потребности. Все преимущества Docker без лишних затрат на разработку – то что нужно начинающим командам.
Dockhost позволяет настраивать затраты на архитектуру под свои нужды.
Если ваше приложение только запускается и пользователей немного, вы практически не платите за поддержание инфраструктуры – а при масштабном запуске можете моментально “зарезервировать” дополнительные мощности.
Если проект поставлен на паузу – можно платить только минимальный тариф за диск, не используя вычислительные мощности. Таким образом, архитектура приложения не превращается в “пассив”, который вытягивает деньги из ограниченных ресурсов маленьких команд.
В общем, вашего конкурента Hamster Kombat можно будет отправить в работу сразу из репозитория в GitHub. Даже если у вас не хватает опыта или ресурсов.
Контейнерная разработка
Кроме того, вы быстро начинаете чувствовать основное преимущество Docker – контейнерную разработку.
Условно, если у вас уже есть готовый проект, его масштабирование при помощи контейнеров становится максимально простым.
Допустим, если мне нужно подключить базу пользователей Mini App к готовому проекту – я просто добавляю эту базу в отдельный «контейнер» и настраиваю работу с основным приложением. Ресурсы для этого контейнера я могу посчитать и оплатить отдельно – и при надобности отключить полностью, никак не ломая архитектуру основного продукта.
Обычно разработка таких контейнеров требует много ресурсов, а Dockhost сам собирает контейнер из вашего кода на GitHub.
Dockhost против виртуального сервера
Единственной рабочей альтернативой Dockhost для маленьких команд остаются классические VPS – виртуальные сервера. Их можно арендовать в десятке платформ, как российских, так и международных.
Но, несмотря на цифровизацию, ваш виртуальный сервер остается сервером. Его нужно настраивать с нуля, а также самостоятельно браться за его администрирование.
Если у вас нет опыта разработки и ресурсов в команде, заниматься своим сервером будет очень сложно.
Кроме того, мощности виртуального сервера нельзя настраивать настолько гибко – в случае с развивающимся стартапом вам нужно либо постоянно переплачивать за резервные мощности, либо рисковать проблемами для клиентов в моменты пиковой нагрузки.
И наконец, в случае с классическим VPS вы рано или поздно все равно столкнетесь с необходимостью использовать Docker – ведь контейнеризация используется крупными командами по всему миру не просто так.
Контейнеризация разработки становится стандартом в современном мире – так что внедрять его в свой продукт все равно придется.
Просто вместо коробочного инструмента вы получите целый набор проблем, на решение которых нужно будет тратить время и деньги. В условиях, когда продукт разрабатывается не в Кремниевой Долине, а под рукой не находится венчурного капиталиста с лишним миллиардом долларов, часто приходится оставлять свой продукт работающим “как есть”, забывая про то “как надо”.
Минусы Dockhost
Покопавшись в настройках разных провайдеров VPS и сравнив цены, я понял, что для маленьких команд Dockhost помогает здорово экономить ресурсы и время. Но любой бизнес рано или поздно вырастает из коробочных решений и переходят на собственные разработки. И неспроста.
Так, у пользователей Dockhost практически нет инструментов настройки. Вся работа проходит под капотом, куда у пользователей закрыт доступ.
С одной стороны, сложно накосячить и положить сервер, а с другой – всегда приходится мириться с тем, что предоставляет сервер.
Кроме того, в случае с Dockhost вы полностью доверяете работоспособность вашего продукта в руки стороннего разработчика. Это и есть плата за универсальность.
Надо понимать, что именно Dockhost будет отвечать за критическую работоспособность вашего сервиса. Сервера компании работают стабильно, но никакого доступа к их администрированию у вас нет.
Так что в случае, если что-то пойдет не так, “поднять сервер” своими руками не получится. С другой стороны, если вы только начинаете делать свой продукт, то и ваши собственные возможности по администрированию будут весьма условными.
В общем, целевая аудитория Dockhost – это именно молодые команды. Для стартапов проект подходит идеально, но не стоит думать, что ребята смогут решить проблемы тяжелого продукта с сотнями тысяч пользователей.
Такие задачи пока что остаются неподъемными – впрочем кто знает, что молодая команда принесет с ближайшими обновлениями.
Цены
Dockhost работает по принципу «Плати только за то, чем пользуешься», что напрямую согласуется с основной идеей продукта – экономия ресурсов при простоях и мгновенная масштабируемость.
Также разработчики накидали примеров расценок на содержание проектов с разной «начинкой»:
Личное мнение неразработчика
Я человек простой: вижу потребность в разработке – ищу разработчиков, которые могут запилить продукт с минимальным затратами человекочасов и прочих ресурсов.
И как любой предприниматель я не люблю переплачивать за ресурсы на старте проекта, когда до конца не понятно, что из него вырастет – прибыльный бизнес или бизнес в стиле «чемодан без ручки».
Поэтому я обеими руками за такие продукты, которые помогают сохранить ресурсы на старте и при этом быть готовым к резкому всплеску интереса к моему сервису. Удаче команде с развитием!
Знакомьтесь с новыми онлайн-сервисами, которые делают вашу жизнь проще в блоге Product Radar.
Понравилась статья? Хотите продолжение или сравнительную подборку похожих продуктов? Буду благодарен за лайк и комментарий в поддержку публикации.
Если хотите дать свой проект в обзор – напишите мне в личку @begovatovd
Если у вас есть вопросы по этой «контейнерной разработке» пишите, основатели проекта вам ответят)
Как и другие готовые продукты — очень удобно, по крайней мере, для тестирования, проверки и так далее.
Вроде и к услугам облаков уже привык, но ребята похоже переосмыслили еще раз этот концепт
Молодцы
Мои небольшие советы, а там сами смотрите
1) Не вижу в списке "Примеры стоимости различных приложений" Laravel, это все-таки самый популярный у нас фреймворк на php :) ну и также next, БД и тд
2) Зарегился, указал почту, а мне пишут "Укажите номер телефона
Для завершения регистрации укажите мобильный номер телефона и введите код из СМС", а почему сразу не спрашиваете его?
3) Не сразу понятно, без опыта/базы знаний, как что подключать. Сделайте базовые контейнеры который выбрал и все что нужно записалось. Тот же rabbit, vue, laravel, next, python, mysql, redis и тд. Чтобы не надо было заморачиваться с настройками. Нажал, выбрал нужный гит, все
Спасибо! Обязательно их учтем.
Ничего не понятно, но очень интересно
Специализированная структура это vps и установленный пакет docker?)