m baa s트랜드 소개

40
MBaaS 트랜드 소개 최명진PD (kth) 13년 3월 28일 목

Upload: myungjin-choi

Post on 23-Jun-2015

2.412 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: M baa s트랜드 소개

MBaaS 트랜드 소개최명진PD (kth)

13년 3월 28일 목

Page 2: M baa s트랜드 소개

클라우드 컴퓨팅 시대

• IT자원을 서비스로 제공하는 컴퓨팅 스타일

• 세 가지 자원: 인프라, 플랫폼, 애플리케이션

• 가트너의 클라우드 특성: 서비스 기반, 확장성과 탄력적, 공유, 사용한 만큼 과금, 인터넷 기반 기술

13년 3월 28일 목

Page 3: M baa s트랜드 소개

MBaaS 정의 및 특성

• 모바일 서비스에 특화된 백엔드를 서비스 형태로 제공하는 클라우드 서비스

• 모바일 백엔드로 줄여 부르기도 함

• 모바일 앱 개발시 자주 사용하는 백엔드 기능을 표준화해서 제공. 유저, 파일, 데이터, 콘텐츠, CDN, 과금, 결제, In-App 구매, 등등

13년 3월 28일 목

Page 4: M baa s트랜드 소개

MBaaS의 클라우드 특성

• 모바일 서비스 기반

• 확장성 - IaaS의 인프라적 확장성, Nosql 채용

• 공유 - 여러 백엔드 앱이 같은 리소스 활용

• 사용한 만큼 과금 - API호출수, User수, 용량,...

• 인터넷 기반 기술 - REST API, SDK제공

13년 3월 28일 목

Page 5: M baa s트랜드 소개

SNS 구현시...

• 단말• 자료구조 정의, API정의, UI구현, API구현, 서버와 연동테스트, 앱스토어 등록, 업데이트, ...

• 서버• 자료 구조 정의, API정의, DB구현, 서버 로직 구현, API구현, 단말과 연동테스트, 부하 테스트, 서비스 오픈, 서비스 모니터링 및 대응

13년 3월 28일 목

Page 6: M baa s트랜드 소개

서버측 관련 기술

• 데이터베이스: RDBMS, Nosql

• API 설계

• 클라우드 인프라 설계

• 분산 컴퓨팅

13년 3월 28일 목

Page 7: M baa s트랜드 소개

서버기술과 단말기술

• 단말 개발자

• Obj-C, Java, Javascript

• UI/UX에 관심이 많음

• Single / small user 에 관심

• 간단한 자료구조

13년 3월 28일 목

Page 8: M baa s트랜드 소개

MBaaS로 서버개발없이 백엔드를 사용

• 서비스 웹사이트

• 자료구조 (key-value)

• Web API

• 플랫폼별 SDK

13년 3월 28일 목

Page 9: M baa s트랜드 소개

Web API

• http 프로토콜 준수, POST/GET/PUT/DELETE, 200, 404, 500

• xml/json 표준화된 데이터 구조 사용

• RESTful 서비스, collection, entity 개념으로 데이터를 리소스로 접근

13년 3월 28일 목

Page 10: M baa s트랜드 소개

요약1

• MBaaS는 모바일 개발자들을 위한 클라우드형 서비스이다.

• MBaaS는 백엔드를 개발하지 않고 서비스 형태로 사용할 수 있다.

• MBaaS를 사용하면 개발 기간과 비용이 단축된다.

• MBaaS는 모바일 개발자들에게 친숙한 API를 제공한다.

13년 3월 28일 목

Page 11: M baa s트랜드 소개

MBaaS 활용 사례

13년 3월 28일 목

Page 12: M baa s트랜드 소개

활용사례1- 푸시

• 기존의 어플리케이션개발과 모바일 앱스 개발의 가장 큰 차이점. 푸시(push notification)

• 모바일 앱을 설치하고 푸시 수신 동의하면 해당 디바이스의 해당 앱으로 푸시를 전송할 수 있음.

• 채팅이나 메일 앱, 메시지가 도착하면 그 앱을 켜두지 않더라도 푸시 메시지를 통해 도착을 인지할 수 있음.

13년 3월 28일 목

Page 13: M baa s트랜드 소개

활용사례1 - 푸시• 안드로이드 푸시는 GCM(구글 클라우드 메시징), iOS는

APNS(애플 푸시 노티피케이션 서비스), MS에서는 MPNS 등의 서비스 제공

• 모바일 단말 + 앱 = 디바이스 토큰 (메일 주소 같은것)

• 디바이스 토큰 (주소)으로 어떤 메시지를 보내달라고 플랫폼별 서비스로 요청하면, 서버에서 특정 단말의 특정 앱으로 메시지를 송신하고, 단말에서 수신하여 보여줌.

• 푸시 서비스를 위해서 전용서버 개발과 운영이 필요함.

13년 3월 28일 목

Page 14: M baa s트랜드 소개

