Как стать автором
Обновить
Selectel
IT-инфраструктура для бизнеса

Как работает наш биллинг

Время на прочтение2 мин
Количество просмотров8.4K

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

Архитектура


У нас разделены аккаунтинг и биллинг, или, на бюрократическом языке, система автоматического учёта и система автоматического расчёта.

Система автоматического учёта (аккаунтинг) считает, сколько какой компонент виртуальной машины потребил ресурсов. А кому эта виртуальная машина принадлежит, какие деньги брать и т.д. — это не его головная боль. Более того, он даже про слово «облако» ничего не знает.

Работает он очень близко к гипервизору. Например, значения процессорного времени и памяти читаются напрямую из гипервизора, а счётчики дисков и трафика — из счётчиков производительности блочных (сетевых) устройств в dom0.

Заметим, что аккаунтиг ничего не знает и про «сегодня», «вчера», «за неделю» и т.д. — он просто считает счётчик. Который растёт вверх неубывающе за всё время жизни машины. Рядом, правда, добавлен ещё один сервис, который собирает данные для графиков, но в процессе списания денег никак не участвует.

Далее идёт биллинг. Биллинг, в свою очередь, ничего не знает о виртуализации, xen'е, нюансах работы blktap и т.д., Всё, что он делает — это фиксирует факт потребления объекта, принадлежащего данному пользователю и списывает за это потребление деньги с облачного счёта клиента. Он же выполняет неприятную работу «палача», выключая машины за неуплату и удаляя машины тех, кто не платит больше 7 дней.

Списания


Списания осуществляются при наступлении важного условия: объём списания и сумма списания выражаются целыми числами. Другими словами, мы никогда не списываем 0.5 копейки. И никогда не берём деньги за 1.33 Мб. Из этих условий вырастает так называемый порог кратности, то есть минимальный объём ресурсов, за который будет списаны средства.

Вот эти пороги:

Ресурс Объём Минимальная сумма списания
Процессор 40 секунд 1 копейка
Память 62,5 Гб*с (17 Мб*ч) 1 копейка
Сеть 125 Мб 2 / 8 копеек (rx/tx)
Диск 10Мб 1 копейка
IOPS'ы 50000 штук 1 копейка
Хранение дисков 8 Пб*с (2.22Гб*ч, 925 Мб*сутки) 1 копейка


Важно: пока нужный объём не накопится, мы денег с клиента не берём. В случае с памятью, процессором и дисковыми операциями это не так уж и заметно, а вот с сетью — весьма. Собственно, именно из-за видимой особенности тарификации трафика и возникла эта статья.

До тех пор, пока у вас не наберётся 125Мб трафика, его показания равны нулю. Аналогично, пока два часа хранения диска не пройдёт, мы за гигабайтный диск не списываем денег.

Халява?


Не совсем. Безусловно, если вы никогда за время жизни машины не наберёте 125Мб трафика, вы нам ничего не должны.

Однако, счётчики у нас не обнуляются, так что если вы год назад скачали 120Мб, а год спустя 5 Мб, то именно в этот момент мы возьмём с вас пару копеечек.

Разница с опсосами

(я не люблю связистов, извините).
Мы НЕ округляем трафик ни в большую, ни в меньшую сторону. Учёт идёт с точностью до байта, оплата — с точностью до 125Мб. Точность биллинга не меняет оплачиваемую сумму за ресурсы — оно меняет просто момент, когда будут списаны средства.
Теги:
Хабы:
+37
Комментарии23

Публикации

Информация

Сайт
selectel.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Влад Ефименко