В нашем блоге мы неоднократно рассказывали о построении инфраструктуры хостинг-провайдера и о том, как работаем над облегчением работы с нашими сервисами для пользователей.
В сегодняшнем топике речь пойдет о паре простых решений, которые, тем не менее, позволяют радикально упростить развертывание сайтов на VDS и управление ими.
В предыдущих сериях:
- How-to: Как строится инфраструктура хостинг-провайдера
- Редизайн сайта хостинг-провайдера: ошибки и решения
- Как облегчить клиентам хостинга создание частных сетей и виртуальных серверов: Опыт проекта 1cloud
- How-to: Как API улучшает инфраструктуру хостинг-провайдера
- How-to: Автоматизация бухгалтерских задач хостинг-провайдера
- Высокая производительность и хостинг-инфраструктура: Опыт проекта 1cloud
- Рука на пульсе: как мы создавали систему отслеживания нагрузки на серверы пользователей
- Управление дисковым пространством сервера на лету: опыт 1cloud
Зачем все упрощать
Среди пользователей, покупающих VDS-хостинг с предустановленной панелью управления можно выделить несколько групп — в их числе «обычные люди», которые владеют различными сайтами (личные страницы, ресурсы, посвященные хобби, небольшие бизнес-проекты и т.п.), компании-реселлеры услуг хостинга, веб-студии и агентства, которым нужно где-то «хостить» сайты, создаваемые для клиентов и т.д…
Всем перечисленным типам пользователей, как частным, так и корпоративным, крайне важно иметь возможность быстро развернуть сайт, не погружаясь в технические проблемы — простым людям это не нужно, а те же студии не обладают ресурсами для администрирования, для них главная задача — поиск и выполнение заказов на разработку.
В частности, это значит, что для обеспечения нужного уровня удобства и скорости работы нужно избавить пользователей от необходимости устанавливать, настраивать лишний софт, а также следить за его работой и актуальностью лицензий.
Предустановка панели управления хостингом
Как мы уже сказали, клиенты, относящиеся к упомянутым выше группам, хотят иметь возможность быстро разместить свои сайты, создать для них базы данных, получить доступ по FTP и т.д.
Для того чтобы позволить им это сделать, мы реализовали функцию заказа сервера для организации собственного хостинга с предустановленной панелью управления ISPmanager 5 (про установку этой программы на Хабре было немало статей).
Конфигурирование сервера осуществляется в специальном конструкторе, который в режиме реального времени показывает изменение его стоимости в зависимости от выбора параметров:
Услуга запущена «в продакшен» совсем недавно, поэтому пока из систем управления доступна только ISPmanager 5, однако, если это будет востребовано клиентами, в будущем мы добавим и другие инструменты управления (например, CPanel).
Как реализовано
ISPmanager 5 был выбран в качестве «пробы пера» еще и потому, что у производителя данного продукта есть хороший REST API, через который без лишних проблем можно заказывать новые лицензии на программу. Для работы с самим REST API мы использовали библиотеку Rest Sharp.
Главная проблема в ходе реализации новой услуги возникла даже не на этапе подготовки ISPmanager 5, а при адаптации собственных сервисов (биллинг, сервис нотификаций) к новому, ежемесячному типу списания платежей.
Дозаказ лицензий «на лету»
Еще одна головная боль, с которой сталкиваются пользователи хостинга — администрирование арендованных лицензий на используемые программы. Чтобы облегчить отслеживание информации о том, какие лицензии активированы для конкретного сервера, а также данные об их стоимости в системе 1cloud есть специальная страница.
С ее помощью пользователи также могут легко дозаказать нужные лицензии или продлить существующие.
Как реализовано
С точки зрения технической реализации особенных проблем в данном случае не было — все лицензии в системе имеют соответствующие атрибуты:
- Тарификация: real-time или ежемесячная;
- Способ активации: автоматически или вручную.
Соответственно, система биллинга «смотрит» на первый параметр при начислении абонентской платы, а обработчик задач считывает второй параметр для активации лицензии на сервер (подробнее о программных компонентах инфраструктуры 1cloud мы рассказывали в отдельном топике).
Планы
Описанные в материале функции запущены в эксплуатацию совсем недавно, и мы планируем улучшать их в будущем. Например, планируется расширение списка доступных для установки ОС (Ubuntu 14.10 x64, FreeBSD 10.1, Debian 7.0 x64, Debian 6.0 x64, CentOS 7 x64), расширение списка образов серверов с предустановленным софтом (Bitrix, Drupal, Joomla, Wordpress, Docker) и добавление возможности работы с DNS из панели управления.
Также у нас есть еще много планов по оптимизации инфраструктуры и повышению удобства ее использования. Среди них, например, автоматизация задач по установке и восстановлению данных из бэкапов, внедрение модели оплаты только за потребленные ресурсы (pay as you go) и развертывание системы автомасштабирования инфраструктуры при достижении пиковой нагрузки на текущие серверы пользователей.
На сегодня все, спасибо за внимание. Будем рады ответить на вопросы в комментариях. Подписывайтесь на наш блог — в следующих постах мы продолжим рассказывать о различных аспектах построения и оптимизации хостинг-инфраструктуры.