SlideShare a Scribd company logo
1 of 46
Download to read offline
Parse.comからの脱出
2016/02/05デベロッパー月次.LT
Yutaro (@yutailang0119)
Who am I ?
• @yutailang0119
• 新卒エンジニア1年目
• iOS App Developer
• イベントキュレーションアプリwatav
2016/01/29のお話
Parse.comが
2017/01/28 (現地時間?) に
サービスを終了する旨を発表
Twitter等で大きな話題に
自分もお世話になりました (宣伝)
http://tech.aainc.co.jp/archives/10451
(Androidの記事だけど…)
Parse.comがGitHubで
parse-serverなる
リポジトリを公開
https://github.com/ParsePlatform/parse-server
parse-server-exampleも公開
https://github.com/ParsePlatform/parse-server-example
Node.jsで動くらしい
動かしてみよう…(๑•̀ . ̫•́)‫و‬
(AM2:00)
使ったもの
• Vagrant
• その上でDocker
- Ubuntu14.04
- Node.js -v4.2.6
- MongoDB -v3.2.1
host->Vagrant->Dockerを繋ぐ
config.vm.network :forwarded_port, guest: 1337, host: 3000
• host->Vagrantの導線
Vagrantfileに以下を追加
• Vagrant->Dockerの導線
docker run時にオプション
-p 1337:1337
※1337ポートはparse-server-exampleのデフォルトのポート番号が1337だった
ためであり、特に意味はない。
ホスト側のPCからlocalhost:3000にアクセス -> Vagrant:1337 -> Docker(parse-server):1337
Ubuntu14系で動かす
$git clone https://github.com/ParsePlatform/parse-server-example.git
$cd parse-server-example
//Node.jsを入れる
//デフォルトのapt-getだとNode.jsがv0.10.25とかだったので
$curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
$apt-get install -y nodejs
//MongoDBを入れる
//公式参照 https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition
$apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2
multiverse” | sudo tee /etc/apt/source.list.d/mongodb-org-3.2.list
$mkdir -p /data/db
//parse-serverをスタート
$npm install
$npm start
host側からAPIを叩く (1)
$curl -X POST 
> -H "X-Parse-Application-Id: myAppId" 
> -H "Content-Type: application/json" 
> -d '{}' 
> http://localhost:3000/parse/functions/hello
{“result”:”Hi”}
動いてるっぽい!!!
host側からAPIを叩く (2)
$curl -X POST 
> -H "X-Parse-Application-Id: myAppId" 
> -H "Content-Type: application/json" 
> -d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' 
> http://localhost:3000/parse/classes/GameScore
{“code”:1, “message”:”Internal server error.”}
???
サーバー側のエラーログ
Uncaught internal server error. { [MongoError: connect
ECONNREFUSED 127.0.0.1:27017] 
name: ‘MongoError',
message: 'connect ECONNREFUSED 127.0.0.1:27017' } Error: connect
ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1063:14)
MongoDBの設定いじってなかった
api = new ParseServer({
databaseURI: databaseUri || ‘mongodb://localhost:27017/dev',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + ‘/cloud/main.js',
appId: process.env.APP_ID || ‘myAppId',
masterKey: process.env.MASTER_KEY || ‘myMasterKey
});
index.jsのここ
ほう、わからん
ここで力尽きた
(AM4:30)
さらに重大なミスが発覚
Push配信サポート外…
https://github.com/ParsePlatform/parse-server#not-supported
今回得たもの
• Readmeきちんと読みましょう
• 環境構築が大変なことをひしひしと感じた
- iOSばっかやってると薄れる
• Dockerめっちゃ便利
- もはやこれがメインになってた
おまけ (本編)
Parse.comからの
移行先候補を調べた
Parse.comが選ばれていた理由 (主観)
• 簡単にモバイルアプリにPush配信ができる
-> 弊社用途的には、最も重要
• コストが (あまり) かからない
• モバイルアプリへの導入が比較的楽
調査したこと、話すこと
• mBaaS (もしくはそれに準ずる何か)
• Push通知配信機能がある
• 料金にフォーカス
-> 実際使ってみないとわからんこと多いけども
• 参考に調べた (http://qiita.com/ogaoga/items/d300e64dbe923ecbdf1c)
前提
• 自前のPush配信サーバー立てるという選択肢もある。
• 他にもっとイケてるサービスが台頭してくるかもしれない
し、1年後には戦況は大きく変わっている可能性もある。
• 移行先に決めたサービスが、その後Parse.comみたいなこ
とになるやもしれない。
• テスト配信等までできてない。
1. Amazon Simple
Notification Service (SNS)
http://aws.amazon.com/jp/sns/
Amazon SNS
• みんな大好きAWS (知見多い)
• 従量課金制
• Push、メール配信等の通知機能のみ提供
ストレージ等の機能も使うならAWS Mobile Hub
• メッセージのサイズ上限は254KB
※64KBのチャンク毎に1リクエストとして計算 × 4が最大
Amazon SNSのお値段
• 毎月100万件のPushは無料 (SNS無料利用枠)
• 追加は基本 $1/100万Push
• 一斉送信だと実質価格は安くなるかも
2. Azure Notification Hubs
https://azure.microsoft.com/ja-jp/services/notification-hubs/
Azure Notification Hubs
• 公式の説明が丁寧 (に見えた)
• 逆に、それ以外の知見は少ない印象…
• 月額+超過分課金制?
正直料金形態の見方がわかんなかった
無料 BASIC STANDARD
料金 無料 ¥1,020/月 ¥20,400/月
Push数 100万/月 10,000万/月 20,000/月
追加Push
(10M-100M)
利用不可 ¥102 ¥1,020
追加Push
(100M以上)
利用不可 ¥102 ¥255
Azure Notification Hubs
のお値段
レベルごとに名前空間 (グループ化機構) とハブ (複数プラットフォームに通知を
送信するエンジン) の上限もある。
正直、よくわかんない
3. NIFTY Cloud
mobile backend (mb)
http://mb.cloud.nifty.com
NIFTY Cloud mb
• NIFTYが一晩でやってくれました
https://inquiry.nifty.com/webeq/pub/mbaas/replace
• 国産mBaaS (ハンズオンセミナーとかもやってる)
• 月額制
• お知らせ機能 (有料プラン)
プラン上限が近づいたら、APNs証明書の期限が近づいたら、など
NIFTY Cloud mbのお値段
• Basicプラン 無料
API Request : 200万/月、Push : 200万/月
• Expertプラン ¥30,000/月
API Request : 5,000万/月、Push : 1,000万/月
• カスタマイズプラン (料金相談)
4. Batch
https://batch.com/
Batch
• TechCrunchで紹介されてた
http://jp.techcrunch.com/2016/02/03/20160202batch-now-integrates-with-firebase-to-create-a-parse-alternative/
• Parse.comからのマイグレーションツールあり
• 月額制
プランによって、1分間に送れるpush数が違う
Batchのお値段
• 年間契約だと、15%OFF
BAISC PREMIUM PRO ENTERPRISE
料金 無料 $49/月 $199/月 料金未掲載
push/min/app 500 2,000 20,000 1,000,000
Batchのお値段
• 年間契約だと、15%OFF
BAISC PREMIUM PRO ENTERPRISE
料金 無料 $49/月 $199/月 料金未掲載
push/min/app 500 2,000 20,000 1,000,000
Perfect Parse replacementとのこと
以上
(探せばめっちゃ出てくる)
所感
• 今のところ、用途と規模的にはAmazon SNSか
な?
• 料金にフォーカスしたので、いざ導入の段階だ
と話は別だけど…
• 結局のところ、Parse.comって最高だったよ
ね。
おわり

More Related Content

What's hot

小ゼミ進捗 0601
小ゼミ進捗 0601小ゼミ進捗 0601
小ゼミ進捗 0601
robo_lab
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
 

What's hot (9)

jubabanditの紹介
jubabanditの紹介jubabanditの紹介
jubabanditの紹介
 
kintone REST API client package for R
kintone REST API client package for Rkintone REST API client package for R
kintone REST API client package for R
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 
小ゼミ進捗 0601
小ゼミ進捗 0601小ゼミ進捗 0601
小ゼミ進捗 0601
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)
 

