Hetzner.abcd.cloud | много всего и на бэке и на фронтенде

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 модели в блогах.

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

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