コンテナプラットフォームからマイクロサービスアーキテクチャまで、Dangdang.comのクラウドネイティブへの旅

コンテナプラットフォームからマイクロサービスアーキテクチャまで、Dangdang.comのクラウドネイティブへの旅

Dangdang.com は、書籍、電子書籍、オーディオブック、衣料品、デパートなどのカテゴリーを網羅する世界的に有名な総合オンライン ショッピング モールです。デジタル化が社会経済発展のトレンドとなっている中、電子商取引業界もデジタル化を原動力とした刷新を加速させ、販売コンテンツ、ソーシャルモデル、消費者体験を総合的にアップグレードしています。同時に、突発的な渋滞への対応や新規事業の急速な立ち上げといったニーズにも対応する必要があります。信頼性、拡張性、パフォーマンスに優れた IT アーキテクチャが必須となっています。

最近、記者はDangdang.comのクラウドネイティブ実験室の責任者であるLi Zhiwei氏にインタビューし、近年のDangdang.comのデジタル変革を振り返りました。

[[426177]]
Dangdang.com のクラウドネイティブ研究所の責任者、Li Zhiwei 氏

Kubernetesに足を踏み入れてクラウドネイティブの旅を始めましょう

過去数年間、Dangdang のビジネスのほとんどは物理マシン上で実行されており、運用と保守の自動化レベルは低く、システム アーキテクチャは多様で複雑であり、コンピューティング リソースの使用率は 20% 未満でした。トラフィックが急増すると、水平方向の拡張や移行が非常に難しくなります。同時に、歴史的な理由により、Dangdang.com には多くの古いサービスがあり、それらを新しいプラットフォームにスムーズに移行する必要があります。

当時の状況を踏まえ、Dangdang.com はまず独自のプライベート クラウド プラットフォームを構築し、段階的に変革を進めていく必要があると考えました。しかし、Kubernetes プラットフォームに触れてから、Dangdang.com はコンテナ クラウド プラットフォームに直接参入できると考えました。

Kubernetes は、マイクロサービス アーキテクチャに最適なオペレーティング プラットフォームの 1 つです。 Dangdang.com の既存ビジネスがマイクロサービス アーキテクチャの概念に従って完全に変革されるには、数年程度かかります。 Dangdang.comは最終的に、既存のアプリケーション基盤をベースにスムーズな移行を行い、約半年ですべての業務を移行することを決定しました。最初のステップは、Kubernetes を使用して、可用性が高く、高度に自動化された運用および保守プラットフォーム、つまり効率的なサービス オーケストレーション プラットフォームを実装することでした。

事実が証明しているのは、Kubernetes が Dangdang.com の研究開発プロセスを真に変え、単一のビルドを複数のオペレーティング環境で実行できることを真に実現したということです。 Kubernetes は Borg のアーキテクチャコンセプトを踏襲し、既存のシステムアーキテクチャ設計を標準化し、自動化された運用と保守を実現します。さらに、Kubernetes を使用すると、クラウド ベンダーにロックインされることがなくなり、異なるサービス プロバイダー間で迅速に移行できるようになります。

Kubernetes には多くの利点がありますが、開発者がそれを使用するためのハードルは非常に高いです。当初、Dangdang.com は Jenkins、Helm、Chart を使用して CI/CD プロセスを簡素化していましたが、構成と運用保守管理は依然として複雑でした。開発者は、コンテナの構築とスケーリングだけでなく、トラフィック制御の実装の詳細にも注意を払う必要があります。開発、運用、保守管理の複雑さを解決するために、シンプルで効果的なサービス オーケストレーション標準が緊急に必要とされています。さらに、Kubernetes 自体では、あまり使用されないサービスによるリソースの占有の問題を解決できません。ほとんど使用されないにもかかわらず、CPU やメモリ リソースを占有するサービスやジョブが依然として多数存在し、その結果、コンピューティング リソースの使用率が低くなっています。

Knative でサーバーレスが簡単に使える

クラウドネイティブ時代では、Kubernetes と Istio の導入により、マイクロサービスの開発と展開のための完全なソリューションが提供されますが、メンテナンスの複雑さも高まります。新世代のサーバーレス アーキテクチャ プラットフォームである Knative は、マイクロサービスの管理問題を解決するシンプルなソリューションを提供します。

