1. 빌링/미터링 BSS 플랫폼 구현
Open Cloud Engine
Sang Song
2015-2-13
www.opencloudengine.org
2. 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
6. 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
8. 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
10. 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
11. 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
15. • Plan
– 하나의 과금정책
• Service
– Plan을 구성하는 하나의 제공 Feature
• Service and Rate
– 각 Feature들의 가격정책
• Recurring Billing
– 반복적인 과금. 매월, 매분기 또는 매년
SaaS Subscription Words
24. Zuora
1. One-time Pricing Model
1. 가입시 한번
2. 기본료
3. 상품에 따라 무상 혹은 할인가능
2. Recurring Pricing Model
1. 주기적으로 반복되어 과금
2. 한도를 넘어서면 제한 또는 추가과금
3. Usage-based Pricing Model
1. 사용량에 비례하여 과금
2. 사용량이 늘어나면 할인가능
34. Metering 사용방식
미터링
방식
사용
시스
템
장점 단점 적합성
API Call Aria
Zuora
로그가 로컬에
남지 않음
• 원본로그를 직접
관리
• 10분에 8000건
호출등의 제약
• Https필수.
외부시스템에서
Billing Service연
동시 적합
Log Agent OCE 파일로그를 이
용하므로 로그
의 손실우려
없음
웹어플리케이션과
빌링서비스가 다른
네트워크에 있을
경우 로그가 보안
노출위협. TCP on
SSL 필수.
내부 PaaS 시스
템에서 적합.
하지만 SSL사용
시 외부시스템도
가능.
37. Billing API
HTTP
Method
URI Description
GET /app/{appId}/plan 플랜정보취득
POST /app/{appId}/tenant
param1 : tenantId={tenantId}
param2 : planId={planId}
사용자 가입
GET /app/{appId}/tenant/{tenantId} 사용자 가입정보 취득
38. Billing 프레임워크 개발 고려사항
A. 사용자의 Subscription 변경시
B. 사용자의 Subscription 해지시
C. Subscription이 Expired 되었을때
D. PLAN내용 변경시
1. 정책변경
39. Billing 프레임워크 개발 고려사항
A. 서비스호출전 항상 확인
B. 서비스호출후 Update
C. 분산캐시솔루션
D. 초과상태 Update 주기
E. 초과제한시 Flag On
2. 허용량 초과 대응
40. 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/
41. Billing 프레임워크 개발 고려사항
4. 로그백업
# 해당날짜의 로그파일을 하나의 파일로 압축한다.
$ tar cf metering.log.<DATE>.tar.gz metering.*.log.<DATE>
# 압축파일을 백업서버로 복사한다.
$ scp metering.log.<DATE>.tar.gz
<backup_server_ip>:/< backup_path>
42. Billing 프레임워크 개발 고려사항
5. 과금계산단위
A. 사용자의 Subscription 해지 / 변경시
B. Provider의 Plan 변경시
C. 잔여비용 반환 / 비용 적용 구간
D. 아마존 1시간 단위
E. Google Cloud 기본 10분, 이후 1분 단위
https://cloud.google.com/compute/
43. Billing 프레임워크 개발 고려사항
6. 사용량 / 비용 계산 주기
A. Recurring pricing : 허용량 초과시
B. Usage-base pricing
C. 1분주기 계산후 1시간, 1일, 1달 단위로 합산
44. Billing 프레임워크 개발 고려사항
7. Raw 로그데이터저장소
A. 비정형 데이터 - NoSQL
B. 로그검색
C. 통계분석
45. 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>
56. 결론
Provider는 Plan의 적극적인 설계가 중요
• 고객의 피드백을 적극 수용하라
• 조용한 고객을 대비하여 패턴분석을 하라
• 패턴분석결과로 고객그룹을 나누어 Plan을 재정비하라
• 수요를 예측하고 적합한 가격결정을 하라
• 고객이 기능별로 선택하여 구성할 수 있도록 하라
• 플랜별 기능구분을 명확히 느끼도록 하라
• Up-selling과 Cross-selling을 유도하라
• Trial에서 Paid로 전환이 용이하도록 하라
• Discount 정책을 적절히 활용하라