03/2019 update
Хранилища
Теперь панель поддерживает
Hetzner Cloud Volumes.
Их можно подключать к серверам, динамически ресайзить и вообще делать с ними всё что позволяет Hetzner API.
Изменение ценообразования
Обнаружили что за IP-адреса, просуществовавшие меньше месяца, списывают ощутимо меньше чем за месяц.
То же самое для остальных услуг.
Поэтому,
теперь за все IP-адреса, хранилища и снимки HDD оплата разбита по дням с ограничением максимальной суммы в месяц.
hetzner.abcd.cloud/landing/ — новые цены уже в лендинге
Статистика
Теперь для всех клиентов собираются данные по обороту и количеству каждой из услуг.
Также, появилась страница с общей статистикой по всем клиентам:
На ней суммарные показатели на текущий момент и графики изменений статистики за последнюю неделю с шагом в 6 часов.
Ручное удаление услуг
При частых обновлениях панели и других возможных рисках, держать автоудаление услуг включенным было опасно. Поэтому, теперь в админке есть выбор, что делать при минимальном балансе:
Варианты выбора: «Удалять услуги» (панель дропнет услуги автоматически),
или «Оповещать администраторов».
При выборе оповещения администраторов, панель, раз в час, будет присылать админам следующие письма:
При получении такого письма админам необходимо зайти на страницу клиента по ссылке и, если клиент действительно истратил весь свой баланс, нажать на кнопку удаления услуг:
В окне подтверждения выбирается, какое письмо получит клиент по поводу удаления его услуг:
Тут две опции. «Низкий баланс» — то что и раньше клиенты получали при низком балансе и «Другая» — можно ввести текст причины, сообщение с которой получит клиент.
Аккаунты и проекты Hetzner теперь в панели
В админке, на страницах Hetzner: Проекты и Hetzner: Аккаунты теперь добавляются данные об аккаунтах и проектах Hetzner.
Новые аккаунты и проекты добавляются через загрузку таблиц в формате CSV:
Удалить можно только проекты без клиентов и аккаунты без проектов.
Базовый проект — проект под токеном которого запрашиваются цены, типы серверов, локации, и.т.д.
Для того чтобы вручную ссадить клиента с проекта, есть кнопка «Сменить проект» на странице клиента. Но нужна она только в случае перетаскивания услуг клиента на другой проект/аккаунт. Во всех остальных случаях трогать её не стоит.
Автоматическое распределение клиентов по аккаунтам
Пустым, клиентам не назначен проект
То есть, когда в панели 10 активных клиентов, только этим десяти клиентам будут назначены проекты:
Все остальные проекты Hetzner, добавленные в панель, доступны для резервирования.
При этом клиенты, у которых проект не назначен, спокойно могут пользоваться панелью, видеть цены и прочее. Для них панель выглядит нормально. Цены, типы серверов, локации и прочие общие данные берутся через системный токен и, чаще всего, достаются из кэша, а списки услуг панель и вовсе не запрашивает у Хетцнера, возвращая пустому клиенту пустые списки услуг. Это очень сильно снижает нагрузку на бэк панели и в разы понижает количество запросов к Hetzner API.
Как только пустой клиент, без проекта, приобретает первую услугу, ему выдаётся проект
Когда клиент нажимает на кнопку «купить» у любой из услуг, панель находит наименее заполненный аккаунт со свободными проектами:
То есть,
панель выбирает, в каком из аккаунтов соотношение использовано/лимит ниже всего и выбирает свободный проект из него. Свободный проект выдаётся клиенту и с его стороны это выглядит будто он просто купил услугу. На стороне админки за клиентом начинает отображаться только что выданный проект.
Клиенты, у которых больше нет услуг, освобождаются от проектов
Когда клиент удаляет последнюю из своих услуг (сам, или админы из панели), панель убирает привязку клиента к проекту и этот проект теперь снова может автоматически выдаваться другим клиентам. То есть, как только клиент A удалил все свои услуги в панели, его проект в течение короткого времени может быть выдан клиенту B.
В итоге, заняты обычно только те проекты, на которых что-то есть, а остальные свободны для автоматического резервирования под новых, активных клиентов.
Бесплатные услуги (SSH-ключи) при отсутствии платных, сами дропаются через указанный в админке интервал, чтобы проекты, на которых долгое время висят только ключи, тоже освобождались:
SSH-ключи теперь могут добавить только клиенты с балансом выше 10р., чтобы нельзя было заабузить заполнение проектов просто закидывая ключи в пустые аккаунты в панели.
Итого, на 100 проектов Hetzner в панели может автоматически разместиться сотня активных клиентов, а остальные не будут потреблять никаких токенов до момента приобретения услуг.
Что ещё нам дает автоматическое распределение клиентов по проектам
Бот, при реге клиента в биллинге ISPsystem, сразу же регает его в hetzner панели и новые клиенты имеют к доступ к панели еще до первого пополнения счета. Все старые клиенты из биллинга также зареганы и получили доступ. Теперь это возможно благодаря механике автоматического управления проектами Hetzner, описанной выше.
hetzner.highload.cloud/billmgr?func=register&lang=ru
hetzner.abcd.cloud
Планируем к 2023 так же сделать полноценную замену Billmanager который сейчас убивает боковую колонку и херит стандарты. Будет биллинг для реселлеров, без ненужного мусора, только для реселлеров выделенных серверов и облаков, распространяющийся по подписке на наших серверах. Как и описывали в 2018 xaas модели в блогах.