BaaS(Backend as a Service)勉強会に参加してきました
BaaS(Backend as a Service)勉強会に参加してきました
BaaS(Backend as a Service)勉強会に参加してきました。
勉強会の参加者のツイート内容は#BaaS (Backend as a Service) 勉強会のつぶやきログにてまとめられています。
以下のメモについては私のメモをまとめただけなので、内容に間違いがある可能性にご留意ください。
そもそもBaaSとは?(予習)
初めて聞くキーワードに関する勉強会の場合、予習しておかないとメモをまとめるのに苦労するため、あらかじめBaaSについて簡単に調べてみました。
BaaSとは
アピアリーズさんのBaaSとはの解説を引用すると、「モバイルアプリサービスの運用に必要な汎用的なサーバ機能を提供するクラウドサービスの一形態です。」とのこと。
- モバイルアプリの開発はデバイス側(フロント側)、サーバサイド側、サーバの構築がセットになっている。
- デバイス側で完結するアプリは殆ど例を見なくなっている。
- モバイルアプリのサーバ構築では、以下の2点に頭を悩ませることになる。
- スケーラビリティ
- アイドルコスト(遊休コスト)
スケーラビリティとアイドルコスト
- 自前でのハードウェア確保の場合
- スケールアップの度にサービス停止が発生する。
- 場合によっては新しいサーバへデータを移行する必要がある。
- スケールアップの面倒がないように、始めから高性能なサーバを用意すると、今度はサーバが遊んでいる(アイドルコストが大きい)状態になってしまう。
- スケールアウトの場合、入念な設計と高度なサーバ管理技術が必要であり、実施は容易ではない。
そういえば、WEB+DB PRESSのVol.78の特集記事「DMM.com開発ノウハウ大公開」でもDMM.comさんのサーバ機器の変遷(サーバラックの追加・増設やデータセンターの移行)が解説されていました。
これらの問題への解決方法としてクラウドサービスがあり、その一つとしてBaaSがある、という話のようです。
○aaS
また、BaaS以外にも○aaSと名前のつくサービスがあり、以下のような分類となっています。
- IaaS(Infrastructure as a Service)
- PaaS(Platform as a Service)
- Heroku,OpenShift,DotCloud
- SaaS(Software as a Service)
- Salesforce Sales Cloud,Googleドキュメント,Microsoft Office 365
- BaaS(Backend as a Service)
- (今回の勉強会にでてくるサービス)
図で表現すると、利用者側から見た○aaSの分類は以下のようになります。
これらを踏まえてBaaS勉強会に参加してみました。
HTML5 Japan Cupについて
- 発表者は白石俊平(html5j管理人)さん。
- 発表スライドは以下のURLで公開されています。
- html5jについて
- 「日本が、世界のWebシーンをリードする存在になる。」を目標に掲げている。
- わりと規模が大きくなってきた。
- html5jのサブコミュニティ→14個くらいある。
- 現在開催中のHTML5 Japan Cup 2014のお話。
HTML5開発者にとってのBaaS活用のメリット
- 発表者は安藤幸央さん
- そもそもBaaSとはどのようなものか?
- サーバサイド開発用の言語が苦手な方でも、BaaSならサーバ機能を使った アプリを作れる!
- 発表スライドは以下のURLで公開されています
- BaaSの中にはサービスの中にはMBaaSに特化したものもある,
- クラウドサービスを実際の天候に見立てた場合、晴れだけでなく、雨の日もある。これを避ける「傘」がBaaSであると考えている
- 例えばfacebookのようなサービスをつくろうと考えた場合
- フロントエンドだけでなく、サーバも作り込む必要がある(フロント-サーバの連系)
- フロントは自分たちで作成し、バックエンドは既存のものを組み合わせて使おう、という考え
- フロントエンドだけでなく、サーバも作り込む必要がある(フロント-サーバの連系)
- サービスを作る際に必要な機能
- facebookとParse
- 最近のBaaS関連のニュースで大きかったトピック
- facebookが"Parse"というBaaSの会社を約84億円で買収した
- 無料+使いやすくしたために、買収後の利用者が10倍になった
- BaaS活用の観点
- スピード、(人的)リソース、コスト、の3つが重要
- スマホアプリ開発時の割合
- 開発する前に設計
- 開発→サーバ、クライアントの開発割合は50%/50%
- BaaSを使うとクライアント側の開発に集中できる
- BaaSの利用が向く開発
- 開発エンジニアが少ない場合
- バックエンドエンジニアのリソースが割けない場合
- 一人で開発する場合
- BaaSの利用が向かない場合
- 開発メンバが多い場合orスキルの高いメンバが多い場合はBaaS不要
- バックエンドエンジニアのリソースが確保できる場合
- 一般的な機能の組み合わせでできるサービスを構築する場合
- (BaaSを使うまでもない、という話?)
- Instagramの開発エピソード(BaaSが無かった頃のサービス開発エピソード)
- 最適なBaaSを選択
- BaaSベンダを選ぶ際の基準に関する話
- (発表者のスライド(38枚目)を見てもらった方が良いかも...)
- BaaSのデメリット
- セキュリティ→ベンダが対応してくれる
- ベンダロックイン→二つのサービスにまたがって動作させる、OSSのBaaSを活用
- ダウンタイム→あきらめと、落ちる前提でサービスを企画する
- テスト切り分け
- 価格設定
- 機能が足りない
現役BaaS開発者パネルディスカッション
- モデレータは冨田慎一(株式会社マッシュマトリックス)さん
- BaaS開発者として以下の方々が登壇されていました(敬称略)
- 荒川義弘(株式会社アピアリーズ)さん
- 石塚進(Kii株式会社)さん
- 野田雄也(ニフティ株式会社)さん
各社のBaaSの特徴紹介の後、モデレータの方から出されたテーマを元にBaaS開発者の方が話すという内容でした。その後、参加者からの質疑応答タイムとなっていました。
モデレータの方から出されたテーマを元にBaaS開発者の方が話した内容
(テーマその1.)日本のBaaS市場、これから伸びてゆく?盛り上がってゆく?そして、ぶっちゃけ儲かっている?
(テーマその2.)海外のBaaSベンダーは40社以上あり乱立している。大手の会社もBaaSやろうとしており、海外勢をどう考えている?海外と自分たちのBaaSベンダの違いは何であると考えているか?
- アピアリーズさん
- 海外/国内の違い→日本語対応、サポート。
- 日本国内でワンストップになるのが強みだと考えている。
- Kii株式会社さん
- モバイルでもローカルに特化するのも意味があると考えている。
- マルチサイト対応しているので、日本で作って中国に持っていけるのは自分たちの強みだと考えている。
- ニフティ株式会社さん
- 一番大きいのはサポートが日本であること。
- 企業で使おうと思うと早い時間で日本語でレスポンスがあるのはかなりのメリットと考える。
- (データセンタが日本にあるので)レイテンシが低いのもポイント
- が、海外からのレイテンシが大きくなるという逆の見方もあるとのこと
- アピアリーズさん
(テーマその3.)HTML5jカップでBaaSのからみで→MBaaSでモバイル、ネイティブアプリ/Webアプリという文脈でモバイルに限らずWebアプリを考えたときにBaaS利用はありえる?BaaS利用でHTML5はこれからどうなる?
- アピアリーズさん
- WebアプリでBaaSは十分にアリだと考えている。
- アプリKeyが無くてもOKにしている、WebアプリとBaaSは親和性が高いと考えている。
- Kii株式会社さん
- アリだと思う。元々BaaSに'M'が付くのはMobile(の開発)が特殊だったから
- Ruby on RailsとかはBaaSで置き換えてもよいのではと考えている。
- ネイティブ/Webアプリの文脈→前者はbaaSある。
- WebアプリはBaaSが取りに行ってないし、やろうという人もいない。我々としても後者にチャレンジしたいと考えている。
- ニフティ株式会社さん
- JavaScript SDKでキー書き出す。
- セキュリティはsignatureチェック、機能制限をかけようという考えている。
- PhoneGap→ブラウザオンリーでアプリが作成できるという開発環境。ライトなアプリはこれで十分。
- アピアリーズさん
(テーマその4.)今回の参加者からアンケートを取ったらサーバ系の人が多い。インフラ/DB/ミドルの構成教えて
(テーマその5.)言ってみればBaaSってサーバエンジニアをいらなくする技術なのでは?そう考えた時にサーバエンジニアのキャリアパスは?
質疑応答
Q1.BaaSを使ってmobile appを作ることを考えたとき、どういうアプリがBaaSに向いていると思いますか?
- アピアリーズさん
- 弊社のBaaSではキャンペーンアプリが多いという歴史があり、短期間、低コストであった。
- ヘビーなアクセスがあるようなゲームは自前のインフラとか考慮したりする必要があるので向いてないと思う。
- Kii株式会社さん
- 我々が色々な企業さんと話すと、いろいろなジャンルに向いていると思う。
- BaaSはテクニカルじゃない部分がある。
- アプリを複数持つとバックエンドを共通化したくなる。
- そのため、アプリではなく業務として共通化したいのでは。
- ニフティ株式会社さん
- 私もなんでもできると思っている。
- IaaSと同じでun-controllableなものをどうするかという点ではBaaSも同じ。
- un-controllableな箇所を許容できるならもつ、そうでないなら持たない。
- アピアリーズさん
Q2.将来どこで他社と差別化(機能、料金とか)を図ろうと考えていますか?
Q3.(Kii株式会社さんはオンプレを提供しているが)なぜオンプレしようと思ったのですか?また、他の会社はオンプレやる予定はありますか?
- アピアリーズさん
- オンプレはOEMで提供を検討している会社が数社ある。
- Kii株式会社さん
- オンプレに踏み切った理由→エンプラ向けの需要があるから。
- 米国のBaaS業者もエンプラに行っている。
- 既にあるエンプラ(MEEP)を喰いに行っている。
- ニフティ株式会社さん
- オンプレの話は問い合わせが多々ある。エンプラ系で多い。
- が、現状はできていない。検討は引き続き行っており、うまい方法があるか考えている。
- アピアリーズさん
飛び入りLT
質疑応答の後、自作BaaSサービスを作成された方の飛び入りLTがありました。福岡からの参加(!)とのことでした。
- 発表者は@nobkzさん
- Milkcocoaという自作BaaSサービスの紹介
- エンドユーザがWebアプリを作れないか!という観点で作成した
- あわせてflowerというグラフィカル言語の紹介
- Raspberry Piの上でも稼働するようです
まとめ
BaaS勉強会のメモをまとめてみました。今回は予習をしていったので楽にメモをまとめられると考えていたのですが、やはり四苦八苦してしまいました。メモを取りながら話のつながりをリアルタイムにまとめあげるという要領のよさが必要そうです...。