1日の売上2.8兆円のeコマースを支えるAlibaba Cloudとは
「Alibaba Cloudが日本でどんな風に使えるのかを話したい」
森氏のこの言葉からセッションは始まった。アリババは中国で巨大eコマース事業を展開している、世界の時価総額のトップ10にも入るネット企業だ。そのすごさを伝える数字として森氏が挙げたのが2017年11月11日(中国における独身の日)のネットセールの数字。アリババはこの日1日で約2.8兆円の売上を上げたという。これがどのくらいすごい数字かピンとこない人もいるかもしれないが、日本の大手ECサイトが1年間で約3兆円と言われており、それを1日で成し遂げたということになる。「ビジネスとしてすごいだけではなく、これを達成したAlibabaのエンジニア集団とインフラ技術のすごさを紹介していきたい」と森氏は説明を続ける。
今やAlibabaはeコマースだけではなく、決済や物流などさまざまな事業を行っているネット企業である。「そんなサービスを裏側から支えるため、自ら開発したインフラ基盤がAlibaba Cloud。生活に即した20を越えるサービスをAlibaba Cloud上で稼働。世界の17のリージョンで展開しており、日本リージョンも2016年に開設。日本のエンタープライズのお客さまも使われており、私たちも日々使ってもらえるよう活動している」(森氏)
プロダクトラインナップも100を越え、実績もすでにある。仮想サーバをはじめとしたIaaS、コンテナサービス、イベントドリブンのコンピューティングサービス、AIや機械学習のサービスなどをラインナップ。「日本リージョンではまだ使えないものもあるが、なるべく早くローンチできるよう、私たちが取り組んでいる」(森氏)
森氏が考えるAlibaba Cloudの良さは、「Alibaba自身がサービス展開して培ってきたノウハウを詰め込んでいるところ」だという。クラウドプロバイダーとしては後発であるため、ユーザーの要望は相当反映されており、開発スピードも速い。もちろん、サーバーレスなど新しい概念はまだフォロワーの立場だが、それも独自の考えを出せるよう取り組んでいるという。
Alibaba Cloudの魅力はそれだけではない。コンテナサービスにコントリビュートしていることも大きな魅力だ。コンテナオーケストレーションサービス「Container Service」を提供しており、2つのオーケストレーションエンジンとして、Docker SwarmモードとKubernetesモードの2つをサポートしている。
「この2つは使い分けもできる」と森氏。特に気になるKubernetesモードだが、2017年にCertified Kubernetes Conformance Programで認定されており、ネイティブKubernetesで利用しているツールやプラグインはそのまま使えるという。Alibaba CloudのConteinar Serviceは、Alibaba Cloudとの連携、Kubernetesバージョンの1.9.7をサポートしている。また最近、中国では「サーバーレスKubernetes」が発表された。「クローズドβという形だが、これを使えば10秒でクラスタを立ち上げ30秒でアプリケーションをデプロイできるというのがAlibabaのうたい文句。いずれにしてもお客さまはアプリケーションの部分のみの管理となる」(森氏)
今同社で日本でも活用できるよう準備しているところだそうだ。「新しい情報が出次第、当社のTechブログで紹介していく」(森氏)
Alibabaが独自開発した基盤コンポーネント
続いてハー氏が登壇し、Alibaba Cloudの基盤技術について解説を始めた。コンポーネントの詳細は図の通りだが、基盤コンポーネントには神様由来の名称が付けられているところも面白い。例えば総称である「Apsara」はインド神話における水の妖精。また分散処理を支えるプラットフォームであるPanguとFuxiという2つのコンポーネントで構成されており、それぞれの名称を日本語にするとPanguは天と地を分けた紙健御雷(タテミカヅチ)、Fuxiはイザナギに当たるという。「興味のある人は『アプサラス』で検索してください」とハー氏は笑う。
PanguはAlibabaが独自に開発した分散ファイルシステムだ。「GFS(Google File System)やHDFS(Hadoop Distributed File System)と構成は似ているが、それらよりもより進んだものとなっている」とハー氏は説明する。Panguの内部はMasterサーバとChunkサーバに分けられており、データの保存はChunkサーバ、メタデータはMasterサーバで保存。MasterサーバのフェイルオーバーはPaxosというアルゴリズムで管理している。「Alibaba Cloudにおける多くのプロダクトのストレージレイヤーとして利用されている」という。
一方のFuxiはリソースジョブスケジューラで、2016年にデータベース業界の有名な学会で論文発表されたほどの優れた技術だという。Fuxiには3つの特長がある。第一がインクリメンタル・リソース・マネジメント・プロトコル。「タスクをDAG(有効非巡回グラフ)として表現することで、各フェーズにおけるリソースを必要な時に随時要求できる機能だ」(ハー氏)
各フレーズに必要なリソースだけマスターに対して要求することになるため、Masterとエージェント間の通信量も抑制できる。またHadoopに比べ「スケールしやすい」とハー氏は説明する。
第二がユーザー・トランスパレント・フェイラー・リカバリー。これはユーザーのジョブに障害が影響しないようなリカバリー設計がされているということだ。
「仮にMasterサーバが落ちても、Fuxiマスターで管理されているHard-stateでバックアップでき、またFuxiエージェントも自分の状態(Soft-state)を持っているため、それでバックアップできる。この両方のジョブ全体の情報を持つことで、Masterが落ちてもエージェントが落ちても問題なくジョブが実行できるようになっている」(ハー氏)
第三はフォルティ・ノード・デテクション&マルチレベル・ブラックリスト。リソーススコアリングを定期的に収集することで、スコアリングに応じて障害を判定。リソースに問題が起きてもジョブに影響しない仕組みを提供している。
こうした分散処理に適した基盤を実現しているAlibaba Cloudは、ベンチマークでも優秀な結果を残している。例えば2015年のコンペティションでAlibaba Cloudチームは、100TBのデータをソートするのに377秒で優勝。翌2016年の1TBをソートするための料金試験でも優勝したという。「コスト対効果が高いフレームワークとなっている」(ハー氏)