Document

Cloud Platform for Apps & Things
2015.10.07
Kii株式会社
[email protected]
www.kii.com
Kii株式会社
Kii株式会社は日本発でグローバル展開している日本の会社です
Founded 2007年11月
HQ
Record
東京
Business Cloud Platform for Apps &
Things の開発と運用
Munich
London
Valencia
Beijing
Shanghai
Shenzhen
Singapore
2
Kiiの前身であるIntellisync時代
から、Mobile向けPlatform一筋
で取り組み、Mobile
Operators/Manufactures/Apps
へBackendやSDKを提供してき
ました
Tokyo
Taipei
Hong Kong
Silicon Valley
Kii --- Cloud Platform for Apps & Things
Apps
App
Things
Thing
Thing
BLE
SDK
SDK
App
SDK’s
Thing
Thing
Thing
SDK
SDK
SDK
iOS
Android
Unity JavaScript
SDK for Embedded Linux
SDK
Gateway
Agent
Kii Cloud
プッシュ
通知
A/B
テスト
ユーザ管理
モノ管理
データ管理
(JSON & File)
位置情報
3
サーバ
機能拡張
分析
SDK for RTOS & Chipset
•
Qualcomm, TI, MediaTek, WinnerMicro
LDAP経由でのAD連携、Facebook, Twitter,
Google, Live, RenRen, Sina Weibo等との連携
ユーザとモノのN:Nの紐付け
様々なQueryに対応するJSON Store, Security
とScalabilityを担保するData Scope
簡易にAggregationを定義できる簡易分析、
個別対応大規模分析基盤
ユーザ管理
アプリやモノ毎に
独立した空間
App
サインアップ
サインイン
メールアドレス確認
電話番号確認
パスワード変更
パスワードリセット
匿名アカウント
App
OpenID
Connect
OAuth
ユーザ
管理
サーバ
B2B2C
外部SNS連携
B2C
ビジネス形態毎
に空間を分ける
ことができます
App
B2B
LDAP
企業内
Directory
•
•
•
•
•
•
•
•
•
•
•
Facebook
Twitter
Google
Yahoo
LinkedIn
Live
DropBox
Box
RenRen
Sina Weibo
QQ
上記以外に、以下も可
• 外部連携せずに、空間毎に独自認証
• 複数空間横串での独自認証
4
User Scope & Thing Scope
App
App
Thing
User
Thing
App
User
5
Thing
App
App
Thing
Thing
User
Thing
Thing
User
App
Thing
App
App
Thing
App
User
User
Thing
User
User
Thing
Thing
User
データ管理
Query
= <> > ≥ < ≤
• JSON Objectを格納するBucketを自
由に設定
in
SDK
Int/Long/Double/String
– User Scope, Thing Scope: 各ユー
startsWith
ザや各モノのみがアクセス可。各
geoBox, geoDistance
ユーザや各モノ毎にBucketはい
“AND” 結合, “OR” 結合
くつ作っても構わない
counting objects w/query
– Group Scope: グループのメンバー
Access Control
Query
のみアクセス可
– App Scope: 認証済みユーザやモ
User or Thing
ノがアクセス可
JSON
Scope Bucket
object
– ACL追加も可
Group Scope
Key1, Value1
• ファイルなどの大きなデータ
Bucket
Key2, Value2
– オブジェクトと紐付けてオブジェク
Key3, Value3
App Scope
トボディとして管理
:
Bucket
– ネットワーク断などでアップロード
KeyN, ValueN
やダウンロードが中断したら、中
断したところから再開
File Type
• ValueにはGeoPointも使用可能
Picture
Video
Asset
Valueとして
Data
– (例) この位置から1km圏内で
緯度経度も
Scoreが50以上のオブジェクトを検
使用可
Kii Cloud データ管理
索
アプリ
6
プッシュ通知
ユーザの持つ
端末間で通知
グループ間
で通知
Topic
Topic
Topic
Topic指定で
全員に通知
Bucket
オブジェクト
の更新で
通知
ユーザ
指定で
通知
開発者
コンソール
• Push to App: クラウド上のイベントでアプリに
通知
– 購読を設定したBucket上での変更を通知
– 通知可能なイベント: オブジェクトの作成、
更新、削除、ACLの更新、オブジェクトボ
ディ(ファイル)の更新、削除
• Push to User: Topicを共有するユーザやモノ
間で通知
– ユーザもしくは開発者がTopicを作成
– Topicに送られたメッセージが、Topicを購
読している全てのユーザにプッシュされる
• Direct Push: Topicやユーザを指定して運用
者から通知
– 開発者コンソールで設定
• Pushサーバ
– AndroidはGCM(中国ではJPushを別途設
定)、iOSはAPNS
– モノへの通知はKii自前のMQTTサーバ
サーバ機能拡張
アプリ
Server Code
API
通常の
API
Kii SDK
Server
Code
他の
DB
サーバ
サービス
等
Kii SDK
Hookによる実行
直接実行
REST
API
ユーザ管理
グループ管理
データ管理
分析
REST
API
• サーバ上でカスタムロジックを実行
– Kii SDKや公開されているモジュールを使っ
てJavaScriptでServer Codeを作成
• SDK経由でKii Cloudのユーザ・データ管理
機能や分析機能もアクセス可
• 他のサーバやDB等もアクセス可
– コマンドラインツールでServer Codeを管理
– Kiiが運用
• Server Codeを実行
– アプリから直接実行
• SDK経由でパラメータを渡してServer Code
を実行
– Server Hookを設定して実行
• ユーザ作成、メアド・電番確認、パスワー
ドリセット・更新、ユーザ属性更新・削除
• グループ作成・削除、メンバー作成・削除
• 指定されたBucket内でのオブジェクトの
作成・更新・削除
– 時間を指定して実行
なぜ個別にサーバを構築せずに
Kiiを使うのか?
9
複数のアプリやサービスで共有
全てのアプリがKii Cloud上
DB & API
for App-A
DB & API
for App-B
DB & API
for App-C
DB & API
for App-D
DB & API
for App-E
10
全てのアプリをKii Cloudで運用
• 様々なタイプのアプリを想定
して作りこまれたAPI群
• 様々な開発環境に対応する
ためのSDK
• サポート、チュートリアル、サ
ンプルコードの提供
• 日本語、英語、中国語でのド
キュメントサイト
サーバ側工数の違い
個別にサーバ構築する場合
• 初期
– サーバAPIのデザイン
– DB設計(論理設計、物理設計)
– サーバAPIの実装
– 外部サービスとの接続実装
– サーバ単体テスト、性能テスト、拡張テスト
– APIドキュメント作成
– 設計書作成
– 運用手順書作成
• 継続的
– 監視と障害対応
– トラフィック増に伴う設備増設
– サーバAPI拡張のデザインと実装
– DB設計変更とデータ移行
– 外部サービスの変更に伴う実装変更
• その他
– 海外進出に伴う地域ごとのサーバ構築
11
Kiiを利用する場合
• 初期
– Server Codeの作成(必要に応じて)
• 継続的
– Server Codeの変更追加(必要に応じて)
• その他
個別サーバとKiiの違い
• サーバ構築の工数がゼロ
– 全てKiiが行います
• 初期コストがゼロ
– Kiiは初期費用を請求しません
• 運用工数がゼロ
– 運用は全てKiiが行う
• 運用コストが安い
– APIに徹底的にチューンされた性能
– 複数のサービスで共有できる
• ドキュメントの心配がない
– 常に最新のドキュメントを日英中3言語で提供
• いつでも(何年後でも)サポートが受けられる
– サーバ開発担当者の異動等を気にする必要はありません
• サーバ側の開発投資無しで、勝手に機能拡張されていく
– Kiiはお客様の要望を聞きながら、機能拡張を続けています
• 海外拠点もすでに構築されている
12
グローバル & オープン
• 論理的に区分
けされたKii
Cloudを利用
Public
Kii Cloud
D
P
D
• 物理的に区分
けされたKii
Cloudを利用
Dedicated
Kii Cloud
• Kii Cloudを自社
サイトに取り込
んで、自社サー
ビスと統合して
利用
Private
Kii Cloud
P
自社
サービス
P
D
D
P
D
D
http://docs.kii.com/
自社サイト
13
D
D