比較
CRACIとAzure Pipelinesの比較
Azure PipelinesはAzure DevOpsからビルドとデプロイを行い、キャパシティを並列ジョブ単位で販売しています。CRACIは分単位で課金されるGitHub Actions向けのランナーで、すべてのビルドを記録するため、SBOM、ネットワークポリシー、来歴はビルドそのものから得られます。
更新日
結論
Azure PipelinesはAzure DevOpsのCI/CD部分です。Linux、Windows、macOSでビルドとテストを行い、Azure ReposやGitHubと連携し、仮想マシン、コンテナ、オンプレミス、クラウドのターゲットにデプロイします。作業管理、リポジトリ、リリースがAzure DevOpsにある場合や、1つのMicrosoft契約でWindowsとmacOSのビルドが必要な場合には、よく適合します。
CRACIが担う範囲はより狭いものの、その範囲をより深く掘り下げます。CRACIはGitHub Actions向けのランナーです。各ジョブの実行中に、ビルドが取り込むすべての外部依存関係を記録し、ビルドネットワークにエグレスポリシーを適用し、その記録からSBOM、来歴データ、脆弱性監視を生み出します。Azure Pipelinesでは、そうしたエビデンスは各パイプラインに追加するタスクやツールから得られます。
まず実務上の注意点が1つあります。CRACIは現在GitHub Actionsのみに対応しており、GitLab CIとJenkinsはロードマップに掲載されています。Azure Pipelinesには対応していないため、CRACIで実行するにはパイプラインをGitHub Actionsワークフローに移行します。
早見表
| 機能 | CRACI | Azure Pipelines |
|---|---|---|
| 概要 | GitHub Actions向けのセキュアなランナー。 | Azure DevOpsのCI/CD部分。 |
| SBOMの生成方法 | 各ジョブが取得したものから記録、完全性の状態付き | パイプラインに追加するタスクやツール |
| ビルドネットワークのエグレスポリシー | デフォルト拒否または許可、ジョブ前に検証、フェイルクローズ | セルフホストエージェント上で自前で構築 |
| 脆弱性の監視 | 監視対象のSBOMを継続的に再評価 | 追加するタスクやツール |
| CIシステム | 現在はGitHub Actions、GitLab CIとJenkinsはロードマップに掲載 | Azure Pipelines、Azure ReposとGitHubに対応 |
| ホスト型マシン | x86-64とARM64のLinux、1〜32 vCPU。WindowsとmacOSはロードマップに掲載。 | OSごとに1サイズ:LinuxとWindowsは2コア・7 GB、macOSは3コア・14 GB。 |
| 自社マシンでの実行 | 顧客ホスト型ランナー、Enterprise | セルフホストエージェント、Azure DevOps Server |
| デプロイ | CRACIの対象はビルド | VM、コンテナ、オンプレミス、クラウドのターゲット |
| 支払い方法 | 1分あたり$0.004(1 vCPU分あたり$0.002)、秒単位で計測。月額料金なし、SBOMごとの課金なし。 | 並列ジョブ単位:ホスト型ジョブ1つは月1,800分まで無料、以降はホスト型ジョブ1つにつき月額$40で分数無制限、またはセルフホストジョブ1つにつき$15(2026年10月時点)。 |
- 対応
- 一部対応
- 非対応
- ロードマップに掲載
Azure Pipelinesの強み
Azure DevOpsと一体のプラットフォーム。パイプラインは作業管理、Azure Repos、Azure Artifactsと並んでいるため、作業項目、コード、ビルド、パッケージが一か所にまとまります。GitHubでホストされたコードもビルドできます。
すべてのOSに対応。MicrosoftホストエージェントはLinux、Windows、macOSを実行でき、1つの並列ジョブでいずれも同じ料金で実行できます。セルフホストエージェントでは自社のマシンにも広げられ、Azure DevOps Serverを使えばプラットフォーム全体をオンプレミスで運用できます。
ジョブあたり分数無制限。有料の並列ジョブには月間の分数上限がなく、1回の実行は最大360分まで許可されます。ジョブを一日中稼働させているチームは、ビルドにどれだけ時間がかかっても定額で済みます。
デプロイ機能を内蔵。パイプラインはビルドからデプロイまでを担い、仮想マシン、コンテナ、オンプレミスのサーバー、クラウドのターゲットに展開します。
CRACIの違い
SBOMはビルドから生まれる
Azure Pipelinesでは、SBOMは追加したタスクやスキャナーのステップから得られ、通常はマニフェストやロックファイルを事後に読み取ります。しかしビルドは、それらのファイルに書かれている以上のことを行うことがよくあります。インストールスクリプトはコードをダウンロードし、ビルドスクリプトはビルド時に取得を行い、キャッシュはどのロックファイルにも載っていないパッケージを復元します。CRACIはランナーそのものであるため、その通信を把握できます。パッケージを認識するプロキシが、npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソースについて、各ジョブがパッケージソースから取得したものを記録し、依存関係のエビデンスはCIキャッシュとともに引き継がれます。CycloneDXやSPDXの各SBOMは、ジョブごと・キャッシュごとに、どの程度完全かを示します。
ビルドネットワークへのポリシー
Microsoftホストエージェントでは、ビルドがどこにアクセスできるかをユーザーが設定することはできません。セルフホストエージェントでは、ネットワークの仕組みを自前で構築・維持する必要があります。CRACIは各ジョブにエグレスポリシーを適用します。デフォルト拒否またはデフォルト許可で、24の組み込みソフトウェアソースプリセットと型付きカスタムソースを備え、ジョブの開始前に検証されます。ポリシーはフェイルクローズで動作し、違反時にはアラートが送信されます。
出荷したものの監視
APIはSBOM、ネットワークトレース、来歴を返します。CRACIはビルドやリポジトリをまたいで脆弱性を集約し、アドバイザリが公開されるたびに監視対象のSBOMを再評価し続け、どの過去のビルドに脆弱な依存関係が含まれていたかを示すため、影響を受けていた期間がわかります。
並列ジョブ単位ではなく分単位で支払う
Azure Pipelinesが販売しているのは同時実行数です。同時に実行したいビルドごとに、2コア・7 GBの1サイズのみの月額$40のホスト型ジョブが必要です。22営業日にわたり毎日8時間稼働させると、ジョブは1分あたり約$0.0038となり、CRACIの2 vCPUの$0.004をわずかに下回ります。その半分の時間しか稼働しない場合は約$0.0076です。ビルドは集中して発生するため、最も忙しい時間帯のために購入したジョブは、それ以外の時間は遊休状態になります。
CRACIが課金するのはビルド時間だけです。1 vCPU分あたり$0.002(デフォルトの2 vCPUランナーで$0.004)で、秒単位で計測され、月額料金もSBOMごとの課金もありません。より多くの処理能力が必要なジョブは最大32 vCPUを使えます。詳しい比較はCIランナーの料金をご覧ください。
どちらが適しているか
- Azure Pipelinesを使い続けるのは、作業管理、リポジトリ、リリースがAzure DevOpsにある場合、WindowsやmacOSのビルドが必要な場合、同じパイプラインからデプロイする場合、またはジョブが一日中稼働している場合です。
- CRACIを選ぶのは、コードがGitHubにある、またはGitHubに移行中で、各ビルドでリリースに何が含まれたかの記録を、ビルド時間単位の料金で得たい場合です。
- 両方を使うのは、段階的に移行する場合です。選択はパイプラインごとなので、LinuxのビルドはCRACI上のGitHub Actionsに移し、Windows、macOS、デプロイのパイプラインはそのまま残せます。
CRACIを選ぶことで手放すものも明確にしておきましょう。CRACIはソフトウェアのデプロイを行いません。現在はLinuxのジョブのみに対応しており(WindowsとmacOSはロードマップに掲載)、顧客ホスト型ランナーはEnterprise向けにロードマップに掲載されています。
規制対象の製品の場合
EUのCyber Resilience Actなどの枠組みは、製造業者に対し、各リリースに何が含まれるかを把握し、その脆弱性に対処することを求めており、2026年9月からは報告義務も課されます。Azure Pipelinesでは、そのエビデンスは各パイプラインに組み込んだタスクやスキャナーから得られます。CRACIはビルドの記録からそれを生成し、SBOMをCycloneDXまたはSPDX形式でエクスポートします。企業がより広範なCRAプロセスに必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化しますが、どちらのツールも単独で製品をコンプライアンスに適合させるものではありません。
パイプラインをCRACIへ移行する
GitHub自身が提供するGitHub Actions Importerは、Azure DevOpsのパイプラインをGitHub Actionsワークフローに変換します。GitHubは各ワークフローの80%を自動変換することを目標としており、変換したワークフローはすべて本番で実行する前に確認すべきだとしているため、ある程度の手作業を見込んでおいてください。パイプラインがGitHub Actionsワークフローとして動くようになれば、1行でCRACI上で実行できます。
runs-on: craci
実行結果は引き続きGitHubのUIに表示されます。詳しくはビルド時のSBOM生成、Azure Pipelinesの代替ツール、CI/CDプラットフォームの比較、料金をご覧ください。
実際のビルドを1つ実行して比較する
1つのパイプラインをCRACI上のGitHub Actionsワークフローに移行し、そのSBOMとネットワークトレースを、現在Azure Pipelinesから得られる情報と並べて比較してください。
デモを予約