1. 개방형 개발 플랫폼 현황
Overview of the Open
Applications Platform
윤석찬
㈜다음커뮤니케이션 DNA Lab
http://dna.daum.net
2. Agenda
• 소프트웨어 서비스(SaaS)
– 유틸리티 컴퓨팅
– 애플리케이션 호스팅
• 소셜 애플리케이션 서비스 (SNS)
– Facebook F8
– Open Social
• 데이터 이동성 및 저장소 독점 전쟁
3. 웹 서비스 컴퓨팅 변천
ARPANET Internet
Web Web as a SNS Grid
Darkness Awareness Platform Platform Platform
9 9 2 67 1 4 6
95 96 98 99 199 00 00 00
1 1 1 1 2 2 2
Dot‐Com Bubble Web 2.0 Social Graph
Open APIs
Google,Amazon,Ebay… Web2.0 Startups
Social Platform
facebook, open social
Apps Platform
Amazon,Google
4. 서비스 플랫폼의 변화
• 과거
– 단일한 고립 시스템
– 견고성에 집중
– Highly coupled 시스템
• 현재
– 다양한 개방 시스템
– 확장성 및 표준에 집중
– Loosely coupled 시스템
5. SW 플랫폼 vs. 개방 플랫폼
독립 API를 가진 오픈 API를 가진 웹
Platform
버추얼 머신 서비스
API
독자적/폐쇄형 개방형/표준형
기술 장벽으로 진입이 빠르고 쉽게 개발 및
Costs
어려움 서비스 가능
Lock-in
기능 위주 데이터 위주
특정 플랫폼 소속 거의 모든 플랫폼 소속
Developers
개발자 개발자 포용
.Net Google
Examples
Java Amazon
6. 1. 소프트웨어형 서비스 (SaaS)
• 소비자형 오피스 서비스
– Google Apps
• 비즈니스형 오피스 서비스
– Zoho Web Applications + CRM
– Microsoft Office Live
• 비즈니스형 CRM 서비스
– Salesforce.com
– Microsoft Dynamics Live
– eLink
7. • 전통적인 SW 플랫폼을 웹에 구현
– Software as a Service 사례로 많이 인용
• 웹을 통한 서비스형 개발 및 유통 플랫폼
– Salesforce.com : Cloud 기반 CRM 플랫폼
– Force.com : Salesforce.com을 확장하기 위한 독립
SW벤더 플랫폼
– Apex :애플리케이션 개발 언어
– AppExchange : ISV들의 개발 프로그램을 사고 팔수
있는 마켓 플레이스
8. 2. 유틸리티 컴퓨팅
• Hardware as a Service (HaaS)
– 대용량 서비스를 운영하는 플랫폼 기업들이 자신들의 플랫폼에
렌탈함으로서 가용성을 높이고 이를 통한 과금이 가능하도록
하기 위함
• 주요 특징
– 서비스가 갑자기 커지더라도 컴퓨팅 비용에 드는 비용을
측정(Scaling)할 수 있음
– 개방형 API 및 RESTful 방법으로 제어 가능
– 합리적인 가격 정책
• 주요 고객
– 초기 비용에 어려움이 있는 경우 (벤처 기업?)
– 대용량 처리가 주력이 아닌 경우 (쇼핑몰 상품 이미지 파일?)
– 주기적으로 대용량 처리가 필요할 경우 (대학 원서 접수?)
9. Elastic Compute Cloud (EC2)
• Personalised Linux virtual servers
– 원할때 바로 세팅해서 사용 가능
• 1.7 Ghz x86 processor, 1.7 GB of RAM, 160 GB disk, 250
Mb/second network
– Start and stop on demand through REST interface
– Persistent storage through Amazon S3
• 시간단 과금 체계
– $0.10 per CPU hour
– $0.20 per GB transferred across Net
– S3사이의 데이터 이동에 대해서는 무료
http://aws.amazon.com/ec2
10. Simple Storage Server (S3)
• REST 및 SOAP 기반 파일 시스템 (검색이 용이)
• 주요 제공 서비스
– GET Object, Bucket, Service
– PUT Object, Bucket
– DELETE Object, Bucket
Storage: $0.15 per GB/Month
Data Transfer: $0.20/GB to transfer data
http://aws.amazon.com/s3
11. Simple DB
• Attribute-Value 기반의 데이터 저장소
• REST 및 SOAP 기반 인터페이스
– CREATE new domain to house your unique set
of structured data.
– GET, PUT or DELETE items in your domain
– QUERY data sets using simple set of
operators
• 데이터를 이용할 때만 과금
http://aws.amazon.com/simpledb
12. • Loose Schema – XML, Property Bag
• SQL Server와 Windows Server 기술을 이용해
구축
– Highly scalable – scales as data grows
– High availability, security and support standards-
based web interfaces
• SOAP, REST and LINQ APIs
• Private Beta – Pricing TBA
http://www.microsoft.com/sql/dataservices
13. Xcalibre FlexiScale
• 버추얼 머신을 이용해서
Windows 및 Linux 시스템
제공
• Live Service with
Business SLAs
• Per Hour / Per Gigabyte
Model
• £0.05 per hour Linux
Servers
• £0.08 per hour
Windows 200x Servers
• Network attached
storage
http://www.flexiscale.com
17. 컴퓨팅 뿐만 아니라 애플리케이션도 분산?
Microsoft SSDS
Google App Engine
MS BizTalk Services
Amazon Simple DB
Facebook Data Store
Flexi Scale
Amazon S3, EC2
Salesforce.com
18. • 웹 애플리케이션 개발 환경 – Python 언어 기반
• 비 관계형 데이터 저장소 제공
• Google에서 애플리케이션 직접 호스팅
– http://appgallery.appspot.com/
– 다른 도메인 설정 가능
Google Apps Engine 유료 정책
- CPU: $0.10 - $0.12 per CPU 시간당
- 스토리지: $0.15 - $0.18 per GB
• 서비스 비용 무료 - 트래픽: $0.09 - $0.11 per GB
– 500mb data store
– 5 million page views per month
http://code.google.com/appengine/
19. 주요 특징 및 한계점
• Python 웹 애플리케이션 개발 가능
– Django Framework 이용 가능
– Google Accounts를 이용한 사용자 인증
– 외부 HTTP(S) URL Fetch 및 이메일 전송 기능 제공 (다른 통신
방법 없음)
– 파일 시스템 사용 불가
– Batch job, Delay job 불가
• Big Table 기반의 property-value 형식의 데이터 저장소
제공 (Simple DB와 유사)
– GQL(Google Query Language 제공)
– 1,000개 결과만 가져 올 수 있음
21. 3. 소셜 애플리케이션 플랫폼
• 소셜 개발 플랫폼이란?
– 소셜 네트웍 서비스에서 ‘사람의 데이터’를 다루는
애플리케이션 플랫폼 발전
– 취급데이터: 개인 정보, 취향 정보, 주요 활동 기록,
친구 목록 등
• 주요 플랫폼 종류
– Facebook F8: 페이스북을 위한 서드파티 개발 플랫폼
– 오픈 소셜(Open Social): SNS 서드파티를 위한 공개
표준 모델
– 소셜 그래프(Social Graph): XFN과 FOAF 기반
23. Facebook F8 Open Social
클라이언트 기반
Facebook 웹 사이트
기본 구조
규격에 맞는 웹 서비스 위젯
사용자 프로필
폐쇄적/ Push 모델 개방형/표준형
특정 캔버스 안에서 각 서비스에 위젯 처럼
서비스 구조
웹으로 구동 구동
SNS 사이트에 대해
플랫폼을 오픈 소스화
전략 장기적으로 데이터 허브
시킬 계획 있음
역할을 함
한번 개발로 모든 SNS
Facebook에만 적용 가능 3rd Party 사이트에 적용 가능
보안
Facebook이 조정 각 SNS가 조정
24. 주요 기술 규격
Facebook API OpenSocial API
FBML XHTML/XML
• •
FQL JavaScript
• •
FBJS Full Support for AJAX
• •
Partial support for Backend languages
• •
AJAX like PHP, Java, .NET
on Canvas
• Backend languages
like PHP, Java, .NET
on Canvas
27. Data Portability란?
• 회원정보(회원과 관련된 모든 정보)를 공유
• 이미 존재는 데이터 공유를 위한 기술 표준들을
가지고 플랫폼간의 데이터를 공유
– ex)Myspace에 있는 자신의 친구정보를 ebay에서 이용
http://www.dataportablity.org
29. Links to Other Websites
Our Site contains links to
other websites.
▪ MySpace의 프로파일 정보를 가져와 twitter에 적용
▪ e-mail로 Social Network 검색
30. Friends Connect
Social 플랫폼을 다른 사업자가 채택할수 있도록 아키텍
처 공개 MySpace의 Data Portability 발표후 Facebook
Connect 공개
Facebook Facebook
Facebook
F8 플랫폼 Connect
F8
공개
Google의 Open
Social발표
32. Friends Connect
구글과 제휴된 SNS사이트의 사용자를 등록하고 초대
Friend Connect에 가
입한 SNS 회원들의
회원갤러리 및 메시
지 리뷰를 공유
33. 회원정보를 공개한 Facebook과
는 달리, SNS의 회원정보와 연결
역할만을 하는 Friend Connect
MySpace는 Google Friend
Connect를 통해
경쟁 SNS업체와 회원정보를 공유
34. 소셜 플랫폼 전쟁
Facebook이 Google Friend Connect 유입을 봉쇄
▪ 회원 정보를 사용하는 이용약관에 따른 문제점
▪ 사진첩, 닉네임, 친구정보를 공유할수 있으며, 닉네임만
공유 가능하도록 설정
35. Open Strategy
•Platformization
현재는 전략만 제시된 상태 야후를 사용할 때마다 느끼는게
모든서비스가 따로 논다는 느낌
• Portability
웹 어플리케이션간
Portability
•Open Yahoo
Open Social 수용측과
<어플리케이션 중심의 야후 오픈전략>
야후 어플리케이션 플랫폼(YAP)이 중심
36. ▪ Facebook의 “Find Friends”
▪ 공유받은 LIVE ID 주소록은 에서 제공되는 Windows Live
SNS에서 친구 검색시 활용 Contacts 기능
37. Platform Ecosystem?
Social
Platform
ps
ap nt
eb e -소셜 데이터
W nm
Web API (개인,친구,활동)
ew viro
Nn
Platform
E
Grid
-정보성 데이터
(검색,지도) - 애플리케이션 호스팅
Platform
- 데이터 저장