このページの本文へ

クラウド移行とGitの普及でソフトウェア開発が変わる

CircleCIのジム・ローズCEOに聞いたクラウド型CIツールが必要な理由

2019年06月18日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp 写真●曽根田元

  • この記事をはてなブックマークに追加
  • 本文印刷

 クラウドでのソフトウェア開発では欠かせなくなってきたCI(継続的インテグレーション)を支えるツール「CircleCI」。米CircleCIのジム・ローズCEOは、複数のスタートアップを立ち上げる中、CIツールを自ら開発するようになったという。

CircleCI CEO ジム・ローズ氏

Webからモバイルまで幅広くカバーするクラウド型CIの必要性

――まずはローズさんがCIに関わるようになった経緯を教えてください。

1998年からスタートアップをいくつか立ち上げ、数々の製品のデザインに関わってきた。こうしたスタートアップでは製品をスピーディに作って顧客に届ける必要があるため、開発に大きなプレッシャーがかかっていた。こうして15年くらいは製品をデリバリする側にいたのだが、Eコマース企業を立ち上げた際、モバイルアプリ開発でCIが必要になった。でも、よいCIツールがなかったので、自らCIツールを作り始めた。これがDistillerだ。

――当時、モバイル開発でのCIにはどのような課題があったんでしょうか?

2つの課題があった。まずはモバイルアプリ開発は異なるハードウェアをターゲットとして定めなければならないとことだ。異なるハードウェアを管理するのは困難が伴う。

もう1つの課題は、iOSの場合、マニュアルでレビューするプロセスが必ず入るということだ。たとえばアップルにアプリを提出すると、レビューの回答がくるまでに4~10日かかるのだが、1つでも不具合があると戻ってくる。ミスがあると、結局リリースが遅れてしまうのだ。だから、よいツールを使って、正しくテストを行ない、きちんと動くことを証明できなければ、アップデートすら難しい。

――モバイル開発はもちろんですが、Webの開発も重要ですよね。

2011年の創業当初は、多くの新興企業はWebファーストの方針だったが、2014年にはみんなモバイルファーストになった。そのため、CircleCIはモバイルアプリ向けのDistillerを買収し、すべてをカバーできるようにした。

もともとCircleCIの1.0は汎用的でシンプルなCIツールで、1種類のコンピュートにしかサポートしていなかった。しかし、2.0ではLinux、MacOS、Windowsなど、あらゆるコンピュート、さまざまなに対応した。また、複雑なビルドに対応するためのワークフローを追加し、複雑なパイプラインを分割してCIを管理できるようになった。今のCircleCIはクラウドサービスからモバイルまで幅広くカバーするCIプラットフォームだ。

ソフトウェア開発のクラウド化とGitの普及

――昨今のCIの市場やユーザー動向についても教えてください。

ソフトウェア開発とCIには大きな2つの変化がある。1つ目は、アプリケーションがオンプレミスからクラウドへ移行しているという点だ。これは開発者はコンピュートに即座にアクセスできるようになっていることを意味している。

2つ目はGitHubが普及したことだ。今では、多数のユーザーが開発やテストの環境を共有することで、変更のスピードが格段に速くなっている。つまり、CIシステムそのものの負荷が大きくなっているというこどだ。オンプレミスベースのJenkinsのようなCIツールでは、このスピードに付いていくのが困難になっている。インフラやオペレーションのチームは、クラウドに移行し、サードパーティのツールを使った方が簡単だ。

――開発がスピードアップし、CIの負荷も大きくなっているということですね。

そうだ。エンタープライズ企業もモノリス(単一的)なシステムからマイクロサービスに移行している。多くの開発者がDockerやKubernetisなどコンテナを利用始めている。

――こうした市場動向の中、競合ツールとの差別化を教えてください。

やはり1つのプラットフォームで、あらゆるタイプのコンピュートに対応しているので管理が1箇所で済むということだ。

以前、ほとんどのアプリケーションはカスタムで書かれていたが、今はOSSを使ったり、サードパーティのAPIを使っている。だから、自社のアプリケーションをリリースするときに、さまざまなコンポーネントの状況を知ることが重要になっている。CircleCIはクラウドネイティブであり、単一のプラットフォームでコンポーネントの関係性を管理できる。

また、CircleCIのプラットフォームと他のツールを統合してパッケージする「Orbs」というテクノロジーを持っているのもメリットだ。ユーザー自身が作ったOrbsをOrb Registryで他のユーザーに共有することもできる。

――さまざまなツールを使えるのもCircleCIのメリットですが、逆にテストやチャットなどの機能をユーザーから求められたりしませんか?

われわれはあくまでデリバリパイプラインを最適化する。ツールやテクノロジーは日進月歩で進化していくので、開発者自身がベストのツールを自由に選べるようにした。

5年前スタートアップのものだったCIがエンタープライズにも

――顧客について教えてください。

3人くらいのスタートアップから、FacebookのようなWebジャイアンツ、GMのようなグローバルエンタープライズまで幅広く導入されている。5年前、CIはスタートアップやハイテク企業しかなかったが、ほとんどの業界のエンタープライズがCIに移行するようになっている。日本ではLINE、メルカリ、サイバーエージェント、ZOZOなどが導入しているが、最近では変革を目指しているエンタープライズの導入も増えている。

――今後の進化について教えてください

今日でも多くの人がCIをツールとしか見なしていない。でも、実際は開発者自身が簡単にアプリケーションを作って、リリースできる方法論だ。ツールも重要だが、重要なのはアプリケーションがどのように構築されているかという情報を得ることだ。CircleCI上ではうまくいくのか、いかないのかをいち早く知ることで、ソフトウェア開発のプラクティスを変えることになる。

■関連サイト

カテゴリートップへ

ASCII.jp特設サイト

クラウド連載/すっきりわかった仮想化技術

ピックアップ