Apache CloudStack / Сервис учета ресурсов

Назад

Учет ресурсов является важной задачей для большинства облачных сред. На основе данных учета компании выставляют клиентам счета. Система учета ресурсов должна быть реализована точно и надежно, чтобы избежать ошибок в подсчетах, ведущих к неправильному выставлению счетов клиентам. Также, система учета ресурсов должна быть высокопроизводительной для возможности обработки большого количества ресурсов облака. Аспект производительности и точности критичен для больших облачных сред, в которых производится автоматическое распределение и освобождение ресурсов по запросу.

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

На сегодня в стандартной конфигурации CloudStack нет поддержки учета ресурсов, работающего эффективно при интенсивных нагрузках. Кроме того, в реализации применяется архитектура, которая не подходит для учета ресурсов с малой задержкой.

Решение

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

Архитектура платформы

Реализация Event Sourcing

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

Реализованный с использованием архитектурного подхода CQRS/Event Sourcing, сервис учета ресурсов гарантирует воспроизводимость результатов подсчета и может применяться в режиме дублирования для обеспечения отказоустойчивости.

Транзакционный учет ресурсов

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

Низкое значение задержки

RocksDB поддерживает создание снимков, реализованное очень эффективно, благодаря CoW-архитектуре хранилища RocksDB. Благодаря этому, сервис может выполнять учет с нужной частотой – на сегодня мы решили, что поминутный учет является достаточно детальным для практического применения.

Результат

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

Лицензирование

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

Для расчета стоимости, а также для получения доступа к демонстрационной версии сервиса свяжитесь с нами с помощью формы внизу или напишите по адресу cloudstack@bitworks.software.

Свяжитесь с нами

Задайте вопрос об интересующем вас продукте или услуге

  • Сервис учета ресурсов

Спасибо за обращение. Мы свяжемся с вами в ближайшее время.