JFrog Enterprise+が必要な5つの理由とは

JFrog Enterprise+

昨年5月、swampUPで発表したJFrog Enterprise+ platformは「継続的アップデートを可能にする」liquid software revolution of continuous updatesを牽引する業界に一石を投じました。この製品に寄せられる関心と問い合わせの数こそ、バイナリーの全体管理において大企業が抱える問題点を真に物語るものです。しかし、JFrog Artifactory Enterprise(+が付いていない方の製品)やJFrog Xray、 JFrog Mission ControlJFrog Bintrayの機能と製品間のインテグレーションがあれば、なぜJFrog Enterprise+があえて必要なのかと思う方も少なくないでしょう。私たちはこれまでその理由を10 good reasonsとしてお伝えしてきました。しかしながら、ユーザのみなさまがEnterpriseからEnterprise+にアップグレードするべきタイミングかどうかを見極めるのは容易ではありません。

そこで、私たちの尊敬するたくさんのベーターユーザーの方々、そして既にEnterprise+をご購入いただいたFortune 100のお客さまと多くの議論を重ねた結果、お客さまが開発規模の拡大に伴い必要な予算を確保し、Enterprise+にアップグレードするに至る5つのポイントを発見しました。ここではみなさまがJFrog Enterprise+を導入するべきかどうかを判断するに役立つ、5つのポイントについて順に説明しましょう。

 

1. ソフトウエアを配布すべき拠点の数が多くなりすぎて管理できない。

JFrog Enterprise+小売店であろうと数多くの事業所であろうと、また海外の開発拠点であろうと、そのすべてをソフトウエアで常にアップデートする必要があります。

ありとあらゆるソフトウエアフォーマットで世界中の拠点に対応すること。さまざまなアップデートパッケージを集約し、必要とされるパッケージを正しい場所に適切なタイミングで配布すること。これはまさに最新鋭のロジスティック倉庫と同じです。そして、ここで必要になるのはJFrog Distributionです。

Distribution UIとREST APIを利用することで、さまざまな拠点ごとに必要となるソフトウエアバンドルを全て自動化でき、software updates continuously(継続的ソフトウエアアップデート)を実現し、セキュリティーを担保しながら配布することが可能になります。

まさにJFrog Distributionを使えば、簡単かつ完全に自動化した形で世界各国の拠点に対して必要なアップデートができます。

 

2. 異なるデータセンターのチーム同士が大量のバイナリを安全かつ断続的にシェアする必要がある。

複数のデータセンター間でコラボレーションを行うには、それぞれのチームが成果物をシェアするためにさまざまな方法が必要です。常に同期されるべきリポジトリと成果物に対して、JFrog Artifactoryは異なるモードの複製replicationを用意します。しかし、さまざまな成果物やArtifactoryの異なるリポジトリのビルドをかき集め、完全な同期を取らぬままに遠く離れたチームにシェアしなければならない場合があります。

例えば、標準リポジトリに格納されたドキュメンテーションとともに、異なるパッケージフォーマットに対して埋め込まれたビジネスロジックを実行するライブラリかも知れません。こうした問題点を一挙に解決するのがRelease Bundlesです。

Release Bundleなら全く異なる種類の成果物を自由に集め別のチームにデリバリーしながら、JFrog Distributionを使っているどこの場所とでも個別のArtifactoryインスタンスに対応することができます。

リリースバンドルは署名され変更することができません。したがってみなさまがシェアする成果物の全ては、完璧にセキュリティーを保持した形で対象となるArtifactoryに同期できます。また、いったん受け取った成果物は削除できないため、それぞれの成果物の持つ依存関係は担保されます。

JFrog Distributionを使えば、さまざまなチームが簡単かつ断続的に、しかも安全にリリースバンドルをシェアすることが可能となります。

 

3. Artifactoryをできるだけエッジサーバーや周辺機器の近くに置きたいが、その予算が足りない。

現在みなさまはJFrog Distributionを使い、あるデータセンターにおいてリリースバンドルを作成してから、ソフトウエアを実行している別のエッジサーバーや複数の機器に対してリリースしているとします。接続とネットワークのレイテンシーを回避するためは、サービス利用者のできるだけ近くにArtifactoryを置く必要が出てきます。しかしソフトウエアをデリバリーする全ての拠点に、完全なArtifactoryを設置するコストをかけることは難しいでしょう。そこで私たちがご提供するのがArtifactory Edgeです。

 

EdgeノードはArtifactoryの持つ機能と完全に同じでありながら、ソフトウエアをホストしサービス機器に配布するのに必要な機能しかライセンスは発生しません。従ってEdgeノードはArtifactoryの「従量制」バーションとお考えください。サービスであれ機器側であれ、誰でもソフトウエアをプルすることができます。JFrog Distributionだけが、リリースバンドルの形式でソフトウエアをEdgeノードにアップロードすることができます。

つまりEdgeノードの機能は特定の機能にのみ絞られるわけですから、それに伴うコストは完全版Artifactoryのごくわずかですむと言うわけです。

これで、みなさまのコスト問題は解決できました。

マルチスタートポロジー型の配布ネットワークを構築し、なおかつ個々のデータセンターがハブとなり、そこからソフトウエアが利用されるポイントに近い場所にある無数のEdgeノードに対してソフトウエアを戦略的に配置することができます。

JFrog Enterprise+ Edge Nodes