サーバーレスとは​​、ステートレス コンピューティング コンテナーで実行される開発者によって実装されたビジネス ロジックを指します。これはイベントによってトリガーされ、サードパーティによって完全に管理されます。ビジネス レベルのステータスは、データベースやその他のストレージ リソースに保存されます。サーバーレスとは​​、サーバーが必要ないということではなく、開発者がサーバーの問題についてあまり心配する必要がないことを意味します。コンピューティング リソースは、サーバーではなくサービスとして表示されます。サーバーレスは、開発者がサーバー レベルではなくサービス レベルでアプリケーションの展開を管理できるようにする、マイクロサービス ベースのアーキテクチャを構築および管理するための完全なプロセスです。これにより、ソフトウェア開発の複雑さが大幅に軽減され、開発者は迅速に反復してソフトウェアをより迅速に開発できるようになります。

サーバーレスには、インフラストラクチャを管理する必要がない、従量課金制、イベント駆動型、ビルドとデプロイメントが自動化されるなどの利点があります。しかし、各メーカーのサーバーレス規格は統一されておらず、メーカー間でソフトウェアを移行することができません。客観的に見ると、ベンダー ロックインの問題があり、これがサーバーレスの開発を制限する主な要因です。このため、Google は Knative プロジェクトを立ち上げました。 Knative は、Kubernetes プラットフォームに基づいて Google が開始したサーバーレス オープンソース プロジェクトであり、サーバーレスのサービス管理、イベント駆動型、ビルド展開を標準化します。マネージド サービスとしてパブリック クラウドで実行できるだけでなく、企業独自のデータ センターに展開することもできるため、マルチクラウド展開やベンダー ロックインの問題を効果的に解決できます。


インフラストラクチャとして、Kubernetes はアプリケーションのオーケストレーションと運用環境の問題を解決します。通信インフラストラクチャ層として、Isito はサービスの動作が検出可能、構成可能、追跡可能であることを保証できます。 Knative は、アプリケーション テンプレートと統合されたランタイム環境を使用して、サービスの構築、展開、管理を標準化します。

Knative は、Kubernetes と Istio の複雑さを抽象化して分離し、サービスの構築、展開、管理の面倒な手順を解決し、オープン スタンダードに基づいてサービスを移植可能にします。

Knative は、存在してからまだ 2 年以上しか経っていないオープン ソース プロジェクトであり、その機能は今も急速に進化し続けています。安全上の理由から、Dangdang.com は比較的成熟した Serving コンポーネントを選択し、比較的独立したビジネス モデルを持つ単一製品 API サービスに適用しました。

単一製品 API サービスは、Dangdang.com の基本プラットフォームにおける中核となる基本サービスの 1 つです。製品関連の一連の API サービスで構成されています。単一の製品 API は、関連するすべてのアップストリーム サービスに対して効率的で信頼性の高い基盤サービス サポートを提供します。

Dangdang.com は完全なオペレーティング環境を構築しました。まず、ユーザー コンテナに対応する Dockerfile を記述し、次に対応する Tekton タスク ファイルと taskrun ファイルを記述し、コードをビルドしてランタイム コンテナをパッケージ化してプライベート イメージ リポジトリにプッシュし、Knative service.yaml 構成ファイルを記述してデプロイメントを完了します。

運用および保守ツールに関しては、Knative は Kubernetes プラットフォーム上のソリューションを直接使用して、構築の重複を回避します。


テスト結果によると、ネイティブ Kubernetes デプロイメント ソリューションと比較して、Knative の導入により 27 ミリ秒のレイテンシと 10% の TPS 損失が発生しました。

Knative Serving はゼロへのスケールダウンをサポートしており、低頻度アプリケーションのリソース使用量が大幅に改善されます。コールド スタート問題を解決するために、Dangdang.com は、リソース使用量とサービス応答遅延のバランスをとるために、最小限の数のサービス レプリカを保持する方法を採用しています。予測される高同時実行シナリオでは、突然の高同時実行リクエストによってリクエストのバックログが大量に発生するのを避けるために、サービスに必要なレプリカの予想される最小数を事前に設定できます。リソースの過剰割り当てを避けるために、サービスに必要なレプリカの最大数を事前に設定してください。各サービスの可用性を確保するために、サービスの各 POD の同時リクエストの最大数を設定します。

