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 マーケティング新着記事

news150.jpg

「新しい出会いや人とのつながりを大切に感じるようになった」人が7割――Sansan調査
新型コロナウイルスの影響で、これまでのように気軽に出会えないことが、ビジネスパーソ...

news050.jpg

TableauにSalesforce Einstein Analyticsが完全統合してこれから変わること
セールスフォース・ドットコムとTableau Softwareは両社の製品統合の詳細について、いよ...

news174.jpg

Cookieによるユーザー行動分析を日常的に実施する広告宣伝担当者が10.5%減――サイカ調査
企業の広告宣伝担当者290人に聞いた「Cookie等を用いたユーザー行動分析の利用実態調査」...