ケーススタディー

CloudflareでDockerによるマルチアーキテクチャ開発の俊敏性を実現

Cloudflareについて: Cloudflareは、コネクティビティクラウドのリーディングカンパニーであり、組織が複雑さとコストを削減しながら、従業員、アプリケーション、ネットワークをあらゆる場所でより速く、より安全にすることを可能にします。
産業: インターネットセキュリティとパフォーマンスサービス
企業規模:3、600+
場所:本社は米国カリフォルニア州サンフランシスコにあり、120か国以上で利用可能です

ハイライト

  • 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は新たなレベルの効率性と俊敏性を実現しました。

主な利点

アイコン 19 の主な利点

マルチアーキテクチャ・イメージのサポート

マニフェストリストを使用したマルチアーキテクチャイメージに対するDockerのサポートは、Cloudflareにとってゲームチェンジャーでした。 マニフェストリストが導入される前は、Cloudflareは、ベースイメージの違いが唯一のものであっても、アーキテクチャごとに異なるタグを持つ複数のイメージを管理する必要がありました。 このアプローチにより、アーキテクチャごとに異なるバージョンとタグを持つイメージが急増し、イメージ管理の複雑さと冗長性が増しました。

アイコン 20 の主な利点

Dockerの継続的なイノベーションを活用

Cloudflareは、Dockerの継続的なイノベーションへの取り組みに特に感銘を受けており、それはマニフェストリストやBuildXなどのツールの継続的な機能強化に表れています。 2017年に導入されたマニフェストリストにより、さまざまなアーキテクチャにわたるCloudflareのイメージ管理が大幅に簡素化されました。また、Cloudflareは、Dockerによって市場にもたらされた別の改善点であるIPv6 ネットワーク機能を活用して、CIエージェント内に新しいネットワークを確立しました。 この機能は、IPv6 ネットワーク上でのアプリケーションのデプロイとテスト、互換性の強化、およびCloudflareのサービス範囲をIPv6に依存する環境に拡張するために不可欠でした。

Icon 04 主な利点

開発および展開プロセスの合理化

Dockerのコンテナ化テクノロジーにより、Cloudflareのエンジニアはアプリケーションとその依存関係を標準化されたユニットにパッケージ化し、異なる環境間で一貫性を確保できます。 このアプローチにより、開発と展開のプロセスが合理化され、複雑なアプリケーションスタックのセットアップと管理に必要な時間と労力が削減されます。

アイコン 08 の主な利点

拡張性と柔軟性の向上

Dockerのポータビリティと柔軟性により、Cloudflareはアプリケーションやサービスを簡単に拡張し、顧客の高まる需要を満たすことができます。 コンテナ化により、AMDやARM64など、さまざまな環境やアーキテクチャ間でのアプリケーションの迅速な展開と拡張が可能になり、Cloudflareは変化するビジネス要件に対応するために必要な俊敏性を得ることができます。

アイコン 09 の主な利点

オーケストレーションのためのKubernetesとのシームレスな統合

Dockerは、主要なコンテナオーケストレーションプラットフォームであるKubernetesと統合されています。 Cloudflareは、この統合を活用して、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化します。 Kubernetesは、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とのパートナーシップがインターネットの未来を形作る上で重要な役割を果たすことは間違いありません。

「マニフェストリストなどの新しいDocker機能が継続的に追加されることで、使いやすさが大幅に向上し、より直感的で効率的になりました。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「Dockerを使用すると、冗長性とコストが削減されます。 処理やストレージの使用量自体だけでなく、Dockerの使いやすさにより、他のリソースの量と投資する時間が削減されるため、コストを削減できます。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「マニフェストリストがなければ、異なるバージョンのイメージがあり、各イメージはタグ内で異なるアーキテクチャを持つ単一のイメージとして機能します。 そして、エンジニアはそれらの画像を引き出す責任があります。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「Docker のおかげで、非常に多くのことが可能になり、常に改善されています。 そして、ドキュメントを見るたびに、これは新しいなと感じます。 知らなかった」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「Dockerには、素晴らしいサポートと透明性を備えた大規模なコミュニティがあります。 信頼の観点からは、Dockerを使い始める必要があります。 使い始めると、Dockerによって速度が大幅に向上することに気づきます。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「誰もが大規模なデプロイにDockerを使用しています。 私は学生の頃から使っていますが、アプリケーションの開発と展開に代わるものはありません。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「Dockerはこの道のりで私たちを助けてくれました。CloudflareはDockerとともに成長してきました。 他のものを使うなんて考えられません」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「欠陥を発見し、実際に対処し、その問題から元に戻したり、根本原因をデバッグしたりできることは、Dockerをユニークなものにしている非常に興味深いことの1つです。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

「Dockerが継続的にクールなものを考え出しているのはとてもクールです。私たちは新しい機能リクエストをプッシュし、それらを公開して追跡することができます。」

サンチタ・アガルワル
Cloudflareのシニアソフトウェアエンジニア

自分に合ったサブスクリプションを見つける

今すぐ専門家に連絡して、Dockerサブスクリプションのコラボレーション、セキュリティ、サポートの完璧なバランスを見つけてください。