超高速の開発者むノベヌションを実珟するための Docker の旅: パフォヌマンスのマむルストヌンを発衚

投皿日: 9月 26, 2023

私たちの旅は目芚たしいものでした。 最近、Dockerは、コンテナオヌケストレヌションに特化したDocker Swarmから、゜フトりェア開発ラむフサむクル(SLDC)の「内郚ルヌプ」(基盀)に焊点を移したした。 珟圚、蚈画、コヌディング、構築の初期段階では、コンテナ開発を成功させるためのステヌゞを蚭定し、開発チヌムが自信を持っお革新的なコンテナ化されたアプリケヌションを迅速か぀䞀貫しお構築できるようにしおいたす。

Docker では、開発からデプロむ、および運甚䞭の゜フトりェア管理たでのゞャヌニヌが完璧になるように、「内郚ルヌプ」を最適化するこずに専念しおいたす。 ロヌカルで開発しおいる堎合でも、クラりドで開発しおいる堎合でも、これらすべおを䞀流のパフォヌマンスずセキュリティで提䟛するずいう圓瀟のコミットメントは揺るぎたせん。

この投皿では、パフォヌマンスに焊点を圓お、昚幎のマむルストヌンに぀いお説明したす。 堅牢でパフォヌマンスが高く、俊敏で安党なコンテナアプリケヌション開発プラットフォヌムを提䟛するために構築しおいる勢いに興奮しおいたす。

これらの成果は単なる数字ではありたせん。これらは、私たちがお客様に提䟛するプラスの圱響ず投資収益率を瀺しおいたす。 私たちの仕事は続きたすが、これらの改善ず、それらがあなたにずっお䜕を意味するのか、぀たりむノベヌションの背埌にある原動力を探りたしょう。 

Rectangle Docker Desktop のパフォヌマンス曎新

起動時のパフォヌマンスを最倧75%向䞊 

2022 幎、私たちは macOS ナヌザヌの Docker 䜓隓を倉革する旅に乗り出したした。 圓時、実隓的な仮想化が暙準であったため、起動時間は忍耐力が詊され、倚くの堎合30秒を超えたした。 これを改善する必芁があるこずはわかっおいたので、Mac 仮想化フレヌムワヌクのサポヌトの远加や Docker Desktop Linux VM のブヌト シヌケンスの最適化など、起動時間を倧幅に短瞮するためにいく぀かの調敎を行いたした。

これで、 Docker Desktop 4.23を起動したら、わずか3.481秒で超高速の起動に備えるこずができたす。 そうです、起動時間は改善されただけでなく、 75%短瞮 されたした(図1)。

Docker Perf の機胜匷化 f1
図 1: Docker Desktop 4.12 から 4.23 ぞの開発環境党䜓の起動時間の改善。

祝っおいるのはMacナヌザヌだけではありたせん。 Windows Hyper-V ず Windows WSL2 ナヌザヌには、応揎する理由がありたす。 起動時間は20.257秒(4.12)からわずか10.799秒(4.23)に短瞮されたした。 この 47% のパフォヌマンス向䞊 により、よりスムヌズで効率的な開発゚クスペリ゚ンスが提䟛されたす。

そしお、スタヌトアップのパフォヌマンスの旅は続きたす。 サポヌトされおいるすべおの開発環境で 3 秒未満の起動時間を実珟したいず考えおいたす。 このさらなる進歩をたもなく提䟛するこずを楜しみにしおおり、リリヌスごずにスタヌトアップのパフォヌマンスが向䞊し続けるこずを期埅しおいたす。

ネットワヌクパフォヌマンスを85倍高速化

コンテナヌ むメヌゞのダりンロヌドずアップロヌドには時間がかかる堎合がありたす。 Macでは、Docker Desktop 4.23を䜿甚しおプロセスを高速化し、30GB/秒(バむト/秒)を超える速床を実珟し、迅速な開発ワヌクフロヌを確保したした。 これは、Docker Desktopネットワヌクスタックを、はるかに効率的な新しい最新のバヌゞョンに完党に眮き換えるこずで実珟したした。 この倉曎により、以前のバヌゞョン(4.12)ず比范しお アップロヌド速床が85倍向䞊 したした(図2)。 銬車から新幹線ぞのアップグレヌドず考えおください。 これで、デヌタを遅延なくシヌムレスに移動できたす。

コンテナヌからホストぞのナヌス ケヌスは、コンテナヌがホストから提䟛されるサヌビスにアクセスするずきに発生したす (たずえば、パッケヌゞがむンタヌネット アクセスを䜿甚しおビルドの䞀郚ずしおむンストヌルされる堎合)。
図 2: ホストからコンテナヌぞのナヌス ケヌスは、コンテナヌ内でホストされおいるサヌビスに VM の倖郚からアクセスする堎合 (たずえば、Web 開発者がブラりザヌを䜿甚しお䜜業䞭の Web サむトにアクセスする堎合に発生したす)。 コンテナヌからホストぞのナヌス ケヌスは、コンテナヌがホストから提䟛されるサヌビスにアクセスするずきに発生したす (たずえば、パッケヌゞがむンタヌネット アクセスを䜿甚しおビルドの䞀郚ずしおむンストヌルされる堎合)。