Viewers also liked

5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com
Kenta Tsuji
 
PARTHA PRATIM ESTs
PARTHA PRATIM ESTsPARTHA PRATIM ESTs
PARTHA PRATIM ESTs
patsnath888
 
ثانية معدات زراعية2015
ثانية معدات زراعية2015ثانية معدات زراعية2015
ثانية معدات زراعية2015
Nour Elbader
 
Work Sample-Cornelli Glass
Work Sample-Cornelli GlassWork Sample-Cornelli Glass
Work Sample-Cornelli Glass
France Jie Lin
 

Viewers also liked (11)

5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com
 
M.Safeer Durrani final cv
M.Safeer Durrani final cvM.Safeer Durrani final cv
M.Safeer Durrani final cv
 
Students as a tenants
Students as a tenantsStudents as a tenants
Students as a tenants
 
PARTHA PRATIM ESTs
PARTHA PRATIM ESTsPARTHA PRATIM ESTs
PARTHA PRATIM ESTs
 
ثانية معدات زراعية2015
ثانية معدات زراعية2015ثانية معدات زراعية2015
ثانية معدات زراعية2015
 
Resume_Rishiraj Goswami
Resume_Rishiraj GoswamiResume_Rishiraj Goswami
Resume_Rishiraj Goswami
 
Untitled 2
Untitled 2Untitled 2
Untitled 2
 
09. Полацкае княства
09. Полацкае княства09. Полацкае княства
09. Полацкае княства
 
rumah sehat
rumah sehat rumah sehat
rumah sehat
 
Work Sample-Cornelli Glass
Work Sample-Cornelli GlassWork Sample-Cornelli Glass
Work Sample-Cornelli Glass
 
The Top Attractions in Los Angeles
The Top Attractions in Los AngelesThe Top Attractions in Los Angeles
The Top Attractions in Los Angeles
 

Similar to Parse.comからの脱出

J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)
Hiroyuki Kiyomizu
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
yuzorock
 

Similar to Parse.comからの脱出 (20)

J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)
 
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in expressサブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ
OAuthの罠の話 in express
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ AWSでGPUも安く大量に使い倒せ
AWSでGPUも安く大量に使い倒せ
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17
 
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
 
Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
 
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストールGitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストール
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
 
20120721_ishkawa
20120721_ishkawa20120721_ishkawa
20120721_ishkawa
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 

Parse.comからの脱出