BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Docker Build Cloud:クラウドコンピュートとキャッシュを使用してイメージのビルド時間を短縮

Docker Build Cloud:クラウドコンピュートとキャッシュを使用してイメージのビルド時間を短縮

原文リンク(2024-02-19)

Docker社は最近、クラウドベースのコンテナ・イメージ・ビルダーであるDocker Build Cloudの一般提供を発表した。Docker Build Cloudは、リモート共有キャッシュとAMD64およびARM64 CPUアーキテクチャ用のネイティブ・ビルダーを提供し、「コラボレーションの改善」とイメージ・ビルド時間の短縮を目標としている。

Dockerは仮想化技術であり、アプリケーションの実行時に疎に分離された環境を提供する。コンテナと呼ばれる各環境は、ホストマシン上で実行する前に構築する必要があり、イメージと呼ばれる不変のファイルコレクションとして配布される。コレクション内の各ファイルはレイヤーと呼ばれ、ファイルシステムに対する変更の圧縮されたセットである。Docker Builderは、Dockerfile内の一連の命令をイメージに変換する役割を担っている。

Dockerfile to container image

Dockerfileがどのようにイメージに変換されるか(出典:Dockerユーザーガイド)

2013年にDockerが発表されて以来、コンテナは「一度構築すれば、どこでも実行できる」というビジョンを実現するためのユビキタスな仕組みとなった。この概念は、もともとJava言語のクロスプラットフォームな操作性を強調するためにSun Microsystems社によって広められたものだ。Linuxエコシステムにおけるこの成功の鍵となったのは、オープンソースのマシン・エミュレータおよび仮想化ツールであるQEMUの利用である。これによってユーザーは、例えばARM32v7のような1つのCPUアーキテクチャのホスト上でイメージを構築し、それを他のアーキテクチャ上で実行できるようになったが、エミュレーション・プロセスが比較的遅いため、ペインポイントにもなった。2019年後半、Dockerはこの課題を解決する仕組みとしてRemote Buildersを導入した。

Remote Buildersを使えば、ユーザーは相互トランスポートレイヤセキュリティ(mTLS)またはセキュアシェル(SSH)でアクセス可能なホストマシンを、イメージをビルドするためのノードとして登録できる。異なるターゲット・アーキテクチャのノードを登録し、ビルド段階でそれらを参照することで、ユーザーは1回または複数回同時にビルドし、エミュレーションなしでネイティブ・イメージを実行できるようになった。機能リリース当時の Remote Buildersの主な欠点はユーザーがビルダーノードのフリートをセットアップし、維持する必要があることだった。Docker Build Cloudは、サービスとして提供することで、この運用負担を取り除くことを目的としている。

Docker Cloud Build Remote Builder

ローカルのDockerクライアントがRemote Buildersを使用する方法(出典:Docker Remote Buildersブログポスト)

Docker Build Cloudのノードは、専用のEBSボリュームを持つAmazon EC2インスタンスとして稼働する。EC2の仕様は、PersonalとProプランの顧客は8vCPUと16GBのRAMから始まり、TeamとBusinessの顧客は16vCPUと32GB RAMまで上がる。すべてのDockerプランには、組織全体で共有できるビルド分の数に制限があり、Docker Build Cloud Teamはアドオンとして1ユーザーあたり月額5ドルから販売されている。Docker Build Cloudアドオンでは、さらに1ユーザーあたり200ビルド分と、組織全体で共有される200GBのキャッシュが提供される。同等の Remote Builders構成をAWSでセルフホストした場合の大まかなコスト見積もりでは、月々のランニングコストは850ドルであった。これは、Docker Build Cloudが1ユーザーあたり5ドルで、170人未満のエンジニアを抱えるチームにとって有利な価格設定であることを示唆している。

Docker Cloud Build AWS Cost Estimates

Docker Build Cloudと同等のセルフホスト構成のAWSコスト見積もり(出典:AWS Pricing Estimator)

最後に、Docker Build Cloudは現在AWSのUS Eastリージョンでのみ利用可能であり、利用開始に関する詳細な情報はユーザーガイドに記載されている。

作者について

この記事に星をつける

おすすめ度
スタイル

BT