MBaaS에서 푸시기능

• 전용 서버 없이 푸시를 보낼 수 있도록 MBaaS업체들이 기능을 제공하고 있음.

• Urban Airship, push.io, baas.io 등에서 멀티 플랫폼 대응이 가능한 지능적 푸시를 제공.

• Airpush같은 모바일 광고 업체는 푸시를 이용한 광고 플랫폼 제공

13년 3월 28일 목

Page 15: M baa s트랜드 소개

기존에 푸시 보내려면...

• 서버를 마련한다.

• 서버에 인증서 설치

• 서버에 각 플랫폼별로 PNS서버와 연동 개발

• 서버에 단말에서의 메시지를 받기 위한 API를 개발

• 단말과 연동 테스트

• 만료된 디바이스 토큰에 대한 관리 로직 개발

• 대용량 서비스를 위해 서버 증설

• 플랫폼 추가시 PNS서버와 연동 추가 개발

13년 3월 28일 목

Page 16: M baa s트랜드 소개

푸시 이용 사례

• 김병훈 실버벨스튜디오 대표는 "스타디펜스에 바스아이오를 활용해 개발기간단축과 비용절감을 실현했다"며 "서버환경 구현 부담을 없애고 앱 품질에만 집중해 사용자들에게 만족스러운 경험을 제공할 수 있을 것으로 기대한다"고 말했다. - 지디넷 인터뷰

13년 3월 28일 목

Page 17: M baa s트랜드 소개

활용사례2-데이터

• 백엔드 데이터를 관리하는 방식이 RDBMS와 Nosql형태가 공존하고 있다.

• MBaaS는, 다양한 데이터구조를 저장할 수 있고, 탄력적 서버 증설이 가능한 Nosql를 채택하는 트랜드이다. (MongoDB, Cassandra 등)

• 데이터 관리의 일반적인 형태: 유저관리

13년 3월 28일 목

Page 18: M baa s트랜드 소개

활용사례2-데이터

• 유저 관리 기능

• 모바일 서비스에서 인증, 회원가입/탈퇴, 비밀번호 변경/초기화 등의 이슈는 어떤 서비스에서도 공통으로 필요한 기능이다.

• MBaaS의 대부분의 서비스는 유저 관리 기능을 제공한다.

13년 3월 28일 목

Page 19: M baa s트랜드 소개

활용사례2-데이터• 유저 데이터 뿐만 아니라, 범용 데이터를 저장할 수 있다.

• 키-값 형태의 자료를 저장할 수 있다.

• 동적 스키마 적용, 다양한 비즈니스 모델을 유연하게 수용이 가능.

• 단말 SDK, WebAPI를 통해서 손쉽게 생성/저장/삭제/수정이 가능.

13년 3월 28일 목

Page 20: M baa s트랜드 소개

활용사례3-SNS

• SNS를 구현하려면, MBaaS의 모든 기능을 활용해야한다.

• 회원 관리를 위해서 User기능• 유저간의 following/follower 관계나 글과 댓글의 관계등을 표현하기 위한 연결 기능

• 유저의 프로필 이미지 등을 저장하기 위한 파일 기능• 내 친구의 활동현황을 보기 위한, 액티비티 스트림 기능• 앱내부에서 고객의 피드백을 받기 위한 모바일 고객센터 기능

• 위치 기반의 검색을 통해서 주변에 있는 친구들의 글을 보여주는 기능 등. 종합 예술에 해당

13년 3월 28일 목

Page 21: M baa s트랜드 소개

SNS-인증

• E-mail 기반의 자체 인증 뿐만 아니라, 페이스북/트위터/구글 등 소셜 인증

• 인증에 성공하면 ‘토큰’을 받게 되고 이 토큰을 이용해서 API를 호출한 사람이 누구인지 증명

• 대부분의 MBaaS는 OAuth 스펙을 구현

13년 3월 28일 목

Page 22: M baa s트랜드 소개

SNS-관계(연결)

• 소셜 네트워크 망을 표현하기 위해서 연결 기능을 활용한다.

• A가 B를 follow한다.

• C 글에 D라는 댓글을 달았다.

• C 글을 B가 like했다.

13년 3월 28일 목

Page 23: M baa s트랜드 소개

SNS-액티비티

• 소셜네트워크에 연결된 친구/following관계에 있는 사람의 액티비티를 나의 타임라인에서 볼 수 있도록 기록해주는 기능

• 내 친구A가 프로필 사진을 바꿨다.

• 내가 following하는 B가 A의 사진을 Like함

• B는 C라는 글을 생성했다. 등등...

13년 3월 28일 목

Page 24: M baa s트랜드 소개

SNS-파일

• 프로필 사진을 올리는 3단계

• 사진을 업로드 한다. (어떻게?)

• 사진의 업로드 된 주소를 내 프로필 이미지 주소로 대체한다.

• 내 프로필을 누군가 요청할 때 새 프로필 주소를 보내준다.

