ハイライト
- Cloudflareは、毎日平均 1、500 つの異なるDockerイメージをプッシュしています
- 6、000+マルチアーキテクチャイメージは、DockerのマニフェストリストとARMサポートで管理されます
- コンテナ化されたインフラストラクチャを最適化しながら、120+国の320都市にサービスを提供
概要
接続クラウドのリーディングカンパニーであるCloudflareは、世界中のユーザーに高速で安全なインターネット体験を提供しています。 Cloudflareは、ネットワークを介して大量のグローバルインターネットトラフィックが流れる中、インフラストラクチャの効率と信頼性を向上させるための革新的なソリューションを継続的に模索しています。
Cloudflare は、NYSEで取引される23 億ドルのテクノロジー大手に急速に成長し、世界最大かつ最も強力なクラウドネットワークの1つを構築しました。 そのグローバルなフットプリントは、120か国以上の320以上の都市に広がっています。中核となるのは、13以上の000ネットワークと相互接続された320都市のデータセンターであり、Dockerはそれらに展開されるアプリケーションの基盤です。
DDoS攻撃対策やコンテンツ配信などのCloudflareのサービスを支えているのは、 100Tbpsを超えるスループットという驚異的なネットワーク容量です。 その約 70%は、 8以上の800 ネットワークとのプライベート相互接続を介して流れますが、同社のエニーキャストネットワークは、 600+インターネットエクスチェンジを利用して、 37 Tbps以上のボリューム型攻撃を吸収します。 このように、大規模に分散されたプレゼンスと帯域幅のスケーラビリティを組み合わせることで、Cloudflareは世界中のお客様に低レイテンシーのパフォーマンスとセキュリティを提供することができます。
Cloudflareの成功の中心にあるのは、専任のエンジニアチームです。 Sanchita Agarwalは、CloudflareのDevToolsチームとしても知られる開発者生産性チームのシニアソフトウェアエンジニアです。 Agarwal 氏と彼女のチームは、セルフサービスの開発ツールと環境を通じて生産性を高める上で重要な役割を果たしています。 彼らの使命は、ソフトウェア開発ライフサイクル(SDLC)全体を通じて会社全体のエンジニアを支援し、すべての重要なサービス、セルフホストCI/CDプラットフォーム、およびインフラストラクチャがスムーズに実行されるようにすることです。
DevToolsチームは、Cloudflareのエンジニアリングエコシステムのバックボーンであり、開発者の生産性を最適化するために必要なツール、フレームワーク、サポートを提供しています。 さまざまなエンジニアリングチームと緊密に連携して、独自の要件を理解し、効率を高め、ワークフローを合理化するカスタマイズされたソリューションを提供します。 DevToolsチームは、インフラストラクチャ管理の複雑さを抽象化し、直感的なツールを提供することで、エンジニアがコードを書き、Cloudflareの顧客に価値を提供するという最も得意なことに集中できるようにします。
CloudflareとDockerの関係は、 2014年6月にDocker Hubに加わった初期の頃にさかのぼります。 初期の段階では、新しいDocker製品やサービスの多くが登場する前からDockerを使用していました。 コンテナ化テクノロジーをいち早く採用したCloudflareは、アプリケーションの開発、デプロイ、管理の方法に革命をもたらすDockerの可能性を認識していました。 Dockerを Docker Business の顧客として採用することで、Cloudflareはエンジニアリングエコシステム全体を再構築する変革の旅に着手しました。
問題
異なるアーキテクチャの 1人以上の000 開発者にセルフサービスを提供
Cloudflareは、グローバルなプレゼンスと顧客基盤を拡大するにつれて、膨大なネットワークインフラストラクチャを効率的に管理および展開するという課題に直面しました。 0001人以上のエンジニアが重要なサービスに取り組み、エッジのノード数が急速に増加しているため、Cloudflareは開発およびデプロイプロセスを合理化するソリューションを必要としていました。同社は、冗長性を減らし、リソース使用率を最適化し、多様なエコシステム全体で一貫性を確保することを目指していました。
Cloudflareのエンジニアリングチームは、複数の環境を管理し、異なるシステム間で互換性を確保するという複雑な課題に取り組んでいました。 Cloudflareが成長し拡大するにつれて、その技術スタックは、マルチアーキテクチャイメージのタグ付けを処理するために、より多くのサポートを必要としていました。 彼らは、マルチアーキテクチャのイメージを管理するための単一のソリューションを探しており、それをインフラストラクチャ、特にARMに追加していました。
Cloudflareは、俊敏性と効率性を維持するためには、新しいツールや、ニーズの拡大に合わせて拡張できる既存のツールを倍増させる必要があることに気付きました。 彼らは、Dockerが競争力を維持し、優れた顧客パフォーマンスを提供するのに役立つと信じていました。
解決
Dockerの力を活用してシームレスなアプリケーション配信を実現
Cloudflareは、アプリケーションの開発とデプロイのアプローチを拡大するためにDockerに目を向けました。 2017年、Dockerはマニフェストリストを導入し、Cloudflareはマルチアーキテクチャイメージの管理に迅速に2018を活用しました。この機能により、各アーキテクチャのマニフェストを生成し、同じ名前とバージョンでイメージにタグを付け、Docker デーモンがアーキテクチャに基づいてイメージをプルできるようになりました。
Dockerのポータブルコンテナにより、エンジニアはアプリケーションとその依存関係を、すべての環境で一貫性のある標準化されたユニットにパッケージ化することができました。 このアプローチにより、異なる環境間での統一性が促進され、開発ワークフローが大幅に合理化されます。 Dockerのコンテナ化テクノロジーを採用することで、Cloudflareは新たなレベルの効率性と俊敏性を実現しました。
主な利点
Cloudflare全体でのDockerの利用状況
Cloudflareは 、Docker Compose を多用して、マルチコンテナアプリケーションを定義および実行しています。 同社は、Docker Compose を中心にラッパー ツールを構築し、エンジニアが日常のタスクや構成を簡単に再利用できるようにしました。 このアプローチにより、複雑なアプリケーションスタックの設定と管理に必要な時間と労力が大幅に削減されます。 Dockerは、インフラストラクチャ管理の複雑さを抽象化することで、Cloudflareのエンジニアがコードの記述と顧客への価値提供に集中できるようにします。
DevTools チームは、エンジニアの生産性と自律性を高めるセルフサービス開発プラットフォームの作成に不可欠です。 Dockerコンテナのラッパーとして機能する革新的なアプリケーションを構築し、インフラストラクチャ管理の複雑さを抽象化しました。 これらのアプリケーションは、エンジニアが開発環境を立ち上げ、テストを実行し、コードを迅速にデプロイするためのユーザーフレンドリーなインターフェイスを提供します。
このセルフサービスプラットフォームが開発者の幸福度に与える影響は、いくら強調してもし過ぎることはありません。 エンジニアは、インフラストラクチャのプロビジョニングを待ったり、環境の問題のトラブルシューティングに時間を費やしたりする必要はありません。 コードをすばやく反復し、変更をテストして、自信を持って本番環境にデプロイできます。 このレベルの自律性と効率性は、開発者の満足度と生産性につながり、Cloudflareとその顧客にとってより迅速なイノベーションとより良い結果につながっています。
Cloudflareとオープンソースの透明性CloudflareにとってのDockerの重要な利点の1つは、活気に満ちたオープンソースコミュニティと透明性の高い開発プロセスです。 Dockerコミュニティは、世界中の開発者がプロジェクトに貢献し、専門知識を共有するなど、積極的な関与で知られています。
CloudflareはDockerコミュニティに積極的に参加し、 Docker Hub にベースイメージを提供し、他のユーザーと交流して知識やベストプラクティスを共有しています。 同社は、マニフェストリストによるマルチアーキテクチャサポートの導入など、新機能や改善を声高に提唱してきました。 Dockerコミュニティの集合知を活用することで、Cloudflareはコンテナ化テクノロジーの最前線に立ち続け、最先端のソリューションをお客様に提供することができました。
Dockerプロジェクトの透明性は、Cloudflareにとって大きなメリットとなっています。 Cloudflareは、オープンな開発プロセスと公開されている課題トラッカーにより、Dockerチームと積極的に連携し、重要な機能やバグ修正に関するフィードバックを提供することができます。 このレベルの透明性により、CloudflareとDockerコミュニティの間の信頼感とコラボレーションが促進され、同社はプロジェクトの方向性に影響を与え、そのニーズを確実に満たすことができます。
結果
比類のない速度と効率の向上
Dockerを採用することで、Cloudflareは速度と効率の面で目覚ましい成果を達成しました。 同社は現在、毎日平均 1、500 つの異なる画像をプッシュしており、短いタグと長いタグを考慮すると、 6以上のマルチアーキテクチャ画像000 に変換されます。 このレベルの生産性は、Dockerなしでは考えられなかったでしょう。
Agarwal 氏が説明しているように、「マニフェストリストがなければ、異なるバージョンの 1 つのイメージがあり、各イメージは基本的に、タグ内で異なるアーキテクチャを持つ 1 つのイメージとして機能します。 エンジニアは、それらの画像を引き出す責任があります。」
Dockerのおかげで、Cloudflareのエンジニアはイノベーションに集中し、顧客に価値を提供できるようになりました。 コンテナを迅速に起動し、アプリケーションをローカルでテストし、シームレスにデプロイできるため、開発サイクルが大幅に短縮されました。 エンジニアは、より迅速にイテレーションを行い、新しいアイデアを試し、顧客のニーズに迅速に対応できるようになりました。 この速度の向上により、Cloudflareは競合他社の一歩先を行き、プラットフォームに新機能と改善を継続的に提供できるようになりました。
Cloudflareは今後も、Dockerの機能を活用する新しい方法を模索し続けます。 同社は、CI/CDパイプラインをさらに最適化するために、Docker-in-Dockerソリューションを積極的に調査しています。 Cloudflareは、Dockerコンテナ内でDockerを実行することで、ビルドとデプロイのプロセスを合理化し、イテレーションの高速化とリソース利用の効率化を実現することを目指しています。 この継続的な調査は、コンテナ化テクノロジーの可能性の限界を押し広げるというCloudflareのコミットメントを示しています。
CloudflareのDockerへの道のりは、商用オープンソースとコミュニティ主導のイノベーションがもたらす変革力の証です。 Dockerを採用し、その活気あるエコシステムに積極的に関与することで、Cloudflareは前例のない速度、効率、スケーラビリティのレベルを実現しました。 同社のサクセスストーリーは、インフラストラクチャをモダナイズし、進化し続ける技術環境で優位に立ち続けようとしている他の組織に刺激を与えています。
Dockerを開発者エクスペリエンス向上のパートナーとして迎えることで、Cloudflareは将来の課題に取り組み、CDN分野のリーダーであり続けることができる体制を整えています。 透明性、コラボレーション、継続的な改善に対する同社の取り組みは、Dockerコミュニティの価値観と完全に一致しています。 Cloudflareが革新を続け、可能性の限界を押し広げる中で、Dockerとのパートナーシップがインターネットの未来を形作る上で重要な役割を果たすことは間違いありません。