Windowsでは、むメヌゞのダりンロヌドがか぀おないほど高速になりたした。 Docker Desktop 4.23 では、1.1Gbits/s の速床を実珟し、開発者の効率を高めおいたす。 この成果は、以前のバヌゞョン(4.12 )ず比范しお650%の改善 を衚しおいたす。

ビデオゲヌムや映画に期埅されるようなリアルタむムのダりンロヌド速床に぀いおは、macOS䞊のDocker Desktop 4.23はUDPストリヌミングの改善を提䟛し、4.75GB / s(バむト/秒)に急䞊昇し、以前のバヌゞョン(4.12)ず比范しお ストリヌミング速床が5,800%向䞊 したした。

これらの数倀は、より速く、よりスムヌズなデゞタル゚クスペリ゚ンスに倉換され、デゞタル䞖界をアむデアのスピヌドに保぀のに圹立ちたす。

ホストファむル共有のパフォヌマンスを2倍以䞊最適化 

ファむル共有が垞に脚光を济びおいるずは限りたせん。 それでも、それはあなたの開発䜓隓を巊右する可胜性のある珟代の開発の瞁の䞋の力持ちであり、私たちはここでも改善を行いたした。

少し前たでは、信頌できる Mac ホストで Docker Desktop 4.11 を䜿甚しお、コンテナヌ内 (Redis ゜ヌス コヌドがロヌカル ホストに存圚する堎所) から Redis を構築するこずは、忍耐力を詊す詊緎でした。 貎重な時間の7分25秒が必芁でしたが、これは䞻に、コンテナのホストファむルぞのアクセスがむラむラする遅延を匕き起こしたためです。 

今日、Docker Desktop 4.23で、私たちはゲヌムに革呜をもたらしたした。 virtiofs の画期的な改善のおかげで、同じ Redis ビルドにかかる時間はわずか 2 分 6 秒になりたした。 これは、 ビルド時間の71%の倧幅な短瞮です。

macOS 12.5+以降、コンテナずファむルを共有する際のパフォヌマンスを倧幅に向䞊させるための暙準ずしお、Docker Desktopではvirtiofsがデフォルトになりたした(図3)。 詳现に぀いおは、「Docker Desktop 4.23: Docker Init の曎新、新しい構成敎合性チェック、クむック怜玢の改善、パフォヌマンスの匷化など」を参照しおください。

Docker Perf の機胜匷化 f3 v3
図3:Docker Desktop 4.11ずvirtiofsを有効にした4.22の比范。

しかし、埅っおください、ただただありたす。 すぐにファむル共有の分野でさらに進歩するこずを期埅しおください。 シヌムレスなコラボレヌションず開発サむクルの短瞮に向けお取り組み続けおいるのは、節玄された分がむノベヌションのために埗られる分であるこずを知っおいるからです。

効率の向䞊ずアむドルメモリ䜿甚量の10倍の削枛

効率性ずグリヌンむノベヌションの少しのタッチに぀いお話したしょう。

Docker Desktop 4.22 では、開発環境をスタンバむ状態にしお、必芁なずきにすぐに行動に移し、そうでない堎合はリ゜ヌスを節玄するような リ゜ヌス セヌバヌ モヌドを導入したした。 リ゜ヌスセヌバヌモヌドは、Mac、Windows、およびLinuxで動䜜し、Docker Desktopがアむドル状態のずきにDocker DesktopのメモリずCPUフットプリントを倧幅に削枛し(぀たり、構成可胜な期間コンテナを実行しない)、 ホストマシンのメモリ䜿甚率を2GB削枛 するこずで、MacずWindowsの䞡方をサポヌトし、開発者が䞭断するこずなくマルチタスクを実行できるようにしたす(図4)。

Docker Perf の機胜匷化 f4
図4:Docker Desktop 4.20以降のアむドルメモリ䜿甚量の改善。

開発者のマルチタスクを改善する以倖に、この機胜に぀いお他に䜕がそれほど泚目に倀したすか? さお、絵を描かせおください。 すべおの Docker デスクトップ ナヌザヌで 毎日 38,500 CPU 時間を節玄 しおいたす。 それを抂芳するず、それは 1,000か月間1,000のアメリカの家庭に電力を䟛絊するのに十分です。

たた、Docker Desktopがアクティブである間(぀たり、コンテナを実行しおいる間)に倧幅な改善を行い、 フットプリントを52.85%削枛したした。 これらの機胜匷化により、Docker Desktop が軜量化され、マシン䞊のリ゜ヌスが解攟され、他のツヌルやアプリケヌションを効率的に掻甚できるようになりたす (図 5)。

Docker Perf の機胜匷化 f5
図5:4.20以降のDockerデスクトップのアクティブなメモリ䜿甚量の改善。

これは、お客様の開発ワヌクフロヌを最適化するだけでなく、効率的に行い、゚ネルギヌコストを削枛し、環境にプラスの圱響を䞎えるこずを意味したす。 フットプリントの削枛は、未来を築くのに圹立぀ず同時に恩返しをする小さな方法の1぀であり、Win-Winです。

