#azure #saas #azure-marketplace
Вопрос:
Допустим, я разрабатываю приложение SaaS, которое продается через Azure Marketplace. Клиентам выставляется счет за использование этого приложения через API учета Azure Marketplace.
Приложение предлагает несколько планов программного обеспечения. Для простоты мы скажем, что их всего два, P1 и P2. Оба плана предлагают модель ценообразования по фиксированной ставке с ежемесячным сроком выставления счетов. Оба плана имеют два измерения для событий использования, D1 и D2. Эти два плана включают разное количество измерений в месячной базе:
План | Основание D1 | D2 базовое количество |
---|---|---|
Р1 | 10 | 20 |
Р2 | 15 | 25 |
Приложение сохраняет использование измерений для клиента в U1 (D1) и U2 (D2).
Если клиент подписывается на план P1, использует его часть и обновляет план P2 в середине срока выставления счетов (месяц), что приложение SaaS должно делать в отношении сохраненного использования (U1 и U2)? Следует ли сбрасывать счетчики использования на 0 после успешного выполнения событий использования для предыдущего плана (P1), независимо от того, что клиент все еще находится в середине срока выставления счетов?
Я понимаю, что счетчики должны быть сброшены в конце каждого срока выставления счетов, но я не совсем уверен, что делать, когда клиент меняет план в середине срока выставления счетов, потому что базовые величины размеров планов различны, у них разные пороговые значения превышения выбросов. Это имело бы смысл, если бы их пришлось сбросить, но я не смог найти никакой информации по этой теме в документации, а это значит, что я не могу быть в этом уверен.
Если счетчики использования не будут сброшены при изменении плана, то ситуация с отчетностью о перерасходе станет немного сложнее. Например, если понизить план до меньшего размера, это приведет к немедленному превышению выбросов — подумайте об изменении с P2 на P1 в середине платежного цикла, при достаточном использовании D1 и/или D2 для создания превышения.
Если E1 и E2 являются счетчиками превышения размеров, уже выделенных для D1 и D2, то значения счетчиков превышения размеров, которые должны быть выделены (TBE1 и TBE2), могут быть рассчитаны с помощью:
TBEX = max(UX - DX - EX, 0)
Счетчики E1 и E2 увеличиваются после каждого успешного использования (превышения) выбросов. Счетчики использования (UX) должны быть обновлены до того, как будут выполнены расчеты, подлежащие передаче (TBEX).
Учитывая существование этих счетчиков превышения, что должно произойти в случае, если после изменения плана не произойдет сброса счетчика в случае, если уже было сообщено о некотором превышении (выбросе)? Ситуация явно приведет к занижению или завышению стоимости при неправильном обращении.
Что делает Azure Marketplace со счетчиками полученных выбросов при использовании, когда клиент изменяет план в подписке? Они сброшены?
Срок выставления счетов должен оставаться неизменным при изменении плана в соответствии с имеющейся документацией. Фиксированные ставки распределяются пропорционально.