CiscoがArtifactoryを選択した理由

グローバルなCI/CDインフラストラクチャの構築

Diagram

Prathibha Ayyappan
Software Engineer, Build Management Services, Cisco

世界中に3万人のネットワークエンジニアが在籍するCisco

Ciscoは1984年に設立された、世界最大のコンピュータネットワーク機器開発会社です。Ciscoのさまざまなハードウェアやソフトウェアサービスは、スタートアップ企業から大企業まで、あらゆる業界のあらゆる市場セグメントで使用されています。7万人を超える従業員のうち、3万人のエンジニアが世界中で勤務しています。CiscoではBuild Management ServicesチームよりCI/CDツールやサービスを社内のエンジニアへと提供しています。このチームは、会社全体のエンジニアが利用できる共通のCI/CD環境を作成することを業務としていましたが、Ciscoのポリシーからも強制はしていませんでした。

サービスが優秀であれば、開発者たちは興味を持ち、そして参加してきます。

 

CiscoがJFrog Artifactoryを選択した理由

Ciscoは2014年のプロジェクトを開始する前に、厳しい評価プロセスを実施してArtifactoryを選択しました。Artifactoryがすべての主要なビルドツールやCIサーバー、パッケージ形式をサポートしていたことが主な理由です。また、CiscoはハードウェアにRPMを使用する組込ソフトウェアを採用していたため、YUMリポジトリのサポートが強力なArtifactoryはまさにうってつけでした。

CiscoがArtifactoryを選択した理由は、”様々なビルドツール、CIサーバ、パッケージングテクノロジに対する広範囲なサポートがされている”こと、特に”YUMリポジトリのサポートが強力である”ことでした。

 

グローバルCI/CDサービスの進化

CI/CDサービスの最初のリリースには、同社のRaleigh-Durham(RTP)サイトにスタンドアロン版Artifactory Proが含まれていました。Ciscoの主要なエンジニアリングのサイトでより良いパフォーマンスを出すため、サービスの初期段階ではサンノゼ(SJC)データセンターにインストールされました。Artifactoryのレプリケーション機能でサンノゼをメインのサイトに設定した場合、リモートデスクトップ(RDP)でディザスタリカバリ(DR)のサイトを元の場所にフェイルオーバーすることが簡単になりました。

Artifactoryのレプリケーション機能のおかげで、メインのサイトをサンノゼに移行するのは簡単でした。

 

ただし、Ciscoの海外サイトではその時点ではまだ最適なパフォーマンスが得られていなかったため、海外のサイトにも追加でインストールをしました。そしてもう一度Artifactoryのレプリケーション機能を使用してキャッシュを読み取り、すべてのリポジトリをサンノゼのサイトと同期します。しかし、システムが停止した際に問題が発生しました。システムが停止するまでは顧客が満足するレベルのサービスが提供されていました。CI/CDパイプラインは優れたパフォーマンスを出していたのです。システムが停止した時でも顧客へのサービスは継続できたため、停止自体は問題になりませんでした。その後、問題が修正されたときには Artifactoryの使用量がピークに達していたのです。そのためネットワークに負荷がかかり、結果、メインサイトの復旧には数時間かかりました。これはマスターノードを1つしか持たないことが根本的な問題であり、復旧するために世界中へとレプリケーションした場合に機能が停止してしまうことが明らかになったのです。

HA版Artifactoryを導入することにより、米国内だけでなく世界中のすべての顧客に信頼性が高い高性能なサービスを提供できるようになりました。

 

この問題を解決するため、サンノゼのメインサイトにあるArtifactoryをHA(高可用性版)に変更しました。HAでは最大99.999%の可用性が約束されているため、CiscoのBuild Management Servicesチームは、世界中のリモートサイトすべてに堅牢で信頼性が高い高性能なサービスを提供できると判断しました。

しかし、まだ一つ問題が残っていました。米国と海外のサイト間におけるリポジトリとレプリケーション、プロキシの設定では、開発チームに複雑な手動構成プロセスが必要とされるため、リポジトリをプロビジョニングするのに60分から90分かかることです。プロジェクトが大きくなるにつれて、時間がかかりエラーの発生しやすい手動のプロビジョニングがボトルネックになってきました。

そこでチームは、プロビジョニングのプロセス全体を自動化するアプリケーションを作成します。ArtifactoryのREST APIを最大限に活用し、リポジトリ、ユーザー、パーミッションターゲット、レプリケーションの関係性の作成など、リポジトリのプロビジョニングに必要な機能を自動化しました。この自動化によりプロビジョニング時間が98%短縮され平均約2分になり、エラーも発生しなくなりました。

Within One Year

 

結論

CiscoがArtifactoryを選択した理由
豊富なビルドツール、CIサーバー、パッケージ形式とYUMの強力なサポート
多様なケースに対応したレプリケーション機能
自動化のためのREST API

 

Artifactoryは、CiscoのCI/CDインフラストラクチャに選ばれ、同社の3万人以上のエンジニアにサービスを提供しています。Artifactoryはすべての主要なパッケージ形式やYUMリポジトリをサポートしているため、RPMベースで組込ソフトウェアを開発しているCiscoにとっては当然の選択でした。レプリケーションと仮想およびリモートリポジトリで接続された4つのサイトで構成される現在のアーキテクチャになるまで、段階を経てインフラストラクチャは進化しました。世界中のチームがインフラストラクチャを使用するため、ArtifactoryのREST APIを使用して自動化を行い、プロビジョニング時間を98%と劇的に短縮することに成功しました。

CiscoがArtifactoryを採用したことが正しかったことは誰の目から見ても明らかです。導入してわずか1年以内に、4500人以上のエンジニアがArtifactoryで自分のビルドとアーティファクトを管理していました。そしてArtifactoryのREST APIを使用した自動化により、リポジトリで1800時間を超えるプロビジョニングの手作業が削減され、翌年の削減工数は4400に達しました。

Trusted Releases Built For Speed