顧客事例

Rocro株式会社の導入事例:GAE + GKE をフル活用し、高品質な開発者向け SaaS サービスをソニーグループである Rocro株式会社が少数精鋭で開発・運用

rocro400x82.png

独 Travis CI 社など、シリコンバレー以外の企業が大きな存在感を示しているソフトウェア開発者向け SaaS 市場に、この秋、新鋭スタートアップが 3 つの画期的サービスで参戦し話題を呼んでいます。そして、そのサービスの実現には Google Cloud Platform が採用されているとのこと。数ある選択肢の中から、なぜ Google Cloud が選ばれたのか、その理由を聞いてきました。

_FewAZGhL1gYn15Z3H8nzCSjFNL5AmxJxjjMNR6NtASS5JIsfZccAg5yao5vylCi6xR9LkunGXQlL_Ky1qzVbW4IVsWJijn-1XJIltRzb6I17XmWG7iuv5pWKlgDKxLsRV6tiv0Lxh26.JPEG

■写真左から
 Rocro株式会社 代表取締役社長 小早川 知昭氏(写真左)
 Rocro株式会社 代表取締役 CTO 峯尾 嘉征氏(写真右)

■ 利用している Google Cloud Platform サービス
Google Container EngineGoogle App Engine など

Rocro株式会社
2017 年 9 月、ソニーネットワークコミュニケーションズ株式会社の子会社として事業開始。世界中のソフトウェア開発者がより本質的な開発に集中できるようにすべく、開発者向け SaaS 事業を『Rocro』のサービスブランドで展開する。初期サービスは『Inspecode』『Docstand』『Loadroid』の 3 種。これらのサービスはパブリックベータ版として、当面無償で提供される(『Loadroid』は後日提供開始予定)。

ソニーグループの開発者向けサービスがいよいよ一般公開

規模の大きなソフトウェア開発において、今や必要不可欠なものになりつつあるソフトウェア開発者向け SaaS。ソースコードのバージョン管理サービス「GitHub」などは、定番中の定番と言えるでしょう。Rocro が目指すのは、ここに新たな定番の座を築くこと。まずは 3 つのサービスをこの秋から順次提供開始。その詳細について、同社 代表取締役社長 小早川 知昭さんが説明してくれました。

「Rocro の開発者向け SaaS 第 1 弾となる『Inspecode(インスペコード)』は、自動コードレビューサービス。Checkstyle や golint、pyflakes など、50 種以上のツールでコード解析を行うほか、強力な自動修正機能も提供しています。中でもとりわけ大きなアドバンテージが処理の並列化による高速解析。多数のツールを自動的に、同時に走らせてくれるので、ユーザーが素早く結果を得ることができます。ケースによって異なりますが、従来ツールをシーケンシャルに実行するのと比べて数倍は早くなっているのではないでしょうか。」(小早川さん)

加えて『Inspecode』では、レビュー開始前の手間も大幅軽減。従来ツールでは静的解析を始めるために、ツールごとに面倒なセットアップが必要になっていましたが、『Inspecode』ではこれらも全て自動化してくれるのだそうです。その上さらに間違ったコードを自動的に正しい記述に改めてくれる自動修正機能も搭載。「ここまで高性能、多機能なコードレビューサービスは『Inspecode』だけのはず。」と小早川さんは胸を張ります。

Inspecode12o16.PNG
『Inspecode』の見やすいダッシュボード。
Inspecode2jjxx.PNG
ソースコード解析実行時にオンデマンドでサーバーを割り当て、解析を並列実行。

そして、それと同時に API ドキュメント生成&ホスティングサービス『Docstand(ドックスタンド)』もサービスを開始。これは面倒なドキュメントの生成・維持・管理・公開を自動化してくれるというもので、やはり作業の自動化が大きな売りとなっています。さらに近日中には、自動負荷試験サービス『Loadroid(ロードロイド)』も投入予定。これは、手間のかかる負荷試験を簡単なシナリオを書くだけで実施できるようにするというものです。社内のテストでは、これまで 2 週間かかっていた負荷試験(準備期間含む)が、わずか 4 時間で終わってしまったというケースもあるのだとか。

ちなみにこれらのサービスは全て、元々はソニー社内で利用していたもの。それを社外に向けて提供するために Rocro が立ち上げられました。その開発背景について、3 つのサービス全てで開発を主導する代表取締役 CTO 峯尾 嘉征さんは次のように当時をふり返ります。

「ソニー社内でプロジェクトが立ち上がったのは 2015 年春。当時、ソニーでは数多くの Web サービスの開発を行っており、それを効率的に進めるため、最先端の開発ツールや、SaaS、PaaS を最大限に活用していました。しかし、実際に使ってみるとそこにはまだまだ改善の余地がある。中でも特に大きな不満を感じていた点を解消すべく作りあげたのが、この 3 つのサービスとなります。」(峯尾さん)

「実は、当初からこれらの外部提供は意識していました。と言うか、そのレベルのものにならなければ、社内でも使ってもらえません。開発の手法は企業によってそこまで大きくは変わりません。最も効率の良い手法を追求していくと、結局同じような結論に行き着くからです。我々はこれらのサービスを提供することで、そのトップランナーの 1 人になりたいと考えています。」(小早川さん)

ZpBzN0mnq4bq1tNPBxzqrNWhIZNXT3264uXiJ8GlTGLsXLa3Nv9Xul_TPB4A0uNw2E_qjI0RSy7bNgPQSRvw8yeTXI3gUVRzdmTOaRWI2Fv-RbK6p3B9K-7VUUliNqIHXFZPt-thu5az.JPEG

サービスの開発・運用に Google Cloud Platform の先端テクノロジーが活躍

Rocro の 3 つのサービスには GCP の最新テクノロジーを積極活用。 GCP を選んだ理由を聞いたところ、「料金が安いということも大きな魅力だったのですが、何より大きかったのが、Google App Engine(GAE)の存在。プロジェクトが始まった当初はチームの規模も小さく、専任のインフラエンジニアを置く余裕がなかったのですが、インフラストラクチャ周りが完全に抽象化されたフルマネージドなプラットフォームであるGAE ならその必要がありません。むしろ、それぞれの開発者が好きなときにデプロイできるため、開発効率が向上したほど。結果、チーム規模が数倍になった現在でも、専任のインフラエンジニアは存在しないんですよ。」(峯尾さん)

ちなみに現在、Rocro の 3 つのサービスは GAE と Google Container Engine(GKE)の組みあわせで運用中(ほか、ストレージは Google Cloud Storage、データベースは Google Cloud Datastore を利用)。後者についても、数ある Docker 環境の中から、Google Cloud でなければならない理由があるそうです。

「GKE は、kubernetes をマネージドで提供していることがとても魅力的。『Inspecode』と『Docstand』は、kubernetes の Job という機能を使っており、Git がプッシュされるたびに新たな Job が実行されるという仕組みになっています。この Job がそれぞれアイソレートされた環境で動作すること、使い終わったら簡単に破棄できる点が便利。また、kubernetes は Job 単位で CPU の利用を制限できるので、特定のユーザーがものすごい負荷のかかる Job を走らせても他のユーザーに悪影響がでません。マルチテナントなサービスを安定的に運用するためには必須の機能と言えるでしょう。」(峯尾さん)

Rocro%25E6%25A7%258B%25E6%2588%2590%25E5%259B%25B3_rei1ab.PNG
Rocro 構成図

アップデートが早く、最新のテクノロジーを比較的早く試せるようになることも、Google の美点だと言う峯尾さん。今、注目しているのはずばり Google Cloud Functions。最近流行りのサーバーレステクノロジーを使うことで、利用頻度の低い機能のためにインスタンスを立ち上げっぱなしにしておくコストを削減できるのではないかと期待しているそうです。

「今回発表した 3 つのサービスに共通しているのは、エンジニアの手間を軽減し、よりクリエイティブな面に注力できるようにすること。どれも一度使っていただければ、その便利さを実感していただけるはず。サービス開始当初は β 版と言うことで当面無料でお使いいただけます。β 期間が終了した後も、リーズナブルに使っていただけるようにすることをお約束します。ぜひ、お試しください。」(小早川さん)

Rocro株式会社の導入事例 PDF はこちらをご覧ください。
GCP のその他の導入事例はこちらをご覧ください。