Dangdang.com の Knative アプリケーションの事例から、Knative がサーバーレス プラットフォームの標準化に大きな意義を持っていることがわかります。 Knative は幅広い開発の見通しがあり、将来的には主流のサーバーレス アーキテクチャ プラットフォームになると期待されています。同時に、Knative はまだ徐々に成熟しており、大規模なアプリケーションにはさらなる改善が必要です。

インタビュー対象者: Dangdang.com の Cloud Native Lab 責任者であり、『Knative in Action』の著者である Li Zhiwei 氏。彼は2016年にDangdang.comに入社し、デジタルビジネス製品ラインのテクニカルディレクター、アーキテクチャ部門およびクラウドネイティブラボの責任者を務めました。当社は、Dangdang プラットフォーム上でのクラウド ネイティブ テクノロジーの応用の促進と実装に取り​​組んでいます。 2018 年には、Dangdang Cloud Reading 製品ラインの完全なコンテナ化を実現し、Kubernetes プラットフォームの全体的なソリューション設計と実装を完了しました。

<<:  クラウドネイティブを採用したHuawei Cloud GaussDBは、金融業界のデジタル変革を支援します。

>>:  ファーウェイクラウド 洪方明:一緒にインテリジェントシティを構築し、都市をより温かくする

推薦する

適切なウェブサイトを構築するための Baidu Google 最適化ガイドの解釈

私は数年にわたり SEO に携わってきました。最適化についてはあまり詳しくありませんが、業務をこなし...

ゲームの仕組みを通じてユーザー維持率を向上させるにはどうすればよいでしょうか?

2017年中国ゲーム産業レポートによると、中国ゲーム市場の実際の売上高は2,786億8,700万元に...

内部リンクか外部リンクか?

検索エンジンでは、トラフィックを取得するための最も基本的な単位は Web ページです。 Web ペー...

インターネット垂直採用 Lagou.com は、インターネット高速採用を構築するためにシリーズ A 資金調達で 500 万ドルを獲得しました。

インターネット専門の人材紹介会社 Lagou.com は昨日、ベルテルスマン・アジア投資ファンドから...

Baidu の検索結果に表示されるグラフィックとテキストのロゴに気づきましたか?

最近、Baidu 検索エンジンは新たな動きを見せました。以下は、Baidu Webmaster Pl...

WeChatを誰もが有効活用するにはどうすればいいでしょうか?

誰もが大きな意義を授けられた製品であるWeChatは、テンセントの将来の発展戦略における重要な駒とみ...

不安定な空間はウェブサイトにとって幸運の裏返し

スペースの安定性は、ウェブサイト開発の基盤です。どんな種類のウェブサイトであっても、何らかの操作を実...

羅永浩とのライブ配信の1年

羅永浩は2019年4月1日に初の生放送を開始し、総取引額は1億1000万元、視聴者数は5000万人近...

Ali Bixuan: 開発者エコシステムは、クラウドの将来における成功と失敗の鍵となるでしょうか?

過去 1 年間、開発者エコシステムをめぐるクラウド ベンダー間の競争はますます激化しています。なぜこ...

伝統的企業における電子商取引の発展に関する考察

私はインターネット業界で約3年間(個人ウェブマスター、電子商取引)働いてきましたが、現在は伝統的な企...

ウェブサイトの降格のさまざまな形式と解決策の体系的な説明

ウェブサイトを構築していると、権限が減ってしまうさまざまな状況に遭遇することが多く、これをKステーシ...

クラウドネイティブコンピューティング財団の第11回インキュベーションプロジェクトが卒業し、中国で誕生

中国で誕生した最初のインキュベーションプロジェクトであるHarborが、Cloud Native C...

Mafengwo ビッグデータ プラットフォームにおける Kafka クラスターの最適化とアプリケーション拡張

Kafka は人気のあるメッセージ キュー ミドルウェアです。大量のデータをリアルタイムで処理でき、...

ZoroCloud: 25% オフ、香港/米国 VPS、トリプルネットワーク CN2 GIA&CU2、無料の高セキュリティ、Chatgpt/Tiktok のロック解除

Zorocloud は 4 月の特別プロモーションを実施し、四半期ごとの支払いで米国 VPS と香港...