빌링:미터링 bss platform구현
TRANSCRIPT
빌링/미터링 BSS 플랫폼 구현Open Cloud Engine
Sang Song
2015-2-13
www.opencloudengine.org
Dollar Shave Club
• 3 Plans• Upgrade / Downgrade at any time• 2012 YouTube video viral “Our Blades Are F***ing Great”• 1.2million customers• $7million / month• 20 percent of its customers are women• Disrupted Gillette and Schick
https://www.youtube.com/watch?v=ZUG9qYTJMsI
Subscription Services
• 핸드폰요금
• 인터넷요금
• 정수기 / 공기청정기
• Amazon AWS
• Salesforce
• Netflix
• Google apps
• Dropbox
• Evernote
• 이카운트 ERP
Pricing
Subscription Pricing
http://www.salesforce.com/kr/
SaaS Pricing Strategy Components
1. Packaging
• Enterprise, personal. Features and functionality
2. Regional pricing
• US pricing vs. Asia pricing
3. Customer/Market segmentation
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
SaaS Pricing Strategy Components
4. Loyalty discounts
• Historical spend
5. Volume discounts
• Quantity purchased
6. Payment and credit adjustments
• Quarterly, monthly.
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
SaaS Pricing Strategy Components
7. Usage type adjustments
• Subscription vs. pay-per-use
8. Promotions
• Limited time in a region
9. Upgrade/Cross grades discounts
10.Channel discounts
• Partners
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
Pricing lever example
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
SaaS Pricing Practices
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
Leaders Mainstream Laggards
Pricing strategy • Pricing metrics are defin
ed as perceived by the
customers
• Pricing strategy is easy t
o understand, measure.
• Boundaries for usage, fe
atures, time, conversion
from trial are clearly def
ined
• Pricing is ad hoc
• Pricing is based on inter
nally-oriented metrics
• Difficult to convert trial
and freemium to paid
SaaS Pricing Practices
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
Leaders Mainstream Laggards
Price formulation • Pricing determined by b
reakeven point, paymen
t benefit
• Capability to price at th
e feature level
• Guided selling
• Pricing rules enable up-
selling and cross-sell
• Inability to adjust price
for different market seg
ment and features
SaaS Pricing Practices
pwc-the-future-of-software-pricing-excellence-saas-pricing by PwC
Leaders Mainstream Laggards
Transaction management
• Models for impact on r
ecurring revenue, future
discounts, competitor re
action and price set for
the market
• Loyalty-based discounts • Poor control around dis
counting
Billing
SaaS Subscription-Billing Services
Zuora Aria
Hiveage Chargify
And more..
• Plan
– 하나의 과금정책
• Service
– Plan을 구성하는 하나의 제공 Feature
• Service and Rate
– 각 Feature들의 가격정책
• Recurring Billing
– 반복적인 과금. 매월, 매분기 또는 매년
SaaS Subscription Words
SaaS Subscription Words
SaaS Subscription Words
SaaS Subscription Words
Aria Systems
Aria Systems
Zuora
• Sells a billing platform
• Founded 2007 by Tzuo
• Z-Billing, Z-Commerse, Z-Finance, Z-Pay
ment, Z-Tax
• Zendesk, Box, Dell, HP Cloud, SugarSync,
etc..
Zuora
Zuora
Zuora
1. One-time Pricing Model
1. 가입시 한번
2. 기본료
3. 상품에 따라 무상 혹은 할인가능
2. Recurring Pricing Model
1. 주기적으로 반복되어 과금
2. 한도를 넘어서면 제한 또는 추가과금
3. Usage-based Pricing Model
1. 사용량에 비례하여 과금
2. 사용량이 늘어나면 할인가능
Zuora
Zuora
• Aria + IBM Cloud + Zuora 의 과금모델을 분석하여 만든 과금 라이브러리
• Java 1.6+• 소스 - http://www.opencloudengine.org/svn
/garuda/trunk/bss-monetization/
List<Plan> planList = app.getPlanList();
Plan plan = planList.get(0);
BillingContext context = new BillingContext();
ServiceUsages serviceUsages = plan.calculate(context);
// serviceUsages가 Billing 과금결과.
OCE 오픈소스 과금라이브러리
OCE 오픈소스 과금라이브러리
OCE 오픈소스 과금라이브러리
More
• 첫 과금모델은 불완전할 수 밖에 없다.
• Listen to customers voice.
• Trial, Freemium 기간에 검증하라.
• 패턴분석 – 시간, 사용량, 사용자 분류
• Plan 향상 – Win-win
Metering
• Measures how much resource used
• Billing source data
• Data loss -> Money trouble
• Logging
• Centralization
• Aggregate
Metering
Metering System Arch.
Metering 사용방식
미터링방식
사용시스템
장점 단점 적합성
API Call AriaZuora
로그가 로컬에남지 않음
• 원본로그를 직접관리
• 10분에 8000건호출등의 제약
• Https필수.
외부시스템에서Billing Service연동시 적합
Log Agent OCE 파일로그를 이용하므로 로그의 손실우려없음
웹어플리케이션과빌링서비스가 다른네트워크에 있을경우 로그가 보안노출위협. TCP on SSL 필수.
내부 PaaS 시스템에서 적합.하지만 SSL사용시 외부시스템도가능.
Billing / metering
프레임워크 개발
Final Billing System Arch.
Billing API
HTTPMethod
URI Description
GET /app/{appId}/plan 플랜정보취득
POST /app/{appId}/tenant
param1 : tenantId={tenantId}param2 : planId={planId}
사용자 가입
GET /app/{appId}/tenant/{tenantId} 사용자 가입정보 취득
Billing 프레임워크 개발 고려사항
A. 사용자의 Subscription 변경시
B. 사용자의 Subscription 해지시
C. Subscription이 Expired 되었을때
D. PLAN내용 변경시
1. 정책변경
Billing 프레임워크 개발 고려사항
A. 서비스호출전 항상 확인
B. 서비스호출후 Update
C. 분산캐시솔루션
D. 초과상태 Update 주기
E. 초과제한시 Flag On
2. 허용량 초과 대응
Billing 프레임워크 개발 고려사항
A. 프로세스(JVM)당 하나의 로그파일
B. 로그기록 라이브러리
3. 로그기록
Logger Throughput / Thread
Log4j 2 All Async 288,997
Log4j 2 Async Appender 23,980
Log4j 1 Async Appender 14,072
Log4j 2 Synchronous 4,253
Log4j 1 Synchronous 3,509
http://logging.apache.org/log4j/2.x/
Billing 프레임워크 개발 고려사항
4. 로그백업
# 해당날짜의 로그파일을 하나의 파일로 압축한다.
$ tar cf metering.log.<DATE>.tar.gz metering.*.log.<DATE>
# 압축파일을 백업서버로 복사한다.
$ scp metering.log.<DATE>.tar.gz
<backup_server_ip>:/< backup_path>
Billing 프레임워크 개발 고려사항
5. 과금계산단위
A. 사용자의 Subscription 해지 / 변경시
B. Provider의 Plan 변경시
C. 잔여비용 반환 / 비용 적용 구간
D. 아마존 1시간 단위
E. Google Cloud 기본 10분, 이후 1분 단위
https://cloud.google.com/compute/
Billing 프레임워크 개발 고려사항
6. 사용량 / 비용 계산 주기
A. Recurring pricing : 허용량 초과시
B. Usage-base pricing
C. 1분주기 계산후 1시간, 1일, 1달 단위로 합산
Billing 프레임워크 개발 고려사항
7. Raw 로그데이터저장소
A. 비정형 데이터 - NoSQL
B. 로그검색
C. 통계분석
Billing 프레임워크 개발 고려사항
8. 로그수집기 SOF 문제
A. 중앙의 로그수집기 FAIL시 Money trouble
B. 이중화
C. Fluentd <match metering.log>
type forward
flush_interval 1s
<server>
name log-collector1
host 172.17.0.179
port 24224
</server>
<server>
name log-collector2
host 172.17.0.180
port 24224
</server>
</match>
Demo
패턴분석
사용자 패턴분석
• Subscriber에게 더 나은 Plan 제공
• Provider는 최대 수익지점 예측
• 조용한 사용자
서비스 사용률, 서비스별 사용비율, 조직별 사용비율, 사용위치정보, 그
리고 상세 데이터 테이블까지 대시보드에서 한눈에 확인할 수 있다.
Kibana를 통한 서비스사용 패턴분석
http://www.elasticsearch.org/overview/kibana
Claim 대응
http://www.elasticsearch.org/overview/kibana
(”basic service" OR ”advance service") AND uengine
Fastcat분석기를 통한 검색패턴분석
http://fastcatsearch.org/viewInOnePage/24
http://fastcatsearch.org/viewInOnePage/24
Fastcat분석기를 통한 검색패턴분석
http://fastcatsearch.org/viewInOnePage/24
Fastcat분석기를 통한 검색패턴분석
결론
결론
Provider는 Plan의 적극적인 설계가 중요
• 고객의 피드백을 적극 수용하라
• 조용한 고객을 대비하여 패턴분석을 하라
• 패턴분석결과로 고객그룹을 나누어 Plan을 재정비하라
• 수요를 예측하고 적합한 가격결정을 하라
• 고객이 기능별로 선택하여 구성할 수 있도록 하라
• 플랜별 기능구분을 명확히 느끼도록 하라
• Up-selling과 Cross-selling을 유도하라
• Trial에서 Paid로 전환이 용이하도록 하라
• Discount 정책을 적절히 활용하라