継続的インテグレーション(Continuous Integration)は円環的で、「ろくろ」に似ているから「Rocro株式会社」。ソニーグループのエンジニアたちがソフトウェア開発者向けツールサービスを開発・販売する新会社を設立し、米国のスタートアップ企業や日本の先端企業への売り込みを始めた。どういうサービスを提供しようとしているのか。
継続的インテグレーション(Continuous Integration)は円環的で、「ろくろ」に似ているから「Rocro株式会社」。ソニーグループのエンジニアたちがソフトウェア開発者向けツールサービスを開発・販売する新会社を設立し、米国のスタートアップ企業や日本の先端企業への売り込みを始めた。
Rocroの中核メンバーは、ソニーのPlayMemories OnlineやSmart Tennis Sensorなど、Webサービスのためのクラウド基盤の再構築を担った人々。2014〜15年にAmazon Web Services(AWS)をベースとして構築した新基盤では、各種サービスに共通の機能に限定して実装を行い、外部サービスの利用を徹底。自動化を進めた結果、デプロイ時間は数日から30分に短縮、開発の並列化により開発効率は6倍以上に改善、更新・メンテナンスの工数は3分の1に減少した上、運用工数はほぼゼロになったという。
この過程でメンバーたちが感じたのは、ソフトウェア開発者を支援するサービスこそ、米国を中心に多数生まれてきてはいるものの、完成度や使い勝手といった点では、これといったものが非常に少ないということだった。
そこで、開発と運用の自動化・効率化を実現するサービスを自分たちで開発し、提供することで、世界中のソフトウェア開発者に喜んでもらえると考えたという。クラウド基盤は、現在ではソニーネットワークコミュニケーションズが担当している。ソフトウェア開発者向けサービスについては、一事業として機動的な運営を進めるため、ソニーネットワークコミュニケーションズの100%出資による別会社が設立された。それがRocroだ。
Rocroはまず、次の3つのサービスの提供を進めている。
記事執筆時点で、InspecodeとDocstandはパブリックβテスト段階に入っており、誰でも無償で利用できる。Loadroidのみ、まだクローズドテスト中だが、申し込めば使ってもらえるようにしたいとしている。3サービスについては、2017年4月からクローズドβテストを実施しており、60社以上が使っているという。
なお、Rocroはこれらのサービスを、Google Cloud PlatformのGoogle App Engine(GAE)で動かしている。GAEを使うことにより、インフラ周りの運用を考える必要がなくなること、コスト効率が高いことなどが理由だという。
以下では、それぞれのサービスの概要を紹介する。
InspecodeはGitHub、Bitbucketと連携したコード解析サービス。コードがレポジトリにプッシュされると、その都度自動的に静的解析を実行する。
第1の特徴は、多数の開発言語に対応し、一貫したインタフェースを提供すること。Inspecodeではレポジトリごとに使われている開発言語を自動識別。Pythonではpyflakes、JavaではCheckstyle、GoではGofmt、Golintなど、40以上の解析ツールから適切なものを適用する。また、リポジトリを検索して、各ツールの設定ファイルを自動適用するという。
第2の特徴は、ツール単位での並列処理により、処理時間を短縮していること。Rocro代表取締役社長の小早川知昭氏によると、「例えば他ツールでは1時間かかっているものが、10分程度で終えられるケースもある」という。
第3の特徴は、一部自動修正も行ってくれることだ。修正内容を確認した後、プルリクエストを自動発行。マージにつなげることができる。現時点で対応しているのはCheckstyle、Golint、Gosimple。代表取締役CTOの峯尾嘉征氏は、今後対応ツールをさらに増やしていきたいとしている。
Inspecodeでは図のようなダッシュボードを提供。イシューの数、修正済みイシューの数、複雑性の度合い、言語別内訳などが把握できる。ドリルダウンすることで、個々のイシューを、深刻度の順にリスト表示する。トレンド表示画面では、時系列的にイシューと修正の傾向を把握でき、イシューの数が順調に減少しているかどうかを確認できる。
DocstandはAPIドキュメントを自動生成するサービス。Inspecodeと同様に、コードがGitHubあるいはBitbucketにプッシュされると、自動的にAPIドキュメントを生成する。開発者の手間が省ける他、常に最新のドキュメントが維持できるメリットもあるとする。こちらも使用言語を自動検出し、適切なツールを適用する。
Docstandによって生成されたAPIドキュメントは同サービスでホストする。対応するコードのリポジトリに対する読み出し権限を持つユーザーしか読むことができない。
Loadroidは、負荷試験を簡単に実行できるサービス。YAMLでシナリオを書くだけで、クラウド上に負荷をかけるサーバ群が自動構築され、試験が実行される。
結果として、レスポンスタイム、スループットの他、リクエストカウントのグラフではHTTPステータスコード別の内訳が表示される。「例えば5xx系のエラーがどれくらいあるかが一目で分かる」(峯尾氏)。機能追加がパフォーマンスに与える影響を、リリース前に確認するなどが容易にできるとする。
Rocroは、InspecodeおよびDocstandについては、今後数カ月以内に、サービスの正式提供を開始する予定だ。正式提供開始後も、個人による少量の利用については無償とするなど、フリーミアム形態で運営を進めたいという。
Rocroは日本国内の先進ユーザーへの働き掛けも行うが、主なターゲットとして考えているのはシリコンバレーをはじめとする米国のテクノロジースタートアップ企業だ。
同社の調査によると、米国のテクノロジースタートアップ企業は約70%が開発者向けSaaSを利用しているという。また、開発者向けツール購買の動機として最も多いのは「他者の推薦」。従って、いいプロダクトを作り、インフルエンサーに気に入ってもらえれば、日本の新規参入企業でも成功できる可能性があると、小早川氏は話す。
Rocroは2017年10月中旬にサンフランシスコで開催されるGitHub Universeに出展する他、シリコンバレーで小規模な勉強会を頻繁に開催するなどし、徐々に同社サービスの利用を広げていこうとしている。
Copyright © ITmedia, Inc. All Rights Reserved.