Блог компании Селектел / Как работает наш биллинг

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

Архитектура

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

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

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

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

Рубрика: Habr