13년 3월 28일 목

Page 25: M baa s트랜드 소개

SNS-모바일 고객센터• 앱을 이용하는 고객들의 피드백은 소중하다.

• 기존 앱에서는 email, 블로그 운영 등으로 피드백을 접수했었다.

• 하지만, 대부분의 고객들은 앱스토어에 댓글로 불평을 표시한다.

• 앱 내에서 고객의 피드백을 받을 수 있는 고객센터로 고객 서비스의 질을 향상시킬 수 있음.

13년 3월 28일 목

Page 26: M baa s트랜드 소개

사례4-위치 기반 검색

• 모바일 시대로 넘어오면서 사용자의 동의하에 위치 정보를 쉽게 획득할 수 있게 되었다.

• 기존의 데이터와 차이점은 특정 좌표와 반경을 주면 그 안에 있는 데이터를 조회가 가능.

• 안심병원• location within 10000 of 37.51, 126.93

13년 3월 28일 목

Page 27: M baa s트랜드 소개

요약2

• MBaaS의 대표적인 활용 사례는 푸시, 유저, 데이터, 파일, 위치기반 검색, 모바일 고객센터 등이다.

• MBaaS에서 제공하는 백엔드 기능을 활용하면 SNS같은 복잡한 모바일 서비스도 ‘서버 개발 없이’ 구현할 수 있다.

13년 3월 28일 목

Page 28: M baa s트랜드 소개

MBaaS 제품들

13년 3월 28일 목

Page 29: M baa s트랜드 소개

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일 목

Page 30: M baa s트랜드 소개

Parse

• 구글출신 개발자들이 창업. 빠르게 컨셉을 구현하는 기술력.

• 데이터, 푸시, 소셜, 클라우드 코드, 스토어 기능 제공

• 제공 플랫폼: iOS, OSX, Android, Javascript, Windows Phone 8, Windows 8, .NET, REST API

• 국내 서비스시 느림 / 해외 서비스에서는 우수

13년 3월 28일 목

Page 31: M baa s트랜드 소개

Sencha.io

• 모바일 웹 개발 JS 프레임웍 Sencha Touch 개발자들이 손쉽게 백앤드를 구현할 수 있도록 제공하는 MBaaS 제품

• 유저, 데이터, pub/sub메시지, image 편집, 배포 기능 제공

13년 3월 28일 목

Page 32: M baa s트랜드 소개

Kinvey

• BaaS라는 용어를 만든 회사, 마케팅이 강해서 관련 자료들 중에 유용한 것들이 많다.

• 푸시, 위치기반 검색, 유저, 커스텀 로직, 서드 파티 (twitter/FB/foursquare) 지원 기능

• iOS/Android/Javascript/REST 플랫폼 지원

13년 3월 28일 목

Page 33: M baa s트랜드 소개

StackMob

• MBaaS계의 터줏대감

• 마켓 플레이스 존재, 백엔드의 커스텀 기능을 다른 유저들에게 판매할 수 있다.

• 데이터, 푸시, 소셜, 위치기반 검색 제공

• iOS, Android, Javascript, Java/PHP/Rest/Ruby 플랫폼 지원

13년 3월 28일 목

Page 34: M baa s트랜드 소개

ACS

• 크로스 플랫폼 앱 저작툴, 타이타늄(Titanium)을 만든 Appcelerator에서 제공하는 백엔드 서비스. App Cloud Service의 약어

• 1,2,3-tier로 나눠서 다양한 기능 제공

• 무료 API호출수가 타사에 비해 10배나 많음

13년 3월 28일 목

Page 35: M baa s트랜드 소개

baas.io

• 국내 회사 kth에서 서비스 (kt 계열사)

• 유저, 데이터, 푸시, 파일, 위치기반, 모바일 고객센터 기능 제공

• iOS/Android/Javascript/REST 플랫폼 제공

• 국내 서비스 경우 빠른 반응속도 보장

• 프로모션 기간중 무료 사용 가능

13년 3월 28일 목

Page 36: M baa s트랜드 소개

요약3

• 국외 MBaaS 제품은 다수 존재함(약20여종)

• 국내에는 kth의 baas.io가 유일함.

• 내가 만드는 서비스의 성격에 맞는 서비스 선택이 중요.

13년 3월 28일 목

Page 37: M baa s트랜드 소개

맺으며...

• MBaaS라는 클라우드형 모바일 백엔드 서비스는 잠깐 지나가는 유행일까? 개발 방식의 변화를 주는 패러다임의 전환일까?

• 모바일 앱 개발자들은 MBaaS를 이용함으로 자신의 부족한 백엔드 기술을 보충할 수 있을까?

• 국내 baas.io는 모바일 앱 개발자들의 선택을 받을 수 있을 것인가?

13년 3월 28일 목

Page 40: M baa s트랜드 소개

감사합니다 ^^

13년 3월 28일 목