ドッカーキャプテンテイク5–トーマスショー

Docker キャプテンは、その分野の専門家であり、Docker の知識を他の人と共有することに情熱を注いでいるコミュニティの選ばれたメンバーです。 「Docker Captains Take 5」は定期的なブログシリーズで、キャプテンを詳しく見て、Dockerの最高のヒントから猫と犬のどちらを好むかまで、同じ幅広い質問をします(個人的には好きです クジラ そして カメ こっち)。 今日は、Dockerキャプテンの1人であるThomas Shawにインタビューします。 彼はDIGIT Game Studiosでプリンシパルオートメーションエンジニアとして働いており、アイルランドを拠点としています。

ショー

Dockerを最初に知ったのはいつ/どのようにですか?

昨日のことのように覚えています。日付は2013年8月23日で、私はDemonwareのビルドエンジニアとして働いていました。 バンクーバーのオフィスを訪問した際、Mohan Raj Rajamanickhamという開発者の1人が、Dockerと呼ばれる「クールな新しいツール」について言及しました。 それは真実であるにはあまりにも良さそうに聞こえましたが、アイルランドのダブリンへの帰国便を待っている間に翌日バージョン0.5をダウンロードしました。 私は飛行中に数時間Docker CLIで遊んでいましたが、それだけでした。 飛行機がダブリンの滑走路に触れる前に、私はDockerの可能性に完全に売り込まれました。 これは、開発者とビルドエンジニアが同様に直面する差し迫った問題、依存関係地獄を解決しました。

その後の 12 か月で、ベア メタル ビルド エージェントをコンテナー化されたビルド エージェントに置き換えました。 最初は原始的なアプローチでした。 CentOS 5 VM を構築し、タールを塗って、そこからコンテナー イメージを作成しました。 これは、今後 2 年間にわたってビルドとテストを実行した基本イメージでした。 それぞれが一意で、それぞれ手動でセットアップされ、それぞれが異なるツールバージョンを持つ8つのベアメタルビルドエージェントから、Dockerのみがインストールされている4つのビルドエージェントに移行しました。

これは単純なアプローチでしたが、いくつかの固有のビルド エージェントの管理が不要になりました。 ビルドの安定性の向上、ビルドスループットの300%向上、最も重要なこととして、チームが独自の依存関係を所有するようになったなど、他にも多くのメリットが見られました。 このアプローチはうまくいき、2015 年頃に CI/CD パイプラインを AWS に移行することを検討し始めました。 当初はハイブリッドアプローチを採用し、ビルドとテストの大部分を自社のデータセンターで実行し、AWSではほんの一握りしか実行しませんでした。 これは予想よりも簡単でした。 Dockerはワークロードを移植可能にし、テストの実行にAWSのスケーラビリティを活用し始めました。 私たちのメインプロジェクトの1つの単体テスト(実際には機能テストでした)は、コミットごとに1時間以上かかっていました。 コンテナーを使用すると、複数のビルド エージェント上の複数のコンテナーにテストを分割でき、実行時間が約 10 分に短縮されました。 この時点で、より多くの人々がDockerの可能性に注目し始めました。

お気に入りのDockerコマンドは何ですか?

私は本当に "ドッカー差分"を楽しんでいます。 コンテナ内のプロセスによって追加または変更されているファイル/ディレクトリを確認することは非常に便利です。 デバッグに最適です。 近い秒は「ドッカー統計」です。

他の人が知らないかもしれないDockerを操作するための一番のヒントは何ですか?

可能であれば、独自の基本イメージとピン ツーリング バージョンを所有します。 Docker Hub でパブリック イメージを使用すると便利ですが、何百人もの開発者が同じ基本イメージに依存している組織で作業する場合は、社内に持ち込むようにしてください。 Demonwareにイメージ「ベーカリー」を設置し、固定されたバージョンのツールを含めて毎晩ベースイメージを構築し、広範なテストを実行し、ダウンストリームパイプラインをトリガーして、ベースイメージが常に良好な状態にあることを確認しました。経験上、これは最も「肥大化」が発生する基本イメージであり、無駄のない状態に保つことは、インフラストラクチャ内でイメージを移動する場合にも役立ちます。