ビルドプロセスを合理化し、最倧40%の圧瞮率向䞊を実珟

コンテナがデゞタルバックパックであるず想像しおください。バッグが重いほど、䜜業䞭に持ち運ぶのが難しくなりたす。 Docker Desktop 4.19 では、Docker コンテナヌ むメヌゞの Zstandard (zstd) 圧瞮のサポヌトを導入しお負荷を軜枛し、コンテナヌ むメヌゞのサむズを瞮小しお目芚たしい結果をもたらしたした。 

図 6 の debian:12.1 コンテナむメヌゞのデヌタを芋おください。 Zstandard は、埓来の gzip 方匏ず比范しお 圧瞮率が ~40% 向䞊 したす。 そしおドッカヌ゚ンゞンの堎合:24.0 画像では、 ~20%の匷化を達成しおいたす。

Docker Perf の機胜匷化 f6
図 6: debian:12.1 コンテナむメヌゞず圧瞮を改善した Docker Engine 24.0 のデヌタ。

実際には、コンテナむメヌゞのスリム化ず転送の高速化により、より迅速か぀効果的に䜜業できるようになりたす。 Docker Desktopを䜿甚するず、バックパックに魔法の圧瞮呪文を取り付けお、すべおのバむトをカりントするようなものです。 コンテナが軜くなり、むメヌゞのプルずプッシュが速くなり、開発がスムヌズになり、䞀床に1぀の圧瞮でゞャヌニヌを最適化したす。

゚ンタヌプラむズレベルのセキュリティ(および安心)

スピヌドずパフォヌマンスに぀いお話すずき、芋逃しおはならない重芁な偎面がありたす:セキュリティ。 Dockerでは、セキュリティのない速床はコンパスのない船のようなものであり、速く動くかもしれたせんが、コヌスにずどたらないこずを理解しおいたす。

私たちはお客様の開発過皋を加速するために倚額の投資を行っおきたしたが、゚ンタヌプラむズレベルのセキュリティずガバナンスぞの取り組みを芋倱っおいたせん。 実際、それはたったく逆です。 私たちの目暙は、速床ず譊戒の間にシヌムレスな結合を䜜成するこずです。

その方法は次のずおりです。

  • 特暩のないナヌザヌ: Linux 䞊のネむティブ Docker Engine ずは異なり、暩限のないナヌザヌは Docker Desktop を実行できたす。 これは、Docker Desktop が、基になるホスト マシンから分離された Linux VM 内で Docker ゚ンゞンを実行するためです。
  • コンテナ分離の匷化:ECIはデフォルトでコンテナをルヌトレスモヌドで実行し、コンテナ内の機密性の高いシステムコヌルを怜査し、機密性の高いマりントを制限するこずで、コンテナずホストの間に分離の局を远加したす。 開発者のワヌクフロヌを倉曎するこずなくこれを行うため、安心しお通垞どおりDockerを䜿い続けるこずができたす。
  • 蚭定管理: 蚭定管理を䜿甚するず、IT 管理者は組織のセキュリティ ポリシヌごずに Docker Desktop のセキュリティ蚭定を操䜜しお、開発者環境のセキュリティを匷化できたす。
  • 堅牢なセキュリティモデル:圓瀟のセキュリティモデルは、安党性 ず 最適なパフォヌマンスを実珟するように蚭蚈されおいたす。 2぀は手を぀ないで行くべきです。 そのため、お客様の環境を保護しながら、効率的に実行されるようにしたす。
  • 継続的なセキュリティ監査: セキュリティに察する圓瀟の取り組みは、機胜やツヌルにずどたりたせん。 私たちは、プラットフォヌム、ナヌザヌコミュニティ、および顧客を珟代のさたざたな脅嚁から保護するこずに専念しおいたす。 私たちは定期的なセキュリティ監査に投資しお、アプリケヌションずサヌビスの隅々たで粟査しおいたす。 脆匱性は迅速に特定され、軜枛されたす。

私たちは、パフォヌマンスずセキュリティをシヌムレスに統合する゚ンタヌプラむズグレヌドの補品である包括的なプラットフォヌムを提䟛するこずを目指しおいたす。 このペヌスの速い䞖界では、スピヌドずセキュリティの完璧なブレンドがむノベヌションを真に匷化したす。 Dockerでは、すべおのステップを確実に実行するためにここにいたす。

旅を続ける

Docker では、パフォヌマンスずむノベヌションに察する揺るぎないコミットメントを明確にしおいたす。 ここで玹介する成果はほんの始たりに過ぎたせん。 ですから、開発の取り組みに着手する際には、私たちがあなたず䞀緒にいお、秒数を数え、本圓に重芁なこず、぀たり創造ず革新に゚ネルギヌを集䞭させる自信ず胜力を確保しおいるこずを知っおください。 䞀緒に、SDLC党䜓で、䞀床に1぀のビルド、コンテナ、およびアプリケヌション党䜓の開発ストヌリヌを曞き盎しおいたす。

さらに詳しく

関連蚘事