Artifactory Edgeノードを利用すれば、Artifactoryのコストに比べてわずかの費用でソフトウエアを消費される各拠点すべてに配置することができます。

もう予算に悩まされることはありません。

 

4. 複数のサイトに点在するユーザーやCI/CDサーバーが別々のArtifactoryサービスに対してアクセスできる、そんなグローバルで協業可能な環境構築を必要としている。

みなさまの会社が大きくなるに従って、ArtifactoryにアクセスするユーザーやCI/CDサーバの数は膨らみ、誰がどの成果物に対してアクセス権を持つか管理することはますます複雑になります。アクセスをバランスよく切り分け、誰もうっかり成果物に対し誤って変更してしまうことを防ぎ、それぞれのチームが必要に応じて協力しあえることを可能にする必要があります。じっくり検討を重ね、ユーザー、グループ、権限許可とアクセストークン(成果物にアクセスする際必要となる全てのセキュリティー)のストラクチャーをきっちり用意できればいいでしょう。しかし、隣のビルのデベロッパーが使っているArtifactoryサービスに対して特定のデベロッパーたちやCI/CDサーバーがアクセスする権限を与えなければならないとしたらどうでしょう? こうした新たな変更があるたびに、セキュリティーに関係する部分の構成を見直し、同期し直す必要があります。

解決策としては、2つのArtifactoryサービスを用意することかも知れません。しかし、さらにデベロッパーとCI/CDサーバーが、地球の裏側にいる品質管理チームが使うArtifactoryへのアクセスを求めてきたらどうでしょう?さらに、ロシアにある品質管理チームとインドにいるサポートチームの使うArtifactoryに繋ぐことになったら…?これはまさに、終わりなき悪夢の始まりです。

おそらくArtifactory管理者に対して「自分のArtifactoryにある特定の成果物やリポジトリにアクセスできるが、他の場所にはアクセスできない」と言うクレームが殺到するでしょう。さらにCIサーバーが別の場所にあるArtifactoryサービスの特定の情報にアクセスできないため、ビルドができない可能性も出てきます。このような問題を解決するのがJFrog Accessです。

Access Federationを使うことによって、まず「信用できるサークル」を定義することができます。この中にあるすべてのセキュリティー対象物は自動的にすべて同期することができます。同期する関連性(ルール)に従ってすべてを網羅する構造を最初に作ってしまえば、一つの変更が発生した時にはそのサークル内に存在する全てのArtifactoryサービスが自動的に同期されます。

JFrog Enterprise+ Access Federation Full Meshあるいは、一方通行の同期構造を作ることでDR用に確保されたArtifactoryサービスが常に待機して、仮にすべてのサービスが急にダウンしたとしても瞬時に同期させることが可能となります。

JFrog Enterprise+ Access Federation DR必要なトポロジーがどんなに複雑なものであったとしても、JFrog Accessはフレキシブルにサポートします。

JFrog Accessを使えば、「信用できるサークル」を簡単に構築でき、すべてのユーザーとCI/CDサーバーは管理者が許可した時にのみアクセス可能になります。

 

5. ソフトウエアのアップデートが上手くいかないのは、単にネットワークの接続が悪いか帯域が狭いからではないか。

企業規模が拡大するにつれ、ターゲット市場も自然に広がり、場合によってはインターネット接続が常に不安定で切断することがよくある地域にもソフトウエアのアップデートをする必要が出てきます。ISDNやDSLが標準の国々、あるいは遠く離れた場所や海上の船舶などのように1日に数時間しかインターネットの接続ができないケースなどが当てはまるでしょう。しかしネットワークが落ちるたびに、もしくは完了まで何時間もかかる場合にはソフトウエアのアップデートはうまくいかないでしょう。特に巨大なファイルサイズの場合は間違いなく失敗します(Dockerイメージは時に数十GBになります)。ArtifactoryのReplicatorはこうしたケースを想定してデザインされています。

現在のところReplicatorはJFrog Distributionとの併用時のみ利用可能ですが、ひとつのArtifactoryサービスからリリースされたバンドルのコンテンツを特定のArtifactoryに同期させ、ネットワーク接続が悪い問題を解決します。

 

  • 効率化Replicatorは同期が必要なデータを複数のストリームに分割し、ネットワークの利用帯域に応じて最適化します。
  • 信頼性:リリースバンドル自体は変更不可能のため、JFrog Distributionは受け取り側のArtifactoryサービスが完全な形でリリースバンドルを受け取ったかどうかを確認します。

さらに嬉しいことに、リリースされるバンドルは出荷元で署名されるため、デリバリーされたソフトウエアーが途中で改ざんされることなく安全に届いたかを確認できます。

Replicatorであればたとえ不安定な接続環境でバンドルをリリースする場合であっても、ネットワークの不具合や通信帯域の狭さ等の問題を解決できます。

JFrog Enerprise+は単にEnterpriseからのステップアップではありません。新たな可能性を広げ、自信を持って自動化を推進し、開発から本番環境まで継続的なアップデートを可能にする革命的なサービスです。

みなさまの事業が大きくなる時、お使いになるJFrogのアーキテクチャーも大きくなり、より多くのユーザーが使用し、より多くの成果物をホストし、世界中に存在するより多くのチームをつなぎ、そしてより多くのサービスと環境に対応することになります。その過程では、いつか必ずここで説明した5つの理由が当てはまってくるはずです。

もしかしたら、すでにその時ではありませんか。
JFrog Enerprise+をぜひご検討ください。