Идея самоуправляемого хостинга – то есть, когда вы запускаете свое программное обеспечение на собственном сервере – звучить очень заманчиво. Вы получаете полный контроль, сами выбираете инструменты и не зависите от решений провайдера. Правда у этого решения есть и другая сторона, которую не сразу замечаешь: бесконечная работа по поддержанию работы этого сервера.
В этой статье мы посмотрим, что в реальности означает самоуправляемый хостинг и сколько времени и внимания он может отбирать у вас.
Самоуправляемый хостинг (селф-хостинг) – это когда вы размещаете свой сайт, приложение или внутренний инструмент на сервере, который находится под вашим полным контролем, а не на стороннем, полностью готовом сервере. Соответственно, вы сами устанавливаете софт и сами поддерживаете его работу.
Другими словами, вместо того чтобы пользоваться сервером с готовыми настройками, вы арендуете или настраиваете сервер и сами о нем заботитесь. Выбираете операционную систему, устанавливаете программы и поддерживаете все это в рабочем состоянии. Провайдер может дать вам железо в аренду, но вся ежедневная рутина и забота – ваша ответственность.
Если говорить конкретнее, то если вы выбираете самоуправляемый хостинг вы отвечаете за следующее:
Со стороны кажется, что все просто: вот есть сервер, и на нем работает ваш сайт. Но на самом деле вас постоянно поджидает куча мелких дел. Покупка самоуправляемого сервера – это лишь малая часть; большая часть работы начнется уже потом.
Мы берем на себя настройку, обновления и мониторинг. Вы занимаетесь проектом.
В большинстве случаев самоуправляемый хостинг выглядит так:
Изучая виртуальные выделенные серверы (VPS), иногда люди интересуются: а что такое самоуправляемый VPS-хостинг? В этом случае провайдер предоставляет вам виртуальный сервер с процессором, памятью, диском и сетью. Провайдер отвечает за работу самого оборудования и дата-центра. А вы сами занимаетесь всем, что находится внутри этого виртуального сервера: установкой, настройкой, обновлениями и безопасностью.
Каждый день пользователи заходят на ваш сайт, поступают запросы на ваш сервер, и приложение выдает им нужные страницы или данные. Пока все хорошо, можно расслабиться. Но помните: в фоновом режиме постоянно пишутся логи, тратятся ресурсы и копятся обновления. Если же что-то пойдет не так, поддержка может быть доступна, но ответственность за диагностику и устранение неполадок все равно лежит на вас. Только вы сами должны знать систему достаточно хорошо, чтобы быстро устранить проблему.
На первый взгляд, самоуправляемый хостинг выглядит как нечто, что делается один раз: настроил – и забыл. Но в действительности серверы и приложения постоянно развиваются. Появляются новые дыры в безопасности, дисковое пространство имеет свойство заканчиваться, нагрузка растет, а новые версии ПО приносят не только улучшения, но и новые риски. Поэтому обслуживание – это жизненно важный процесс, который не дает вашему сервису умереть.
Увидеть эту разницу легко, сравнив зоны ответственности:
|
Область |
Что делаете вы (самоуправляемый хостинг) |
Что делает провайдер (управляемый сервер) |
|
Настройка |
Устанавливаете и настраиваете все сами |
Выполняется за вас |
|
Обновления безопасности |
Отслеживаете и применяете патчи |
Занимается провайдер |
|
Бэкапы |
Продумываете, тестируете и контролируете резервное копирование |
Часто уже включено и управляется провайдером |
|
Мониторинг |
Выбираете инструменты и настраиваете все оповещения |
Обычно предоставляется с готовыми дашбордами |
|
Реагирование на сбои |
Вы – первая, а порой и единственная инстанция для решения проблем |
Команда поддержки помогает или берет решение на себя |
Далее мы подробно рассмотрим две самые объемные составляющие этой постоянной работы.
Низкий пинг, надежные дата-центры и локации, подходящие и для бизнеса, и для личных проектов.
Безопасность – это, пожалуй, самая большая скрытая трата при самоуправляемом хостинге. Любая программа на сервере со временем становится уязвимой. Разработчики, конечно, выпускают исправления, но чтобы они заработали, вы должны установить их сами.
По сути это означает, что вам нужно будет:
Обновления – это всегда риск. Новая версия может изменить логику какой-нибудь важной настройки или даже убрать функцию, без которой вы не обойдетесь. Поэтому планировать их часто приходится на нерабочее время и всегда иметь план, чтобы откатиться назад, если вдруг что-то сломается.
Вопросы безопасности не ограничиваются патчами. Это еще и контроль доступа, и элементарная гигиена. Вы должны:
В крупных компаниях иногда возникает вопрос: насколько безопасен, скажем, dbt Cloud для аналитики в сравнении с самоуправляемым хостингом? Ответ один: управляемый сервис имеет целую команду, которая занимается только безопасностью, и у них строгие регламенты. А когда вы выбираете самоуправляемый хостинг, уровень защиты полностью зависит от ваших знаний, дисциплины и свободного времени. Если вы пропустите обновление или оставите открытым лишний порт, вашу ошибку некому будет исправить.
Может показаться, что мониторинг, резервное копирование и реакция на проблемы – это удел крупных компаний, а для мелких проектов не актуально, но на самом деле это не так. Без них вы рискуете узнать о неполадках, только когда пользователи начнут жаловаться или когда будет поздно.
Мониторинг сводится к отслеживанию ключевых моментов:
Резервные копии (бэкапы) – это ваш спасательный круг. Минимальный план бэкапов должен давать ответы на три вопроса:
Крайне важно хранить бэкапы не там, где стоит основной сервер. Только так они переживут даже самый серьезный отказ оборудования.
Когда что-то выходит из строя, вам все равно нужна хоть какая-то система реагирования: заметить сбой, быстро стабилизировать работу (например, перезапустить сервис или перейти на резервную копию), найти первопричину и устранить ее.
Из всего этого и складывается настоящая стоимость обслуживания, которую вы берете на себя, запуская свой собственный сервер.
Время, возможно, самый главный из всех ваших ресурсов. Когда вы делаете выбор в пользу самоуправляемого хостинга, вы фактически обязуетесь тратить свое время на работу, которую пользователи не видят, но без которой сервис просто не выживет.
Например, на этапе запуска вы тратите время на:
А затем начинается непрерывная рутина:
Кроме того, всегда есть риск незапланированных работ из-за сбоев, и случаются они, как правило, не вовремя. Заполнился диск посреди ночи или важное обновление дало сбой в субботу? Это все равно придется решать вам. В итоге, все эти часы, потраченные на обслуживание, могут забрать ощутимую часть ваших сил.
Небольшой виртуальный сервер, которым вы сами управляете, имеет понятную ежемесячную стоимость. Управляемый выделенный сервер, скорее всего, обойдется дороже. Но ориентироваться только на цену нельзя – это неполная картина.
Давайте посмотрим на основные расходы:
|
Что сравниваем |
Самоуправляемый хостинг |
Управляемый сервер |
|
Сервер |
Аренда VPS или плата за "железо" |
Подписка или плата за фактическое использование |
|
Бэкапы |
Покупка дополнительного хранилища или свое решение |
Часто включены в тариф или являются опцией за дополнительную плату |
|
Мониторинг |
Сторонние инструменты или настройка своими силами |
Часто включен |
|
Ваше время |
Настройка, обновления, безопасность, устранение проблем |
В основном вы работаете с сервисом, а не управляете им |
Деньги, которые вы отдаете провайдеру, всегда на виду – они четко прописаны в счетах. А вот время, которое вы или ваши сотрудники тратите на поддержку, не так заметно, хотя и имеет совершенно реальную стоимость. Каждый час, потраченный на обновление, просмотр логов или поиск ошибок, – это час, который ваша команда не смогла уделить разработке, помощи клиентам или развитию продукта.
Несмотря на все вышеперечисленные издержки, есть случаи, когда самоуправляемый хостинг – действительно лучшее решение. Он оправдывает себя, если:
Иногда лучше не выбирать что-то одно, а использовать смешанный подход. Вы можете сами поддерживать ключевое приложение на своем сервере, но для баз данных, мониторинга или почты использовать готовые, управляемые сервисы. Это сильно уменьшит вашу нагрузку на обслуживание.
Выбор между самоуправляемым и управляемым хостингом – это не только технический вопрос. Он напрямую затрагивает ваше время, уровень стресса и планы на развитие проекта или бизнеса. Когда вы смотрите на самоуправляемый хостинг – на обещание полного контроля и низких прямых расходов, – решение кажется очевидным. Но стоит присмотреться, что он на самом деле означает с точки зрения постоянной безопасности, мониторинга и реакции на сбои, и картина сразу усложняется.
Некоторым командам самоуправляемый хостинг подходит идеально. Они прекрасно знают, как он работает, у них настроены все процессы, и они ценят полную свободу. Другим лучше выбрать полностью или частично управляемый вариант, чтобы сосредоточиться на разработке самого продукта или сервиса, а не на его поддержке.
Главное – подходить к этому выбору реалистично, полностью осознавая то бремя обслуживания, которое вы берете на себя с самоуправляемым хостингом.