AWS CodeArtifact vs Artifactory:バイナリー管理はどちらを選ぶべきか吗?

Artifactory OSS版の提供と同時にJFrogの設立以来,私たは堅牢なア,ティファクト管理ソリュ,ションがなければスケ,ル,スピ,ド,信頼性のあるソフトウェアも提供できないと主張してきました。それから10年以上経った今,業界の他のベンダ,もようやく理解し始めています。
AWSはバaapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl . aapl先日発表しました。以下ではJFrog ArtifactoryとAWS CodeArtifactの違いや,どちらのソリューションが一般的なユースケースに最も適しているかなど,知っておくべきことをすべて比較しています。
Artifactory -JFrog平台のバックボン—は当社が市場に投入した最初の製品でした。開発者である私たち自身がバイナリマネージャを持たない苦労を理解していたため、業界初のア,ティファクト管理ソリュ,ションを発表しました。以前は存在しなかったこの新しいカテゴリ,の,,ルは,あらゆる開発においての重要な柱となりました。今日においてもArtifactoryは最も人気のあるバナリ管理ソリュションであり,DockerレジストリとHelmリポジトリを含む,27種類以上のパッケジタプを1にまとめてサポトする唯一のユニバ,サルな製品です。
ここではJFrog ArtifactoryとAWS CodeArtifactの主な違いと,それが何を意味するのかを見てみましょう。
AWS CodeArtifactとJFrog Artifactoryの比較
AWS CodeArtifactはS3ベースのマネージドアーティファクト/バイナリリポジトリです.AWSマーケットプレイス(および他のパブリッククラウド)で提供しているベースレベルのJFrog Artifactory SaaSサービスとコンセプトが似ています。
この9の重要な違いを見ていきましょう:
ユニバ,サルパッケ,ジ管理:
CodeArtifactはユニバ,サルなパッケ,ジマネ,ジャではありません。3の技術しかサポトしていないためです。Mavenのサポ,トはまだ初期段階であり,本番環境で使用できるレベルではありません。Mavenメタデ,タはユ,ザが手動でアップロ,ドしなければなりません。これでは同じパッケージ,特にユニークなスナップショットの同時バージョンのデプロイを生かすことができません。CodeArtifactは同じリポジトリへの複数のスナップショットのアップロード(これは開発チームでは同時に実施される)がサポートされていません。
JFrog Artifactoryは27以上のバ▪▪ナリタ▪▪プをサポ▪▪トしています。Artifactoryは汎用リポジトリも提供しており,ユーザはリリースの一部である追加のファイルタイプ(イメージ,zipファイル,ドキュメントなど)を一元的に管理することもできます。
| AWS CodeArtifact(全て) | JFrog Artifactory(一部) |
|---|---|
|
|
| N/A | 通用的 |
どらのソリュションもユザは外部リポジトリをプロキシすることができます。しかし,CodeArtifactはオフィシャルなアップストリームリポジトリのプロキシしかサポートしていません:npm npm.js, Python - PyPI Maven - Maven中央,谷歌Androidリポジトリ,Gradleプラグインリポジトリ,CommonsWare Androidリポジトリです。さらにCodeArtifactでは外部リモートリポジトリは1つだけという制限(“外部接続”と呼ばれています)があります。ホストリポジトリ,アップストリームリポジトリ,外部リポジトリの間の検索順序やパーミッションがどのように伝搬するかは不明です。
一方,Artifactoryは内部または外部を問わず,あらゆるリポジトリをプロキシすることができます。さらに,Artifactoryのバーチャルリポジトリは大規模なアーティファクトの管理とチーム間の共有を簡素化できます。この機能によりユーザは特定のリポジトリのみを集約し,パッケージをどこから,どのように解決するかを選択できます。
もう一つ注意すべき重要な制限事項としてAWS CodeArtifactは1つのAWSアカウントにつき最大100個のリポジトリしかサポートしないということです。世界中で複数のチ,ムをサポ,トする必要がある大規模な組織にとって,この制限は許容できません。
クラウドネ△ティブ△ア△ティファクト:
バナリサポトの一環として,Artifactoryではエンタプラズレベルのコンテナ@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @とHelmリポジトリを1で提供しています。AWSCodeArtifactはクラウドネイティブ・コンポーネントの保存と管理をサポートしていません。AWS ECRサービスと統合する必要がありますがJFrogソリューションと比較して、エンタープライズユースケースに必要なガバナンスとセントラル管理が提供されていません。コンテナイメージはnpm、golang、Maven などの他のリポジトリからのリリースパッケージで構成されているため、リリースパイプラインの可視性とトレーサビリティの問題が深刻になります。
| AWS CodeArtifact | JFrog Artifactory | |
|---|---|---|
| コンテナ▪メ▪ジ▪レジストリ | いいえ Aws ecrやその他が必要 |
はい |
| Helm Chartリポジトリ | いいえ Aws ecrやその他が必要 |
はい |
セキュリティ,コンプラ电子邮箱アンス,暗号化:
どらのソリュションも保存されたアティファクトを暗号化します。また,どらもアクセス制御とコンプラアンスのためのきめ細かなrbacを提供します。CodeArtifactはア▪▪▪▪デンティティとアクセス管理をAWS IAMに依存しています。AWS我のトークンは12時間後に有効期限が切れるようにハードコードされているため、開発者は開発中であってもトークンを再生成し、それに応じてパッケージマネージャを再設定しなければなりません。CodeArtifactとは異なり、ArtifactoryはOkta、OneLogin、PingOne、GitHubなどの任意のアイデンティティ・プロバイダとの統合を可能にしています。
| AWS CodeArtifact | JFrog Artifactory | |
|---|---|---|
| ア,ティファクトの暗号化 | はい | はい |
| アクセスコントロ,ル | AWS我 | 任意のプロバ@ @ダ 例えばOkta, OneLogin, PingOne, GitHub |
| セキュリティ·スキャン | 未提供 | JFrog x光 |
アプリケ,ション·セキュリティに関してはArtifactoryにはオプンソスの脆弱性とラセンス違反に対応するセキュリティ·スキャンが組み込まれています。JFrog x光と統合されているため,Artifactoryのユ,ザ,は“シフトレフト”とDevSecOpsを容易にサポ,トすることができます。
JFrog平台は自動的にパッケージをスキャンし,コンテナイメージを再帰的にスキャンし,検出されたすべての脆弱性の影響を完全に分析し,迅速な修正が可能なideンテグレ,ションを提供します。ユーザはリポジトリ全体のセキュリティとコンプライアンスポリシーを設定し,セキュリティデータに基づいた自動アクションを実行することができます。アラートやWebhook,スキャンされていないアーティファクトや重クリティカルなCVEを含むアーティファクトのダウンロードのブロックやビルドを失敗させることも可能です。セキュリティやソフトウェア構成分析に興味のあるAWSユーザはサードパーティツールと統合する必要があります。
ハ电子邮箱ブリッドとマルチクラウド:
CodeArtifactはパブリッククラウド上でのみ利用可能であり,特定の地域でしか利用できません(例えば中国では利用できません)。Artifactoryはどのようなインフラストラクチャでもバイナリとセキュリティを管理するために利用できます。マルチサイト・トポロジやレプリケーションを含め,セルフホスティングのオンプレミスでもクラウドでも利用可能です。また,すべてのパブリッククラウド(GCP AWS, Azure)でSaaSサブスクリプションとしても利用できます。これにより,ユーザはロックインを回避できるだけでなく,オンプレミスとクラウド環境間でのリアルタイムなアーティファクトの同期など,マルチクラウド/ハイブリッドでサポートすることができます。
| AWS CodeArtifact | JFrog Artifactory | |
|---|---|---|
| SaaS | AWS | AWS, GCP Azure |
| セルフマネジ/オンプレミス | いいえ | はい |
CodeArtifactはユーザーがホストしているリポジトリのための単一ロケーションのみを提供し,遅延オンデマンド・レプリケーションを提供しています。Artifactoryはマルチロケーション・ワークロードを標準でサポートするために,レプリケーションを介してアクティブなリポジトリのミラ,リングを提供します。Artifactory独自のスマ,ト,レプリケ,ション機能はどのようなネットワ,クトポロジ,でも,どのような開発手法でもロ,カルでの利用が可能です。組織特有の分散パイプラインやコラボレーションの要件に応じて,ユーザはプル,プッシュ,イベントベース,マルチプッシュ・レプリケーションなど,いくつかの選択肢から選択することができます。
最後にCodeArtifactは開発者の日常業務の使い勝手に大きな問題をもたらします。CodeArtifactリポジトリは以下のような開発者に不親切なドメイン名で公開されます:我的例子——域- 123456789012. - d.codeartifact.us -西方- 2. amazonaws.com。
一方,Artifactoryはmydomain.jfrog.ioとして公開されます。CLIの呼出しの度にこれらの長い6つのパートのURLを繰り返さないカスタムSSL証明書とシンプルなドメインを登録する明確な方法はありません。
メタデ,タとビルド情報:
Artifactoryはすべてのビルド·ア,ティファクトに対して網羅的なメタデ,タを保存します。これによりsdlc全体を通して,各ア,ティファクトの属性に対して他に類を見ない粒度の高い可視性とトレ,サビリティを実現します。メタデータとプロパティが完全に検索可能なため,メタデータの割当てとクエリに基づき,多数の自動化のフローを適用できます。これによりビルド属性に基づいたオ,トメ,ションのトリガ,自動ビルド·プロモ,ション,ステージ間のクオリティゲートの確立,トラブルシューティングのためのビルドの自動ドリフト分析,フラグによる検索などの高度な機能が可能になります。例えばビルドに問題がある場合,Artifactoryの“部品表“により,ビルドを簡単に再現し,問題の原因を追跡して解決までの時間(竞技场队伍)を短縮することができます。
AWS CodeArtifactにはメタデ,タやビルド情報という概念がありません。パッケージの削除やアーカイブなどのラベルを付けることができる“包版本状态”はありますが,Artifactoryのような豊富なメタデータ追跡機能はありません。
分類されていないリポジトリ:
Artifactoryでリポジトリタイプを設定する場合,各リポジトリは特定のバイナリタイプを管理するように設定されています。CodeArtifactは分類されていないリポジトリを提供していますが,これは彼らが”ポリグロット”と呼んでいるもので,1つのリポジトリにはサポートされている3つのテクノロジーのアーティファクト・パッケージを混在して保存できることを意味します。1例えばつのCodeArtifactリポジトリにMaven, npm, Pythonリポジトリのパッケージを格納するように設定することができます。これは小規模なチームでは簡単に利用できますが複数のパッケージタイプや異なるチーム,ロケーション,アプリケーションにまたがる複数のリポジトリへと拡張するような大規模環境で効果的な管理を行う場合は課題が発生する可能性があります。
共通の問題はパッケージタイプ間の重複した名前空間に関する問題が発生し,単にリポジトリのエンドポイントを参照するのではなく,パッケージ固有のAPIが必要になることです。分類されていないリポジトリの制限のため,すべてのCodeArtifact APIはユーザがURLの一部としてパッケージ形式を明示的に指定する必要があります。
パッケ,ジ監査:
どらのソリュションもバナリの状態や使用状況を詳細に監査することができます。CodeArtifactはパッケージの使用状況を監査するためにAWS CloudTrailと統合しています。同様に,Artifactoryはパッケージに関連するユーザアクションのトラッキングを標準で提供します(例えばパッケージの削除など)。ユーザのトラッキングに加えて,Artifactoryのインベントリのトラッキングはどのパッケージがどこで使用している(されている)かの可視性を提供します。
CI/CDとDevOpsルチェンの統合:
どらのソリュションも豊富なcliやrest apiを介して,ci / cdや既に利用しているDevOpsルと統合することができます。CodeArtifactはAWS EventBridgeを介して他のAWSサービスと統合されているので,λ関数,SNSトピック,CodeBuild, CodePipelinesをトリガーすることができます。ArtifactoryはすべてのCI / CDツール(JFrog管道を含む),IDEインテグレーション,Jiraのような一般的なツール,クラウド環境/構成ツールとの,より広範囲な統合が可能です。JFrog平台はすべてのリリースとチームで利用可能とするために,すべてのツールと連携してプロセスを自動化する単一UIを提供します。
| AWS CodeArtifact | JFrog Artifactory | |
|---|---|---|
| REST接口とCLI | はい | はい |
| ンテグレ,ション | AWS EventBridgeを利用したAWSサ,ビス | CI / CD:Jenkins、Bamboo、CircleCI、TeamCity、Travis CI、Azure DevOps、GitHub Actions、JFrog Pipelines ide:Eclipse, VS Code, Visual Studio, IntelliJ IDEA |
| 単一ui | いいえ | はい- JFrog平台 |
価格:
AWS CodeArtifactは保存されているアーティファクトのサイズ,リクエスト数,AWSリージョンから転送されたデータ量で算出した使用量に応じて課金されます。最初の2gbのストレジと最初の10万リクエスト/月は無料です。容量が無料な分,CodeArtifactは非常に小規模なチームやSOHOの開発には好ましいかもしれません。AWS上的Artifactory SaaSはいくかのプランで提供されており,利用料を含めた月額利用料が設定されています。98年バイナリ管理の月額ドルから始まるベースレベルのサービスには2 gbのストレージと10 gbのデータ転送が含まれています。セキュリティ・スキャンを含むサブスクリプションでは20 gbのストレージと200 gbのデータ転送が含まれています。
CodeArtifactはAWSエコシステムとネイティブに統合されているため,同じインフラ上でAWSサービス間のシームレスな運用を可能にしますので,ニーズが限定されている例えばスケール,サポートされているパッケージタイプ,クラウドネイティブのアーティファクト,セキュリティ,ハイブリッド環境,メタデータの可視性などの比較的小規模なチームや組織であればAWSの単一クラウドユーザにはマッチしているかも知れません。
CodeArtifactoryはまだ未熟なソリュ,ションです。その機能,拡張性,機能性,スケ,ルはすべての始まりとなったユニバーサルバイナリ管理ソリューションであるJFrog Artifactoryとは比較になりません。
AWS上のJFrog Artifactoryサ,ビスの詳細に,いてはこらのAWS市场をご確認ください。ec2またはeksも選択できます。
まだあります:
AWSでJFrog Cloud Pro Xのサブスクリプションを2ヶ月間無料でご利用いただけます
レガシ,とコンテナアプリケ,ションの両方に対応したユニバ,サルパッケ,ジ管理と統合されたセキュリティでDevSecOpsをスタ,トしましょう。
JFrog Cloud Pro Xを2ヶ月間無料でご利用いただき,ソフトウェア開発を劇的に簡素化する方法をご確認ください。
2020年7月31日までにAWSマーケットプレイスで云Pro Xの新しいインスタンスをサブスクリプションする必要があります。
ご質問とコメントはこらまで。