Ben Ifrach

Ben Ifrach

Former JFrog Artifactory Project Manager

Ben was a Product Manager on JFrog’s Artifactory team, leading the Packages domain focused on innovation and new technologies. Before starting his tech career, Ben served as a Deputy Submarine Commander and is a proud Naval veteran – for him, the transition to the “Liquid Software Company” was very natural. On his extra time, Ben founded and manage a mentoring program helping Junior Developers from the Ultra-Orthodox Jewish community to find their first job in the tech industry and is very active on several other volunteering organizations.

The Latest From Ben Ifrach

  • ArtifactoryのTerraformリポジトリでクラウドKubernetesレジストリを実現

    | < 1 min read

    Kubernetesのオーケストレーションツールでコンテナベースのサービスを開発する場合、Terraformはアーティファクトのエコシステムに欠かせないものとなります。これらのinfrastructure-as-code設定ファイルはK8sアプリケーションを実行するクラウド環境でのプロビジョニングと保守の自動化に役立ちます。 そのためソフトウェアのサプライチェーンの一部としてTerraformモジュール、プロバイダ、リモートステートファイルをArtifactoryに格納できるようになったことは素晴らしいニュースと言えます。これらのIaCファイルをDockerイメージやHelm chartと一緒にJFrogのリポジトリに格納することで、Artifactoryは包括的なKubernetesレジストリとして機能し、クラウドネイティブアプリの追跡可能でセキュアな信頼関係を通して配布できるようになります。 Terraformとは? Terraformはクラウド基盤のソフトウェア開発におけるライフサイクル全体を管理するために広く利用されている、オープンソースのInfrastructure-as-Codeソフトウェアツールです。TerraformはクラウドAPIを宣言型の設定ファイルにコード化することで、クラウドプロバイダーのインフラを多くのインスタンスに渡って統一した方法でプロビジョニング、調整、破棄を可能にします。 これはGitOpsの基幹的なプロセスで、ソフトウェア開発に使われた同じツールとプロセスを通してインフラのプロビジョニングとデプロイメントを管理するという、開発者中心のエクスペリエンスです。このプロセスでは、TerraformモジュールはGit VCSリポジトリに格納され、本番システムの状態はGitプルリクエストで自動的に管理されます。これによってシステムの状態遷移を開発者が確認できます。 Artifactoryに装備されたTerraform では、なぜTerraformモジュールのレジストリをArtifactoryのようなバイナリリポジトリマネジャーで管理する必要があるのでしょうか?それはビルドと同様、Terraformモジュールはソフトウェアのサプライチェーンと本番Kubernetesへのソフトウェア配信で重要だからです。 すべてのアプリケーションはソースコードから始まりますが、パイプラインを経て成果物であるソフトウェアになるのはバイナリです。また、最近のアプリケーションの複雑な依存関係においては、そのサプライチェーンに変更があれば、新しいビルドの引き金となる可能性があります。 TerraformモジュールとプロバイダをArtifactoryレジストリに格納することで、それらはJFrog Platformの認証済みのアクセス、チェックサム検証、きめ細かい権限管理で保護され、ソフトウェアのサプライチェーンのセキュアな信頼関係の一部になります。これで、Terraformの資産を不変的なビルドやその他のアーティファクトとより良く関連付けることができます。Terraformのモジュール、プロバイダ、Helm ChartをDockerイメージと一緒に配置することで、開発からテスト、本番までのSDLC全体において、より簡単に管理できるようになります。 TerraformとHelmのアーティファクトをArtifactoryのパッケージとビルドメタデータに組み込むことで、本番環境に至るまでの直接的な追跡が可能になります。もし過去のビルドにロールバックする必要がある場合、自動化はそのビルドに適用するTerraformの構成も得られます。 Terraformレポジトリの種類 Artifactoryでは3種類のTerraformアーティファクトのレジストリを管理できます。 Terraformモジュール - 1つのディレクトリにある1つ以上のTerraform設定(.tf)ファイル群です。ファイル毎にTerraformに特定のインフラストラクチャの集合をどのように管理するかを伝える宣言的な言語を使用 Terraformプロバイダ- クラウドプラットフォームやサービスを設定するための上流APIを管理できるようにするTerraformプラグイン Terraformバックエンドリポジトリ - バックエンドとして使用する際に、チームメンバー全員で共有するStateスナップショットのためのリモートstateのデータストレージとして機能 ArtifactoryはTerraformバックエンドリポジトリ用のローカルリポジトリをサポートし、TerraformモジュールとTerraformプロバイダレジストリの両方で、そのすべてのタイプのリポジトリをサポートします。 ローカルリポジトリ - 組織のネットワーク内でのみアクセス可能なプライベートレジストリ リモートリポジトリ- ローカル化と可用性のためにキャッシュされたバージョンを提供する外部レジストリ(パブリックなTerraformレジストリなど)のプロキシ バーチャルリポジトリ - 同じパッケージタイプのローカルとリモートリポジトリのセットをカプセル化し、単一URLからアクセスできる論理上のリポジトリ GitOpsを強化するJFrog BinOps Terraformのような宣言型IaCツールやHelm chartのようなオーケストレーションツールは開発者がK8sのクラウドインフラを管理できる方法としてGitOpsの重要な部分を担っています。 TerraformのレジストリをArtifactoryで管理し、Kubernetesレジストリの一部にすることで、BinOpsの原則(JFrog DevOps platformのバイナリ中心のアプローチによるソフトウェアデリバリーの成功)を実践し、クラウドネイティブ開発をより加速させることも可能です。 JFrog Platformが実現するこれらのBinOpsメソッドは、GitOpsとの競合や置換するものではありません。GitOpsの手順をソフトウェアのサプライチェーン管理でのベストプラクティスと組み合わせて、開発者にさらなる力を与えます。 詳細は、こちらから:https://jfrog.com/ja/start-free/  

    さらに見る
  • ArtifactoryとHelm 3でOCIをKubernetesに導く

    | < 1 min read

    JFrog Artifactoryの最新リリースでKubernetesの世界が大きくなりました。ArtifactoryのDocker registryがOpen Container Initiative(OCI)に準拠しました。OCIと互換性のあるイメージのリポジトリとHelm 3クライアントのサポートにより、K8sを高い汎用性で実行できるようになりました。 Dockerに依存せず、OCI互換のクライアントを使ってコンテナエコシステムの一部またはすべてが実行できます。そして自分のニーズに最も適したコンテナ・ランタイムインターフェース(CRI)を利用し、Kubernetesを実行することができます。 OCIとは? Open Container Initiativeはコンテナのオープンスタンダードを設計するLinux Foundationプロジェクトです。これらの標準はコンテナのイメージファイルのイメージ仕様(image-spec)とそれらのイメージをコンテナとして実行するためのランタイム仕様(run-time-spec)に分かれています。 Dockerはプロジェクトのメンバーであり、OCI仕様を使用していますがイメージレイアウトや異なる実行時の動作に関する追加の要件を規定しています。 これは多くのKubernetesエコシステムがDockerを利用して実行していますが、runcや軽量なcri-oランタイム、セキュリティを重視したrktのようなOCI互換のCRIを使うことができることを意味しています。 Artifactoryの新機能 Artifactory 7.11.1のリリースはこれらの機能が含まれており、コンテナとKubernetesエコシステムとの適応性を向上することができます。 ネイティブOCIイメージのサポート ArtifactoryはOCIイメージをDockerイメージと対等に扱い、OCI対応クライアントを利用してOCIイメージをDockerレジストリにプッシュすることができます。 OCIイメージはArtifactoryにネイティブに保存されます - OCIイメージのDockerへの変換は行われません。イメージは以下のようなOCIクライアントを介して、そのままDockerレジストリにプッシュすることができます: containerd – CNCFプロジェクトとして制作されたクライアント podman – containersが保守するOSSポッドマネージャー・クライアント ORAS – Microsoftが独自に開発したOCIレジストリをストレージとして使用するプロジェクト Helm 3サポート Artifactory HelmレジストリはHelm 3クライアントをサポートします。 Helm 3はTillerの削除によるセキュリティモデル、パッチのマージによる包括的なアップグレード戦略など、いくつかの改善と簡素化が行われています。 Helm 3のchartフォーマットも依存関係のrequirements.yaml仕様をメインのchart.yamlファイルに統合することで簡素化されています。 はじめる すでにDockerやHelmのレジストリにArtifactoryを使用している場合はArtifactoryをアップグレードし、ユニバーサル・リポジトリマネージャーを利用してOCIイメージやHelm 3のchartを含むように用途を拡大することが簡単にできます。 まだArtifactoryを利用していない場合は容易に無料のクラウドアカウントで開始して、コンテナ管理を行うことができます。

    さらに見る