SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2019夏】セッションレポート(AD)

独身の日1日の取扱額は約3.5兆円、そのトラフィックを支えるAlibaba Cloudとは?【デブサミ2019夏】

【B-5】世界最大規模のショッピングフェスティバルW11(双11)を支えるインフラ技術

  • このエントリーをはてなブックマークに追加

より安定的で信頼性あるインフラとして機能拡張

 2016年には8回目のダブルイレブンを開催。「システムは成熟しているので、負荷テストの強化を行った」と寺尾氏は話す。強化の一つとして行ったのが、利用者の購入フローに基づいた負荷テスト。またダブルイレブンのコストを節約するために、インフラの50%をAlibaba Cloud化。「これまでもAlibaba Cloudを活用していたが、パブリックのリソースでは難しかった部分は独自にチューニングしたり、オンプレミスのインフラもかなり使っていた。しかしこの辺りからコンテナの技術がだんだん機能してきたことで、Alibaba Cloud化が進んだ」(寺尾氏)。予想以上の負荷が発生したが、急遽キャパシティを数百台に拡張して問題を解消。インフラの調達スピードを上げることができたと言う。

 もう一つ、この頃に起こった課題が監査部門から実行したSQLをすべて保存してほしいと言われたこと。そこで色々なDBシステムを検証した結果、時系列データベースTSDBに格納することを選んだ。TSDBに格納するためにアプリケーションの応答速度を犠牲にしないための工夫も行った。アリババが独自開発したAliSQLにコネクタを作成して、RocketMQにデータを入れてからRealtime Computeで処理をするフローにすることで、AliSQLはクエリを実行した後MQにデータを渡すだけで済むため、アプリケーションへの影響は軽微で済んだ。AliSQLもオープンソースで公開されている。またRealtime ComputeというストリーミングエンジンのソースコードはApacheファンデーションに寄贈。それがApache Flinkで、現在、アリババ社内で改造されている(Alibaba Blink)。「Alibaba BlinkもオープンソースとしてApacheに寄贈し、Apache Flink 2.0という形でリリースされる予定となっている」(寺尾氏)。さらにAlibaba Cloudでは保存したすべてのSQLを分析・学習させる自律インテリジェント診断エンジン「CloudBA」も開発している。「現在は中国リージョンのみのサービス提供だが、早く日本でも利用できるようになることを期待している」と寺尾氏は今後の展望を語る。

 2017年は9回目となるダブルイレブンの開催である。「ちょうどこの頃より、社内にコンテナ技術が浸透してきたことで、コンテナのデプロイ時間が想定よりも長くかかるという問題が起こってきた」と寺尾氏は語る。数秒で準備できるはずのコンテナが準備できないと、さばける予定だったトラフィックがさばけなくなる。同社では「Pouch」というコンテナエンジンを開発してきた。同エンジンが新しいコンテナを作るときはリポジトリからデータを取得してくるのだが、それがボトルネックとなり、その結果、コンテナの立ち上がりが遅くなっていた。その解決策として開発したのが、大規模なコンテナ環境でのイメージ配信をP2P技術で高速化する「Dragonfly」というプロダクトだ。「これもオープンソースとして公開している」(寺尾氏)。この技術により、コンテナのデプロイ時間を50%改善していると言う。アリババでは2011年よりPouchの前身となる独自開発のコンテナエンジン(T4)を活用してきた。しかし、同エンジンではメンテナンスコストがかかっていたため、普及が進まなかった。そこで2015年にDockerイメージを利用できるように改善。「イメージを作るコストを下げることができ、社内でもPouchが普及するようになり、アプリケーションのコンテナ化が進んでいる」と寺尾氏は説明する。

 さらに2017年には、データベースとストレージを切り離す取り組みを行った。データベースはどうしてもローカルストレージを使った方がパフォーマンスがでるが、それでは、データがあるホストから移動できない制約が発生してしまい、これは伸張性の制約にもなってしまう。リソースの伸張性を十分に発揮するための取り組みとして重要なのが、一つは「コンテナ化」であり、もう一つはデータベースを含む計算ノードの「リソース分離」と「統一したリソーススケジューリング」だ。これを実現するために難易度の高いデータベースとストレージの分離に取り組んできた。

 2017年には、TCP25Gのネットワークで結ぶことを行った。帯域を増やすとともに。ストレージエンジンに関してもPangu2.0という独自開発の分散ストレージを使って高速化を実現。2018年にはTCPをRDMAに変更。このような改善を行うことで、RDMAの応答性能を50%改善し、100から200マイクロセカンドを実現した。「来年はさらに導入台数を増やしてパフォーマンスを向上させる計画だ」と寺尾氏は力強く語る。

 アリババにとってダブルイレブンは、Alibaba Cloudの技術を進化させるためのイベントでもある。常にチャレンジすることで、大規模なトラフィックにも対応できるクラウドサービスとして進化している。

 「日本でもすでに70近くのプロダクトがリリースされており、すぐに利用できる。本日、紹介した技術の他にも、まだまだ届けたい技術はたくさんある。そのほかにもKubernetes自動化エンジンのOpenKruiseなど公開しているオープンソースも多くある。ぜひ、エンジニアとして公平な目で技術を評価して、採用できそうなものがあれば使って欲しい」(寺尾氏)

 現在、日本全国でAlibaba Cloudのユーザーコミュニティ「AliEaters」の話が拡がっていると言う。また9月25日から27日まで、中国・杭州でAlibaba Cloudのコンピューティングカンファレンス「Apsara Conference 2019」が開催される。さらにその翌日の28日には中国・上海で、日本人ユーザー向けのコミュニティ「AliEaters」が開催されると言う。関心のある人はぜひこの機会に訪ねてみてはいかがだろう。

大規模なコンテナ環境のイメージ配信をP2P技術で高速化する「Dragonfly」の仕組み
大規模なコンテナ環境のイメージ配信をP2P技術で高速化する「Dragonfly」の仕組み

お問い合わせ

 SBクラウド株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2019夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11632 2019/08/05 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング