クラウドでのソフトウェア開発では欠かせなくなってきたCI(継続的インテグレーション)を支えるツール「CircleCI」。米CircleCIのジム・ローズCEOは、複数のスタートアップを立ち上げる中、CIツールを自ら開発するようになったという。
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上ではうまくいくのか、いかないのかをいち早く知ることで、ソフトウェア開発のプラクティスを変えることになる。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります