グルーヴノーツの Google Cloud Platform 活用事例前半 では MAGELLAN を作成するに至った理由や、そのアーキテクチャーについて、また、なぜ Google を Google Cloud Platform を選んだのかについてお聞きしました。
後半では、グルーヴノーツでの開発方法や社内の雰囲気を中心に聞いていきます。
MAGELLAN で作るバックエンドの形
MAGELLAN で可能なこと、こういったバックエンドが実現できるという例を教えてください。
最首さん: 例えば、自動車、車載器からデータが送信されてくるとします。そのときニーズが 2 つあったとして、1 つはデータを 1 時間おきに集計をして、運行管理したいというニーズ、もう 1 つは、水温の急激な上昇だとか、衝突を検知したとか、インシデント管理したいというニーズ。そうすると送信されてくるデータ 1 個 1 個に対して処理をするということと、連続にストリーミング データとして処理をし続けるということが出てきて、それをどう作るかというと、車の台数が 1,000 台とか 2,000 台だったらいいですけど、100 万台となると難しくなるんですね。
僕らの MAGELLAN を使うと、トランザクションをスプリットするトランザクションルーターという機能があって、一方ではどんどんスケーラビリティのあるストレージにデータを投入して、もう一方ではワーカーを動かして 1 個 1 個データを見て、あ、これはやばいというときにアラート処理が動き始めるとか、こういうことが凄く簡単にできるようにしているんですよ。溜め込んだ大量データは BigQuery で後はよろしくなんですが(笑)
プロトタイプ、フィードバック
話が変わりますが、佐々木さんと最首さんはどういう役割分担をしているのですか?
最首さん: 製品の総責任者は佐々木で、社員にいつまでに何をやってこういう機能を先に出す、出さないという指示をしています。これから MAGELLAN をどう売っていこうか、というのは一緒に話していて、僕はどっちかというとお客さんのところに出向いて、仕事とってきたり、コンサルビジネスをしたりというのをやって、佐々木は製品をよりいいものにしていくというの役割分担をしています。
MAGELLAN の開発は、どのように進められたのですか?
佐々木さん: うちの社内で MAGELLAN の原型になる種みたいなのがあって、それをやろうという話になって Google Cloud Platform を使うということを決めて開発チームが立ち上がって、今 15、6名の体制でやっています。皆新しい技術を追っかけていくのは好きで、エンジニアはその技術を吸収してそれをどう展開するか考えるのは得意なんですけど、そういうことを機能として伝えることとか凄い不得意なんですよね、優秀なエンジニア程。なんでそこを仕切って、だらっとしているところをスプレットシートに書いていくようなことを私がしている感じ。そうこうして落ち着いたのはつい最近なんですけど(笑)、お客さんがついていたので、プロトタイプに近いものは既に導入していたんですね、そこでのフィードバックをもとに MAGELLAN というものを12月の末にリリースしたという感じです。
最首さん: 一番最初は、去年の6月にプロジェクト ランディというものを立ち上げてですね、なんでランディかというとバース(BaaS)を作ろうと思ったんで、バースと言えばランディだろうと(笑)大変不評で。それでこういうのを作ろうと、ホワイト ペーパーを、どういうのをターゲットにして、おおまかにどんなアーキテクチャーで、どんな機能が必要で、それはどんなことをやるもので、というのを書いたんですね、こういうのをやりたいと。こうのがあったら絶対いけると。社内の半分くらいの人間はなるほど、もう半分くらいの人間はポカーンと、一部の人間は意味ないんじゃないかと(笑)。それで、少人数 2 人くらいでプロトタイプを作って、ある程度形ができて大きくして、本格的になってきたところで、よろしくと(佐々木さんへ)
開発のとき、どういうプロセスで進めているのですか?
最首さん: アジャイルですね。最初はコンセプトありきで、そのコンセプトを実装して、ディスカッションして、また実装してと永遠と繰り返している感じですね。まず作ってみないとわからないことがあるんです。
佐々木さん: あと使ってみてもらうものがないとわからない、ということで最初 3 社さんに使ってもらって、フィードバックいただいて、SDK も含めてフィードバックをもらいながら次期リリースの内容を決めるというのを私の方でジャッジメントしながら。
最首さん: MAGELLAN には、シェアードモデルとデディケートモデルとあって、今ベータ リリースしているのはシェアードモデルの方で、ようするにリソースを皆でシェアする。デディケートは専用環境で、そこから営業を始めています。デディケートだとオンライン決済の機能もいらないですし、わかりやすい GUI もある程度なくてもいい。だから基本的な機能が出来あがったタイミングでこっちを売って、自動車関連、ゲーム、流通系の会社に使ってもらっています。そうするといろんな問題が出てくるわけです、こういうの必要だよねとか、ここわかりにくいだとか。どんどんフィードバック受けながらブラッシュアップしているんですよ。
佐々木さん: 案件毎のフィードバックを常に聞いて、次期リリースの機能の棚卸しをリリース前に必ずやってます。それにあわせて皆動いていて、そのマイルストーン毎にどういう機能をリリースをするのか、アジャイルはアジャイルなんですけど、チケット駆動というわけではなくて、スケジュール厳守の開発手法になってます。
開発を進めていく上で、使っているツールは?
佐々木さん: GitHub を使っていて、GitHub のイシューを中心に使ってますね。そこを中心にディスカッションするし、そのマイルストーンとかアサインも全部そこでやって。あと Slack は結構使っています。お客様毎にそれぞれグループが作れるというのは、セキュリティ上わかりやすく、お客様に導入しやすいし、GitHub が Slack と連携できるので、イシューの変更があった場合、Slack のチャットルームに全部飛ばしてます。あと、常時連絡を取りたいときのツールとしては、音声じゃなくてチャットでいいんで、メールは殆ど使ってないですね、契約上のやり取りをするときに、履歴を残すという使い方で社内の連絡用には使ってないです。ドキュメントは Google Apps、東京と福岡にスタッフがいるので Docs で共有してディスカッションしたり。あと音声つないで東京と喋るとか、必要に応じて福岡に来てもらったりとか。開発チームが殆ど福岡なんですよ。
最首さん: 福岡に拠点があることの良さはいろいろあって、人と人との距離が近く、通勤時間が少なくて、みんな 15 分とかだいたい 30 分以内くらいで通勤しているし、天神のど真ん中、そこそこ都会ですし。一時期は社内でまかない作ってみんなで食べたりしていたんですよ。
佐々木さん: まかない文化は、2007年くらいに(USの)Google さんに始めていって、そのときのランチミーティングが発祥なんですよ。これいいわ、と思って。それでずっと社内でまかないやりたくて。あの頃は、Google の話が今みたいに浸透してなくて、自分が会社作るときは絶対まかないやりたいなと思ってたんですよ。チームが別れると、いろんな人と話さなくなっちゃうんだけど、ランチが一緒だとしゃべるし、というアドバイスをたまたま Google に行ったときに教えていただいたんです。あと Dogfood の文化も。私が Dogfood の文化を聞いていたので、Google さんの出す製品についてはかなり社内で検証されたものしか出さないと聞いていたので安心感がある。
スピードとビジネスの成長にフォーカスした、クラウドの選択
では最後に、今回 Google Cloud Platform を使っていただいた感想と、今後どう使っていきたいか教えてください。
最首さん: Google とちゃんと付き合うということによって、これから何をしようとしているのかということを知ることができる。これは僕らのようなサービスカンパニーにとってはとても重要なことです。自分で頑張ってこれからどうしようと考えるのと、もう一つベンチマークとして Google のような巨大な企業が、いろいろな情報に対するアプローチを持ってる会社が今何を考えているのか知れますから。時々、びっくりするようなものが出てくるので、僕らが抱えているニーズにハマったりすると、破壊的なことが起きる。最近、そういうことが多くて恐れ入ってるんですけどね。これが他のベンダーだったら、さっき言ったようにサーバの値段が安くなりましたとか、SSD がついて、早くなりましたとか、それは何のイノベーションでもない気がするんです。
その点について、今選択肢としてはオンプレミスもあるでしょうし、Google Cloud Platform も、MAGELLAN も他のクラウド ベンダーもある中で、どういう基準で選んでいくべき時代だと思いますか?
最首さん: いろんな観点があると思うんですが、エンドユーザーは自分たちがやろうとしていることがもっとも簡潔にできて、コストがかからないものを選ぶべきだと思います。でもそれは、今までこうだったから、慣れているから、というのは忘れた方がいい。ドラスティックにびっくりするほど変わってきているので、慣れているからと 100 の努力でやっていたことが、1 の努力くらいで済んだりするんですよ。ちゃんと勉強して、ちゃんと調べて、ちゃんと評価して、その中で最適なものを選ぶということが常にエンドユーザーの視点であるべきだと思います。僕らみたいなサービス ベンダーにとって何が重要かというと、コンピューターを安く手に入れることが重要なのではなくて、やろうとしているサービスがドラスティックな結果を生みだせるか、劇的な効果とか、劇的なサービスの変化を世の中にもたらせるか、ということを考えなきゃいけない。今までこうだと思ってきたことが、がらがら変わっているので、あまり先入観なくフラットに今ある技術を評価しなきゃいけないですね、それができなければ人のいいなりになるしかないかなと。
佐々木さんはいかがですか?
佐々木さん: 見てると、どこもかしこもどんな企業も IT 部門がないと駄目な状況になってるんですけど Google の仕組みを使うとあまり必要がない。例えば、データセンター選んで、というのもいらないし、Google Apps を入れてみたいな話から、Google Cloud Platform を使えば直ぐにサービスを作り始められる利便性、BigQuery があればデータをとりあえず投げ込んで SQL をたたけばいい。それをしようとデータベースを何にしようかと考える必要もなく、専門性のある人を連れてこなくてもいいという導入のしやすさ。今までのビジネスを変えずに取り組めるという状況に近くになってきているので、選択肢としてはそういう考え方の方がいいのかなと。
他のベンダーだと結局インフラ エンジニアがいるし、データベースエンジニアいるしと、エンジニアもいないし、人集める方が大変。ゲームがわかりやすくて、今までフロントばかり作ってた人が、ネットワークが必要なゲーム、運用が必要なゲームという流れの中で、その継続していく仕組みを自分たちが持たなければならないという時代におもむろに放り出されたのがゲーム業界の人たちなんですよね。それをやるには人を探さなきゃいけないんですけど、それが IT の人なのかなんなのか、ゲーム会社の人たちはまだ漠然とわかってないんです。そういう人たちに対しては、やっぱり今までフロントに注力できてたんだが、もっと注力できる仕組みとして、他のベンダーより Google の方がいい。
さらに MAGELLAN であったら。
佐々木さん: その通りです。今ゲーム会社さんも、Ruby on Rails はできないけど、Javascript ならできるということで Node.js で書いてもらっているお客様もいるんですよ。そこだけ今までやってきたことを、ちょっとだけ毛が生えた程度でも学べば、実際に直ぐに導入してもらえて、もう明日から使えるって。それをデータセンター借りてとなると、明日からは使えない。そのスピード感をどれだけ持てるか、という選び方は重要なのではないかと思います。
最首さん: 最近思うんですけど、やっぱり今の時代はできるだけ速くいろんなことがやれた方がいいし、コストもかけないでやったほうがよくて、でも企業経営していく上で SWOT 分析みたいな考えでいくと、その弱みを消して強みを伸ばしてというけれども、弱みなんて消さなくていいんじゃないかと思うんですよ。弱いと思うことはやらない。強みをとにかく伸ばすことに全経営資源投入するみたいな。じゃあ弱いところをどうするのかというと、ここで自分の会社が競争するわけではないので、どっかを使えばいいという時代になってるんだと思うんですよね。会社の弱いところを 1 個 1 個潰していったらとてつもないことになって、それは巨大企業でも成立しない。
コンピューターのリソースも、どんどんトランザクションが増えていくと運用が最も重いコストになるわけですよ。そこにいかに手間をかけないか、インフラに関するノウハウをできるだけ知らなくて済むようにする、という方向が、ひとつ考えていくべきことだと思います。これから IoT のサービスを考えたりだとか、新しいゲームを作りたいという人にとってはインフラのノウハウは重要ではないわけですよね。それよりも本当にビジネスになることをいろいろトライしてみて、本当に世の中に受け入れられるサービスの形を模索しなければならない。そういうところに特化してサービスを作っていくべきだと思うんですよ。なので、是非 MAGELLAN を使ってください(笑)。
- Posted by Google Cloud Platform Japan Team
■ Google Cloud Platform のその他の
導入事例はこちら から
グルーヴノーツの Google Cloud Platform 活用事例前半 で は MAGELLAN を作成するに至った理由や、そのアーキテクチャーについて、また、なぜ Google を Google Cloud Platform を選んだのかについてお聞きしました。
後半では、グルーヴノーツでの開発方法や社内の雰囲気を中心に聞いていきます。
MAGELLAN で作るバックエンドの形
MAGELLAN で可能なこと、こういったバックエンドが実現できるという例を教えてください。
最首さん: 例えば、自動車、車載器からデータが送信されてくるとします。そのときニーズが 2 つあったとして、1 つはデータを 1 時間おきに集計をして、運行管理したいというニーズ、もう 1 つは、水温の急激な上昇だとか、衝突を検知したとか、インシデント管理したいというニーズ。そうすると送信されてくるデータ 1 個 1 個に対して処理をするということと、連続にストリーミング データとして処理をし続けるということが出てきて、それをどう作るかというと、車の台数が 1,000 台とか 2,000 台だったらいいですけど、100 万台となると難しくなるんですね。
僕らの MAGELLAN を使うと、トランザクションをスプリットするトランザクションルーターという機能があって、一方ではどんどんスケーラビリティのあるストレージにデータを投入して、もう一方ではワーカーを動かして 1 個 1 個データを見て、あ、これはやばいというときにアラート処理が動き始めるとか、こういうことが凄く簡単にできるようにしているんですよ。溜め込んだ大量データは BigQuery で後はよろしくなんですが(笑)
プロトタイプ、フィードバック
話が変わりますが、佐々木さんと最首さんはどういう役割分担をしているのですか?
最首さん: 製品の総責任者は佐々木で、社員にいつまでに何をやってこういう機能を先に出す、出さないという指示をしています。これから MAGELLAN をどう売っていこうか、というのは一緒に話していて、僕はどっちかというとお客さんのところに出向いて、仕事とってきたり、コンサルビジネスをしたりというのをやって、佐々木は製品をよりいいものにしていくというの役割分担をしています。
MAGELLAN の開発は、どのように進められたのですか?
佐々木さん: うちの社内で MAGELLAN の原型になる種みたいなのがあって、それをやろうという話になって Google Cloud Platform を使うということを決めて開発チームが立ち上がって、今 15、6名の体制でやっています。皆新しい技術を追っかけていくのは好きで、エンジニアはその技術を吸収してそれをどう展開するか考えるのは得意なんですけど、そういうことを機能として伝えることとか凄い不得意なんですよね、優秀なエンジニア程。なんでそこを仕切って、だらっとしているところをスプレットシートに書いていくようなことを私がしている感じ。そうこうして落ち着いたのはつい最近なんですけど(笑)、お客さんがついていたので、プロトタイプに近いものは既に導入していたんですね、そこでのフィードバックをもとに MAGELLAN というものを12月の末にリリースしたという感じです。
最首さん: 一番最初は、去年の6月にプロジェクト ランディというものを立ち上げてですね、なんでランディかというとバース(BaaS)を作ろうと思ったんで、バースと言えばランディだろうと(笑)大変不評で。それでこういうのを作ろうと、ホワイト ペーパーを、どういうのをターゲットにして、おおまかにどんなアーキテクチャーで、どんな機能が必要で、それはどんなことをやるもので、というのを書いたんですね、こういうのをやりたいと。こうのがあったら絶対いけると。社内の半分くらいの人間はなるほど、もう半分くらいの人間はポカーンと、一部の人間は意味ないんじゃないかと(笑)。それで、少人数 2 人くらいでプロトタイプを作って、ある程度形ができて大きくして、本格的になってきたところで、よろしくと(佐々木さんへ)
開発のとき、どういうプロセスで進めているのですか?
最首さん: アジャイルですね。最初はコンセプトありきで、そのコンセプトを実装して、ディスカッションして、また実装してと永遠と繰り返している感じですね。まず作ってみないとわからないことがあるんです。
佐々木さん: あと使ってみてもらうものがないとわからない、ということで最初 3 社さんに使ってもらって、フィードバックいただいて、SDK も含めてフィードバックをもらいながら次期リリースの内容を決めるというのを私の方でジャッジメントしながら。
最首さん: MAGELLAN には、シェアードモデルとデディケートモデルとあって、今ベータ リリースしているのはシェアードモデルの方で、ようするにリソースを皆でシェアする。デディケートは専用環境で、そこから営業を始めています。デディケートだとオンライン決済の機能もいらないですし、わかりやすい GUI もある程度なくてもいい。だから基本的な機能が出来あがったタイミングでこっちを売って、自動車関連、ゲーム、流通系の会社に使ってもらっています。そうするといろんな問題が出てくるわけです、こういうの必要だよねとか、ここわかりにくいだとか。どんどんフィードバック受けながらブラッシュアップしているんですよ。
佐々木さん: 案件毎のフィードバックを常に聞いて、次期リリースの機能の棚卸しをリリース前に必ずやってます。それにあわせて皆動いていて、そのマイルストーン毎にどういう機能をリリースをするのか、アジャイルはアジャイルなんですけど、チケット駆動というわけではなくて、スケジュール厳守の開発手法になってます。
開発を進めていく上で、使っているツールは?
佐々木さん: GitHub を使っていて、GitHub のイシューを中心に使ってますね。そこを中心にディスカッションするし、そのマイルストーンとかアサインも全部そこでやって。あと Slack は結構使っています。お客様毎にそれぞれグループが作れるというのは、セキュリティ上わかりやすく、お客様に導入しやすいし、GitHub が Slack と連携できるので、イシューの変更があった場合、Slack のチャットルームに全部飛ばしてます。あと、常時連絡を取りたいときのツールとしては、音声じゃなくてチャットでいいんで、メールは殆ど使ってないですね、契約上のやり取りをするときに、履歴を残すという使い方で社内の連絡用には使ってないです。ドキュメントは Google Apps、東京と福岡にスタッフがいるので Docs で共有してディスカッションしたり。あと音声つないで東京と喋るとか、必要に応じて福岡に来てもらったりとか。開発チームが殆ど福岡なんですよ。
最首さん: 福岡に拠点があることの良さはいろいろあって、人と人との距離が近く、通勤時間が少なくて、みんな 15 分とかだいたい 30 分以内くらいで通勤しているし、天神のど真ん中、そこそこ都会ですし。一時期は社内でまかない作ってみんなで食べたりしていたんですよ。
佐々木さん: まかない文化は、2007年くらいに(USの)Google さんに始めていって、そのときのランチミーティングが発祥なんですよ。これいいわ、と思って。それでずっと社内でまかないやりたくて。あの頃は、Google の話が今みたいに浸透してなくて、自分が会社作るときは絶対まかないやりたいなと思ってたんですよ。チームが別れると、いろんな人と話さなくなっちゃうんだけど、ランチが一緒だとしゃべるし、というアドバイスをたまたま Google に行ったときに教えていただいたんです。あと Dogfood の文化も。私が Dogfood の文化を聞いていたので、Google さんの出す製品についてはかなり社内で検証されたものしか出さないと聞いていたので安心感がある。
スピードとビジネスの成長にフォーカスした、クラウドの選択
では最後に、今回 Google Cloud Platform を使っていただいた感想と、今後どう使っていきたいか教えてください。
最首さん: Google とちゃんと付き合うということによって、これから何をしようとしているのかということを知ることができる。これは僕らのようなサービスカンパニーにとってはとても重要なことです。自分で頑張ってこれからどうしようと考えるのと、もう一つベンチマークとして Google のような巨大な企業が、いろいろな情報に対するアプローチを持ってる会社が今何を考えているのか知れますから。時々、びっくりするようなものが出てくるので、僕らが抱えているニーズにハマったりすると、破壊的なことが起きる。最近、そういうことが多くて恐れ入ってるんですけどね。これが他のベンダーだったら、さっき言ったようにサーバの値段が安くなりましたとか、SSD がついて、早くなりましたとか、それは何のイノベーションでもない気がするんです。
その点について、今選択肢としてはオンプレミスもあるでしょうし、Google Cloud Platform も、MAGELLAN も他のクラウド ベンダーもある中で、どういう基準で選んでいくべき時代だと思いますか?
最首さん: いろんな観点があると思うんですが、エンドユーザーは自分たちがやろうとしていることがもっとも簡潔にできて、コストがかからないものを選ぶべきだと思います。でもそれは、今までこうだったから、慣れているから、というのは忘れた方がいい。ドラスティックにびっくりするほど変わってきているので、慣れているからと 100 の努力でやっていたことが、1 の努力くらいで済んだりするんですよ。ちゃんと勉強して、ちゃんと調べて、ちゃんと評価して、その中で最適なものを選ぶということが常にエンドユーザーの視点であるべきだと思います。僕らみたいなサービス ベンダーにとって何が重要かというと、コンピューターを安く手に入れることが重要なのではなくて、やろうとしているサービスがドラスティックな結果を生みだせるか、劇的な効果とか、劇的なサービスの変化を世の中にもたらせるか、ということを考えなきゃいけない。今までこうだと思ってきたことが、がらがら変わっているので、あまり先入観なくフラットに今ある技術を評価しなきゃいけないですね、それができなければ人のいいなりになるしかないかなと。
佐々木さんはいかがですか?
佐々木さん: 見てると、どこもかしこもどんな企業も IT 部門がないと駄目な状況になってるんですけど Google の仕組みを使うとあまり必要がない。例えば、データセンター選んで、というのもいらないし、Google Apps を入れてみたいな話から、Google Cloud Platform を使えば直ぐにサービスを作り始められる利便性、BigQuery があればデータをとりあえず投げ込んで SQL をたたけばいい。それをしようとデータベースを何にしようかと考える必要もなく、専門性のある人を連れてこなくてもいいという導入のしやすさ。今までのビジネスを変えずに取り組めるという状況に近くになってきているので、選択肢としてはそういう考え方の方がいいのかなと。
他のベンダーだと結局インフラ エンジニアがいるし、データベースエンジニアいるしと、エンジニアもいないし、人集める方が大変。ゲームがわかりやすくて、今までフロントばかり作ってた人が、ネットワークが必要なゲーム、運用が必要なゲームという流れの中で、その継続していく仕組みを自分たちが持たなければならないという時代におもむろに放り出されたのがゲーム業界の人たちなんですよね。それをやるには人を探さなきゃいけないんですけど、それが IT の人なのかなんなのか、ゲーム会社の人たちはまだ漠然とわかってないんです。そういう人たちに対しては、やっぱり今までフロントに注力できてたんだが、もっと注力できる仕組みとして、他のベンダーより Google の方がいい。
さらに MAGELLAN であったら。
佐々木さん: その通りです。今ゲーム会社さんも、Ruby on Rails はできないけど、Javascript ならできるということで Node.js で書いてもらっているお客様もいるんですよ。そこだけ今までやってきたことを、ちょっとだけ毛が生えた程度でも学べば、実際に直ぐに導入してもらえて、もう明日から使えるって。それをデータセンター借りてとなると、明日からは使えない。そのスピード感をどれだけ持てるか、という選び方は重要なのではないかと思います。
最首さん: 最近思うんですけど、やっぱり今の時代はできるだけ速くいろんなことがやれた方がいいし、コストもかけないでやったほうがよくて、でも企業経営していく上で SWOT 分析みたいな考えでいくと、その弱みを消して強みを伸ばしてというけれども、弱みなんて消さなくていいんじゃないかと思うんですよ。弱いと思うことはやらない。強みをとにかく伸ばすことに全経営資源投入するみたいな。じゃあ弱いところをどうするのかというと、ここで自分の会社が競争するわけではないので、どっかを使えばいいという時代になってるんだと思うんですよね。会社の弱いところを 1 個 1 個潰していったらとてつもないことになって、それは巨大企業でも成立しない。
コンピューターのリソースも、どんどんトランザクションが増えていくと運用が最も重いコストになるわけですよ。そこにいかに手間をかけないか、インフラに関するノウハウをできるだけ知らなくて済むようにする、という方向が、ひとつ考えていくべきことだと思います。これから IoT のサービスを考えたりだとか、新しいゲームを作りたいという人にとってはインフラのノウハウは重要ではないわけですよね。それよりも本当にビジネスになることをいろいろトライしてみて、本当に世の中に受け入れられるサービスの形を模索しなければならない。そういうところに特化してサービスを作っていくべきだと思うんですよ。なので、是非 MAGELLAN を使ってください(笑)。
- Posted by Google Cloud Platform Japan Team
■ Google Cloud Platform のその他の導入事例はこちら から
0 件のコメント :
コメントを投稿