2020年10月22日 08時00分 公開
特集/連載

Monorepoの運用を支援する、OSSのキャッシュビルドシステム「Zim」柔軟なビルド、デプロイを実現

複数のパッケージを単一リポジトリで管理するMonorepoが注目されている。1つの変更を関連する複数のパッケージに適用できるなどのメリットがあるが、優れたツールがなければ破綻する。

[Adrian Bridgwater,Computer Weekly]
iStock.com/Chainarong Prasertthai

 クラウドセキュリティ企業Fugueが興味深い技術を提案している。Fugueは「フュージー」(few-g)と発音する。だが、その名前はバロック時代に人気があった多声部から成る音楽スタイル(フーガ)に由来する。

 同社のコア製品は、クラウドアプリケーション開発にセキュリティを組み込んで「Amazon Web Services」(AWS)、「Microsoft Azure」「Google Cloud Platform」の構成ミスをなくし、クラウドの曖昧で未知の要素をソフトウェアエンジニアが制御できるようにすることでコンプライアンスを証明しようとしている。

 Fugueの最初のスタックはセキュリティに軸を置くソフトウェアだった。だが、今は「Zim」という「非セキュリティ」分野の新しいオープンソースプロジェクトをリリースしている。

 Zimは、Monorepo(モノレポ)を利用するチーム向けのキャッシュビルドシステムだ。

Monorepoとは

 Monorepoとは、多くのプロジェクトのコードを同じリポジトリに格納するソフトウェア開発戦略のことだ。Atlassianのサイトの記載によると、Monorepoのプロジェクトはそれぞれがほぼ無関係か疎結合型で、他の手段(例えば、依存関係管理ツール)によって接続される可能性が高いという。Monorepoは全てのコードと資産が1カ所にあるため、単一ソースの可視性が高い。同じ理由でコラボレーションの助けにもなる。また、開発者が1つのコードに「アトミックな変更」を行うだけで複数のプロジェクト全体に影響を及ぼすことができるため、開発速度も向上する。

 では、Zimは何を行うのだろう。前述の通り、Zimは多くのコンポーネントや依存関係が含まれるMonorepoを使用する開発者向けに設計されたキャッシュビルドシステムだ。チーム全体に「高速増分並列ビルド」を提供する。「Docker」によるクロスプラットフォームビルド向けの組み込みサポートにより、言語に依存しないビルドシステムを実現する。

 Zimは、GitHubでホストされるオープンソースプロジェクトとして入手できる。

 「Zimの開発には、『GNU Make』の基本概念と『Buck』(Facebook)、『Bazel』(Google)、『Please』(Thought Machine)が採用するキャッシュ戦略にヒントを得ている。GNU Makeと同様、Zimは入力や出力を定義する新しいルールの




続きを読むには、[続きを読む]ボタンを押して
ください(PDFをダウンロードします)。






ITmedia マーケティング新着記事

news129.jpg

「Webサイトのデジタルマーケティング実力評価診断」 エクスペリエンスとNexalがサービス開発
エクスペリエンスとNexalがそれぞれに長年手掛けてきたコンサルティングの知見を生かし、...

news046.jpg

「幸福感を広めてほしい」 コロナ禍で政府への信頼が低下する一方、ブランドへの期待感が高まる
McCann Worldgroupが「文化と新型コロナウイルスについての真実 第9回調査」の結果を発...

news118.jpg

今ツイートした人に広告配信 電通デジタルと電通が「リアルタイムキーワードターゲティング」を提供開始
広告主が配信対象とするツイートのターゲティング期間を短縮してタイムラグを解消。今ま...