Как мы решили изобрести велосипед

Мы в ИксФайвИкс практически с самого старта проекта решили, что использовать коммерческий, массовый софт это не про нас.

Конечно, в самом начале мы пользовались тем, что было просто и доступно. Была и Bpanel (она ещё вроде даже жива, хотя во всех смыслах устарела), была и RootPanel. Но функционала этих биллинг-систем стало очень быстро не хватать, а существенно изменить внешний вид и логику было сложно. Поэтому мы начали делать своё, такое своё, которое бы в полной мере удовлетворило наши потребности.

Вообще, коммерческий, массовый софт для хостинга (будь-то тот же многими любимый BillManager) довольно крутой. Но вся проблема здесь в том, что его разработчики как правило пытаются угнаться за всеми сразу. В итоге: огромный, излишний набор функций и сложная в понимании настройка.

Наш первый биллинг — BroomUnion
Так вот, мы решили делать своё. Шёл 2010 год. Первая версия нашего собственного биллинга частично базировалась на коде и логике RootPanel, мы назвали его BroomUnion.

Выглядело это так:



Для нас это стало настоящей свободой в реализации своих идей. Стало не нужно разбираться в сложной модульной структуре коммерческих продуктов. BroomUnion быстро набирала функционал, в том числе согласно пожеланиям наших любимых клиентов.

Так было до марта 2013 года, когда для клиентов стала доступна наша новая панель управления, которую мы развиваем и по сей день.

Это было начало 2013 года. Мы поняли, что BroomUnion за 3 года уже устарел, а дорабатывать его было всё сложнее и сложнее.

В свет выходит наша новая панель управления CP.X5X.RU. Сразу покажу, как она выглядела тогда.


Важными на тот момент особенностями было вот что:
  • Подстраивающийся под разрешение экрана интерфейс.
  • Простое управление всеми услугами из одного окна.
  • Авторизация через соц. сети.
  • Модульная система.
  • Конечно же, новый функционал появлялся очень быстро.

За годы (а мы работаем на CP и сейчас) панель обзавелась огромным набором функций, которые позволили нам автоматизировать большую часть обыденных в сфере хостинга вещей.

На данный момент наша панель умеет, само собой, полностью автоматически обрабатывать заказы, регистрировать домены, принимать платежи, обрабатывать запросы от клиентов, управлять VPS и серверами, и многое-многое другое. Умеет она также управлять и хостинг-аккаунтами на базе DirectAdmin, но мы этим пока не пользуемся:


Есть также и огромное количество внутренних функций, которыми каждый день пользуются наши сотрудники для обеспечения качественного обслуживания любимых клиентов.

А из последнего: мы наконец-то сделали нормальное управления DNS-записями (раньше нельзя было изменять записи).

Помимо разработки своей панели управления для клиентов, мы также занимаемся и другими разработками.

В этой части я не буду рассказывать о биллингах, я расскажу о другом нашем велосипеде — панели управления OpenVZ.

До момента создания этой панели активно работали на SolusVM и OpenVZ Web Panel. Обе штуки крутые, но там и там не хватало функционала.

SolusVM пару лет назад была куплена компанией OnApp и после этого развитие очень ослабло, хотя планы были грандиозные. Панелька всё ещё не умеет выдавать IPv6 по API, не умеет нормально включать TUN/TAP по API, да и само API скудное и, я бы сказал, тупое. Все наши попытки через поддержку решить эти проблемы ни к чему не привели, у них всё супер…

OpenVZ Web Panel уже давно перестала развиваться, но наши нужды в целом удовлетворяла. Единственной нерешаемой для нас проблемой было полное отсутствие поддержки IPv6. К слову, проблема эта была не единственной, но остальные мы решили путём доработки кода. Мы сделали управление TUN/TAP и PPP, поддержку recovery-режима и многие другие мелочи. Но на этом наши познания в области Ruby кончились, так что беду с IPv6 мы не победили.

Вот собственно учитывая всё вышеперечисленное мы и решили, что надо делать своё. Как и прежде, такое, которое удовлетворит наши требования и задачи.

Так родилась наша VPSPanel (да, главная страница пока пустая):


Раздел управления VPS позволяет делать вот такие штуки:


Есть также и поддержка бэкапов для VPS. Они могут делаться как автоматически по крону, так и их можно создавать вручную:


На данный момент наша панель умеет:
  • Управлять нодами: шаблоны ОС, пресеты конфигов, IP-адреса.
  • Управлять VPS: ребуты, переустановки, recovery, управление IP, бэкапами.
  • API: все вышеперечисленные функции, плюс ещё некоторые для удобства работы.

Сразу скажу, что это так скажем внутренний софт, мы не планируем давать доступ к нему клиентам. Клиенты имеют почти тот же функционал через CP.X5X.RU. А CP.X5X.RU уже работает с VPSPanel по API.

Почему так? Мы уверены, что гораздо удобнее, когда клиент может управлять всем из одного места. Куча разных панелей это не есть хорошо.

В планах разумеется панель развивать, вплоть до поддержки виртуализации KVM, VPS на которой мы начали предоставлять недавно.

0 комментариев

Оставить комментарий