あなたがやった/見た中で最もクールなDockerデモは何ですか?

私のお気に入りのデモは、JoyentのCasey Bissonによるものでした。 デモでは、Triton がどのように機能するか、および 1 つのエンドポイントを更新するだけで、ローカルで実行されている単一のコンテナーからデータセンター全体にスケーリングする方法を紹介しました。 これは2016年のことでしたが、私はまだこのアプローチのシンプルさが大好きです。

この半年間に取り組んだことで、特に誇りに思っていることは何ですか?

私は2013年後半から毎日コンテナを使用しており、今でも定期的に新しい用途を見つけています。 私は現在、ダブリンのDIGIT Games Studiosで開発者ツールとUXの改善に取り組んでいます。 この作業の一部には、ツールをコンテナ化し、Slack、コマンドライン、APIで呼び出し可能、スプレッドシートから実行可能など、さまざまな方法でアクセスできるようにすることが含まれます。 Dockerを使用すると、技術的または非技術的であるかどうかにかかわらず、ツールをエンドユーザーに近づけることができます。 ツールの更新のロールアウトは簡単になりました。

今年のDockerの最大の発表は何だと思いますか?

開発環境(DE)は、初期の発表に基づいて膨大な量の肯定的なフィードバックを受け取りました。 DEの可能性は大きいと思います。 これらの環境を開発者のIDEに緊密に統合するために、簡単に共有およびカスタマイズできるため、既存の摩擦がなくなり、開発者はアイデアから本番環境への移行をより迅速に行うことができます。

Dockerコミュニティに関する来年の個人的な目標は何ですか?

前回のDockerダブリンミートアップは2020年2月で、3000人以上のメンバーのコミュニティで、2022年に再び対面式のミートアップを開始したいと考えています。 また、アイルランド全土でDockerワークショップをさらに開催し、コンテナ化の力を他のコミュニティに広めたいと考えています。

DockerCon 2022で一番見たい講演は何ですか?

ゲームを含むどんな話も素晴らしいでしょう。 私は特に数年前のQuakeのライブマイグレーションデモが大好きでした。 いくつかのスタジオはコンテナで本当にクールなことをしています。 コンテナの早期導入者として、Demonwareは、セルフホスト型Kubernetesからクラウドへの移行に関して、共有できるいくつかの有用な経験を持っている可能性があります。 

遠い未来を見据えて、あなたが最も興奮し、多くの可能性を秘めていると思うテクノロジーは何ですか?

それは難しい質問です。 ユーザーエクスペリエンスに最初に焦点を当て、使用する喜びであるテクノロジーは、私を興奮させます。 ゲームの観点から見ると、拡張現実は、特にモバイルゲームにとって非常に大きな可能性を秘めています。 ブロックチェーンとNFTのどちらについてもコメントするのに十分な知識がないため、言及するつもりはありません。 彼らは彼らの場所を持っているかもしれませんが、提案されているように環境に悪影響を与える場合は、おそらく彼らはさらに数回の反復のために製図板に戻る必要があります。

急速な火の質問...

パンデミックの間にどのような新しいスキルを習得しましたか?

マインドフルネス。

猫か犬か?

イヌ。

塩辛い、酸っぱい、甘い?

甘い。

ビーチか山か?

山岳。

最もよく使われる絵文字は?

🤗

ドッカーコン2022

5月10日火曜日に開催されるDockerCon2022にご参加ください。 DockerCon は、次世代の最新アプリケーションを構築している開発者や開発チームにとってユニークな体験を提供する、無料の 1 日の仮想イベントです。 コードからクラウドにすばやく移行する方法と開発の課題を解決する方法について学びたい場合は、DockerCon 2022 でアプリケーションの構築、共有、実行に役立つ魅力的なライブ コンテンツが提供されます。 今すぐご登録ください https://www.docker.com/dockercon/