m baa s트랜드 소개
TRANSCRIPT
MBaaS 트랜드 소개최명진PD (kth)
13년 3월 28일 목
클라우드 컴퓨팅 시대
• IT자원을 서비스로 제공하는 컴퓨팅 스타일
• 세 가지 자원: 인프라, 플랫폼, 애플리케이션
• 가트너의 클라우드 특성: 서비스 기반, 확장성과 탄력적, 공유, 사용한 만큼 과금, 인터넷 기반 기술
13년 3월 28일 목
MBaaS 정의 및 특성
• 모바일 서비스에 특화된 백엔드를 서비스 형태로 제공하는 클라우드 서비스
• 모바일 백엔드로 줄여 부르기도 함
• 모바일 앱 개발시 자주 사용하는 백엔드 기능을 표준화해서 제공. 유저, 파일, 데이터, 콘텐츠, CDN, 과금, 결제, In-App 구매, 등등
13년 3월 28일 목
MBaaS의 클라우드 특성
• 모바일 서비스 기반
• 확장성 - IaaS의 인프라적 확장성, Nosql 채용
• 공유 - 여러 백엔드 앱이 같은 리소스 활용
• 사용한 만큼 과금 - API호출수, User수, 용량,...
• 인터넷 기반 기술 - REST API, SDK제공
13년 3월 28일 목
SNS 구현시...
• 단말• 자료구조 정의, API정의, UI구현, API구현, 서버와 연동테스트, 앱스토어 등록, 업데이트, ...
• 서버• 자료 구조 정의, API정의, DB구현, 서버 로직 구현, API구현, 단말과 연동테스트, 부하 테스트, 서비스 오픈, 서비스 모니터링 및 대응
13년 3월 28일 목
서버측 관련 기술
• 데이터베이스: RDBMS, Nosql
• API 설계
• 클라우드 인프라 설계
• 분산 컴퓨팅
13년 3월 28일 목
서버기술과 단말기술
• 단말 개발자
• Obj-C, Java, Javascript
• UI/UX에 관심이 많음
• Single / small user 에 관심
• 간단한 자료구조
13년 3월 28일 목
MBaaS로 서버개발없이 백엔드를 사용
• 서비스 웹사이트
• 자료구조 (key-value)
• Web API
• 플랫폼별 SDK
13년 3월 28일 목
Web API
• http 프로토콜 준수, POST/GET/PUT/DELETE, 200, 404, 500
• xml/json 표준화된 데이터 구조 사용
• RESTful 서비스, collection, entity 개념으로 데이터를 리소스로 접근
13년 3월 28일 목
요약1
• MBaaS는 모바일 개발자들을 위한 클라우드형 서비스이다.
• MBaaS는 백엔드를 개발하지 않고 서비스 형태로 사용할 수 있다.
• MBaaS를 사용하면 개발 기간과 비용이 단축된다.
• MBaaS는 모바일 개발자들에게 친숙한 API를 제공한다.
13년 3월 28일 목
MBaaS 활용 사례
13년 3월 28일 목
활용사례1- 푸시
• 기존의 어플리케이션개발과 모바일 앱스 개발의 가장 큰 차이점. 푸시(push notification)
• 모바일 앱을 설치하고 푸시 수신 동의하면 해당 디바이스의 해당 앱으로 푸시를 전송할 수 있음.
• 채팅이나 메일 앱, 메시지가 도착하면 그 앱을 켜두지 않더라도 푸시 메시지를 통해 도착을 인지할 수 있음.
13년 3월 28일 목
활용사례1 - 푸시• 안드로이드 푸시는 GCM(구글 클라우드 메시징), iOS는
APNS(애플 푸시 노티피케이션 서비스), MS에서는 MPNS 등의 서비스 제공
• 모바일 단말 + 앱 = 디바이스 토큰 (메일 주소 같은것)
• 디바이스 토큰 (주소)으로 어떤 메시지를 보내달라고 플랫폼별 서비스로 요청하면, 서버에서 특정 단말의 특정 앱으로 메시지를 송신하고, 단말에서 수신하여 보여줌.
• 푸시 서비스를 위해서 전용서버 개발과 운영이 필요함.
13년 3월 28일 목
MBaaS에서 푸시기능
• 전용 서버 없이 푸시를 보낼 수 있도록 MBaaS업체들이 기능을 제공하고 있음.
• Urban Airship, push.io, baas.io 등에서 멀티 플랫폼 대응이 가능한 지능적 푸시를 제공.
• Airpush같은 모바일 광고 업체는 푸시를 이용한 광고 플랫폼 제공
13년 3월 28일 목
기존에 푸시 보내려면...
• 서버를 마련한다.
• 서버에 인증서 설치
• 서버에 각 플랫폼별로 PNS서버와 연동 개발
• 서버에 단말에서의 메시지를 받기 위한 API를 개발
• 단말과 연동 테스트
• 만료된 디바이스 토큰에 대한 관리 로직 개발
• 대용량 서비스를 위해 서버 증설
• 플랫폼 추가시 PNS서버와 연동 추가 개발
13년 3월 28일 목
푸시 이용 사례
• 김병훈 실버벨스튜디오 대표는 "스타디펜스에 바스아이오를 활용해 개발기간단축과 비용절감을 실현했다"며 "서버환경 구현 부담을 없애고 앱 품질에만 집중해 사용자들에게 만족스러운 경험을 제공할 수 있을 것으로 기대한다"고 말했다. - 지디넷 인터뷰
13년 3월 28일 목
활용사례2-데이터
• 백엔드 데이터를 관리하는 방식이 RDBMS와 Nosql형태가 공존하고 있다.
• MBaaS는, 다양한 데이터구조를 저장할 수 있고, 탄력적 서버 증설이 가능한 Nosql를 채택하는 트랜드이다. (MongoDB, Cassandra 등)
• 데이터 관리의 일반적인 형태: 유저관리
13년 3월 28일 목
활용사례2-데이터
• 유저 관리 기능
• 모바일 서비스에서 인증, 회원가입/탈퇴, 비밀번호 변경/초기화 등의 이슈는 어떤 서비스에서도 공통으로 필요한 기능이다.
• MBaaS의 대부분의 서비스는 유저 관리 기능을 제공한다.
13년 3월 28일 목
활용사례2-데이터• 유저 데이터 뿐만 아니라, 범용 데이터를 저장할 수 있다.
• 키-값 형태의 자료를 저장할 수 있다.
• 동적 스키마 적용, 다양한 비즈니스 모델을 유연하게 수용이 가능.
• 단말 SDK, WebAPI를 통해서 손쉽게 생성/저장/삭제/수정이 가능.
13년 3월 28일 목
활용사례3-SNS
• SNS를 구현하려면, MBaaS의 모든 기능을 활용해야한다.
• 회원 관리를 위해서 User기능• 유저간의 following/follower 관계나 글과 댓글의 관계등을 표현하기 위한 연결 기능
• 유저의 프로필 이미지 등을 저장하기 위한 파일 기능• 내 친구의 활동현황을 보기 위한, 액티비티 스트림 기능• 앱내부에서 고객의 피드백을 받기 위한 모바일 고객센터 기능
• 위치 기반의 검색을 통해서 주변에 있는 친구들의 글을 보여주는 기능 등. 종합 예술에 해당
13년 3월 28일 목
SNS-인증
• E-mail 기반의 자체 인증 뿐만 아니라, 페이스북/트위터/구글 등 소셜 인증
• 인증에 성공하면 ‘토큰’을 받게 되고 이 토큰을 이용해서 API를 호출한 사람이 누구인지 증명
• 대부분의 MBaaS는 OAuth 스펙을 구현
13년 3월 28일 목
SNS-관계(연결)
• 소셜 네트워크 망을 표현하기 위해서 연결 기능을 활용한다.
• A가 B를 follow한다.
• C 글에 D라는 댓글을 달았다.
• C 글을 B가 like했다.
13년 3월 28일 목
SNS-액티비티
• 소셜네트워크에 연결된 친구/following관계에 있는 사람의 액티비티를 나의 타임라인에서 볼 수 있도록 기록해주는 기능
• 내 친구A가 프로필 사진을 바꿨다.
• 내가 following하는 B가 A의 사진을 Like함
• B는 C라는 글을 생성했다. 등등...
13년 3월 28일 목
SNS-파일
• 프로필 사진을 올리는 3단계
• 사진을 업로드 한다. (어떻게?)
• 사진의 업로드 된 주소를 내 프로필 이미지 주소로 대체한다.
• 내 프로필을 누군가 요청할 때 새 프로필 주소를 보내준다.
13년 3월 28일 목
SNS-모바일 고객센터• 앱을 이용하는 고객들의 피드백은 소중하다.
• 기존 앱에서는 email, 블로그 운영 등으로 피드백을 접수했었다.
• 하지만, 대부분의 고객들은 앱스토어에 댓글로 불평을 표시한다.
• 앱 내에서 고객의 피드백을 받을 수 있는 고객센터로 고객 서비스의 질을 향상시킬 수 있음.
13년 3월 28일 목
사례4-위치 기반 검색
• 모바일 시대로 넘어오면서 사용자의 동의하에 위치 정보를 쉽게 획득할 수 있게 되었다.
• 기존의 데이터와 차이점은 특정 좌표와 반경을 주면 그 안에 있는 데이터를 조회가 가능.
• 안심병원• location within 10000 of 37.51, 126.93
13년 3월 28일 목
요약2
• MBaaS의 대표적인 활용 사례는 푸시, 유저, 데이터, 파일, 위치기반 검색, 모바일 고객센터 등이다.
• MBaaS에서 제공하는 백엔드 기능을 활용하면 SNS같은 복잡한 모바일 서비스도 ‘서버 개발 없이’ 구현할 수 있다.
13년 3월 28일 목
MBaaS 제품들
13년 3월 28일 목
MBaaS 서비스들
• Sencha IO (Beta), Api-o-Mat, CloudyRec (beta), baas.io (beta), Appactive, Baobab, App42, AnyPresence, Cloudmine, Applicasa (Beta), Kii, Cloud Kumulos, Stackmob, Feedhenry, Kinvey, QuickBlox, Urban Airship, Parse, Buddy, Proxomo, OpenMobster, ACS
13년 3월 28일 목
Parse
• 구글출신 개발자들이 창업. 빠르게 컨셉을 구현하는 기술력.
• 데이터, 푸시, 소셜, 클라우드 코드, 스토어 기능 제공
• 제공 플랫폼: iOS, OSX, Android, Javascript, Windows Phone 8, Windows 8, .NET, REST API
• 국내 서비스시 느림 / 해외 서비스에서는 우수
13년 3월 28일 목
Sencha.io
• 모바일 웹 개발 JS 프레임웍 Sencha Touch 개발자들이 손쉽게 백앤드를 구현할 수 있도록 제공하는 MBaaS 제품
• 유저, 데이터, pub/sub메시지, image 편집, 배포 기능 제공
13년 3월 28일 목
Kinvey
• BaaS라는 용어를 만든 회사, 마케팅이 강해서 관련 자료들 중에 유용한 것들이 많다.
• 푸시, 위치기반 검색, 유저, 커스텀 로직, 서드 파티 (twitter/FB/foursquare) 지원 기능
• iOS/Android/Javascript/REST 플랫폼 지원
13년 3월 28일 목
StackMob
• MBaaS계의 터줏대감
• 마켓 플레이스 존재, 백엔드의 커스텀 기능을 다른 유저들에게 판매할 수 있다.
• 데이터, 푸시, 소셜, 위치기반 검색 제공
• iOS, Android, Javascript, Java/PHP/Rest/Ruby 플랫폼 지원
13년 3월 28일 목
ACS
• 크로스 플랫폼 앱 저작툴, 타이타늄(Titanium)을 만든 Appcelerator에서 제공하는 백엔드 서비스. App Cloud Service의 약어
• 1,2,3-tier로 나눠서 다양한 기능 제공
• 무료 API호출수가 타사에 비해 10배나 많음
13년 3월 28일 목
baas.io
• 국내 회사 kth에서 서비스 (kt 계열사)
• 유저, 데이터, 푸시, 파일, 위치기반, 모바일 고객센터 기능 제공
• iOS/Android/Javascript/REST 플랫폼 제공
• 국내 서비스 경우 빠른 반응속도 보장
• 프로모션 기간중 무료 사용 가능
13년 3월 28일 목
요약3
• 국외 MBaaS 제품은 다수 존재함(약20여종)
• 국내에는 kth의 baas.io가 유일함.
• 내가 만드는 서비스의 성격에 맞는 서비스 선택이 중요.
13년 3월 28일 목
맺으며...
• MBaaS라는 클라우드형 모바일 백엔드 서비스는 잠깐 지나가는 유행일까? 개발 방식의 변화를 주는 패러다임의 전환일까?
• 모바일 앱 개발자들은 MBaaS를 이용함으로 자신의 부족한 백엔드 기술을 보충할 수 있을까?
• 국내 baas.io는 모바일 앱 개발자들의 선택을 받을 수 있을 것인가?
13년 3월 28일 목
참고자료• MBaaS Mind Map
• baas.io
• 글로벌트랜드 클라우드 컴퓨팅 (신현석, 정우진 공저)
• GCM, APNS, MPNS
• 카산드라 완벽 가이드 (에벤 휴잇 지음)
• 몽고 디비 인 액션 (카일 뱅커 지음
• Parse, Sencha.io, Kinvey, StackMob, ACS
13년 3월 28일 목
연락처
• 최명진 PD [email protected]
• twitter: @baas_io
• facebook: http://www.facebook.com/groups/baas.io/
13년 3월 28일 목
감사합니다 ^^
13년 3월 28일 목