2. 성공적 서비스의 정의
최근 Economist Intelligence 에 의한 국제적
조사 (293개 기업 CIO, 조사국가: 미국
39%, 영국 31%, 호주 30%)에 의하면 5개
기업중 4개는 자신의 고객들이 제화와 서
비스를 제공받는 방식에 어떤 변화를 원
하고 있다고 답했다. 그리고 실제로 반이
넘는 기업들은 가격모델과 제공방식을
변경하였거나 계획 중이라고 답했다. 그
러한 변화 중 가장 많은 40% 로 대답한
것은 바로 ‘구독형 서비스(Subscription
Service)’의 도입으로 조사됐다.
4. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
Successful
Service
5. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
11. Share more, More cheap offering, More
Competitive in the market !
Share less, More easy & Secure !
Creating Innovative Application
Multi-tenancy Support
13. 가입자A의 앱설정 가입자B의 앱설정
* 멀티태넌시 지원 기능은 금번 사업 범위에 비포함
* 향후 현재 R&D문서관리 등은 멀티태넌트 전환이 필요함
2. 도입기관별 입력 항목 변경
3. 도입기관별 판정로직 설정
1. 도입기관 브랜드 설정
Multi-tenancy Support
Metadata-based
19. Supporting Multi-tenancy
NoSQL databases
1. Inherent multi-tenancy - Schema Free
2. High Performance - Horizontally scalable and Memory cache
3. Web optimized – Query results are JSON - data can be parsed by web
browser directly and performantly.
Additionally -
4. Easy to implement Analytic services (MR) and Full Text Search
5. Event-driven Transaction - don't have to care about CQRS something
6. Some NoSQL products (Couchbase, Cassandra) provides pessimistic
locking and ANSI SQL (Join Query) - easily migrate to them.
20. Supporting Multi-tenancy
Libraries and tools for Multi-tenancy support
• Multi-tenancy Database Frameworks
• JPA @Discriminator annotation (Hibernate, EclipseLink)
• Athena Framework
• Spring Cloud
• Corent-technology’s JDBC/ODBC proxy
• Metadata framework (SPOSAD)
• IBM J9 JVM - @TenantScope annotation
• Athena Framework
• Adaptive Object Model
• OCE multi-tenancy metadata framework
21. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
22. DevOps: Issues
Continuous Delivery
22
Company Deploy Frequency Deploy Lead Time Reliability Customer
Responsiveness
Amazon 23,000 / day Minutes High High
Google 5,500 / day Minutes High High
Netflix 500 / day Minutes High High
Facebook 1 / day Hours High High
Twitter 3 / week Hours High High
Typical enterprise Once every 9 months Months or quarters Low / Medium Low / Medium
출처: 도서 The Phoenix Project
Amazon, Google, Netflix, Facebook, Twitter는 얼마나 자주 배포할까요?
23. 23
2. 배포 주기
• 매일 마이너 업데이트
• 메이저 업데이트 (매주 화요일 오후)
3. Deployment Pipeline
출처: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6449236
Supporting Continuous Delivery
Facebook
24. 24
4. Canary를 통해서 확신 갖기
• Canary란? 실제 production 환경에서 small subset에서 새로운 코드를 돌려보고 옛
날 코드와 비교해서 새로운 코드가 어떻게 돌아가는 지 보는 것
• Canary 분석 작업(HTTP status code, response time, 실행수, load avg 등이 옛날 코
드랑 새로운 코드랑 비교해서 어떻게 다른 지 확인하는 것)은 1000개 이상의 metric
을 비교해서 100점 만점에 점수를 주고 일정 점수일 경우만 배포할 수 있음.
출처: http://techblog.netflix.com/2013/08/deploying-netflix-api.html
Supporting Continuous Delivery
Netflix
35. Micro Service Architecture
Contract based, Polyglot Programming
Separation of Concerns, Parallel Development, Easy Outsourcing
Written in Java
Written in Node
Written in PHP
36. Micro Service Architecture
• 변경된 서비스만 재배포
Side effect 최소화
• 자율성
각 서비스에 대한 자유로운 언어, 아키텍처, 아웃소싱 용이
• 병렬 개발, 타임 투 마켓, 린 개발
42. Design factors on developing cloud
applications
1.Don't code your application directly to a specific
topology
2.Do not assume the local file system is permanent
3.Don't keep session state in your application
4.Don't log to the file system
5.Don't assume any specific infrastructure dependency
6.Don't use infrastructure APIs from within your
application
7.Don't use obscure protocols
8.Don't rely on OS-specific features
9.Don't manually install your application
42
44. Front-end
Image Server
(Python)
Business
Logic Server
(Java)
Extended Role of Front-end in Cloud Applications
Aggregator for multiple (polyglot programmed) micro-services
Component
Service
(C)
AJAX, RESTful
Concurrent Cloud Applications are composed of multiple Micro
Services and front-end serves as an aggregator of the services
45. Writing One Page Web App
Problems: One Page Web App Low Cohesion and High Coupling
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
46. Polymer: Web Component Framework
Polymer: W3C standard for Web Components
• Provides Cohesive Component Model
• Component Composition by HTML markup
• Dynamic Data Binding
• Responsive Web by Material Design
• Standard
• Google maintains it
47. Polymer: Web Component Framework
Polymer: W3C standard for Web Components
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
#A.html
<style>
style for A
</style>
<html>
element for A
</html>
<script>
script for A
</script>
#B.html
<style>
style for B
</style>
<html>
element for B
</html>
<script>
script for B
</script>
#C.html
<style>
style for C
</style>
<html>
element for C
</html>
<script>
script for C
</script>
#index.html
<A> <A>
<B> <B> <B>
<C>
48. • UI Framework for MSA
• AngalarJS
• React
• Polymer
• VueJS
• API Gateway
• APIGee (Commercial)
• Kong
• OCE Gateway
• Amazon Cognito (Public)
• Spring Cloud
• IAM
• Amazon IAM (Public)
• Spring Cloud
• OCE IAM
• Metering / Billing
• Exem’s Metering Framework – BigData based
• OCE Billing
Micro Service Architecture
Platforms for MSA
50. Example: Proposed SaaS Architecture
Front-end (Responsive, Client-
side Service Aggregate)
Scalable Global Single
Instance Database
(NoSQL -> Couchbase)
Service
API G/W
Service
Service
Scalable, Client-driven, Microservices architecture
Tenant Billing
(Machine)
3rd-party
Apps
Billing
IAM token
provider
local DB
(pouchDB)
CRUD
1.data
sync
2.REST
51. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
53. Leaders Mainstream Laggards
Pricing strategy • Pricing metrics are defined
perceived by the customers
• Pricing strategy is easy to
understand, measure.
• Boundaries for usage,
features, time,
from trial are clearly
• Pricing is ad hoc
• Pricing is based on
internally-oriented
• Difficult to convert trial
freemium to paid
• Leader 들은 고객 관점에서 가격을 책정,
시장상황에 빠르게 가격 및 정책 개선
• 후발기업들은 내부 비용에 초점, 변경하지 않음
63. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
Your
Successful Transition
to
Subscription
Business
여러분의 성공적인 서비스 비즈니스 모델로의
전환을 응원합니다!