SHOEISHA iD

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

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

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

中国の巨大eコマースを支えるAlibaba Cloud、その次世代分析基盤とは?【デブサミ2018 夏】

【A-5】Alibaba Cloudで実現する、クラウド時代のデータ分析基盤の設計とその道のり

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

 1999年に中国でB2B向けのeマーケットプレイスを提供するために設立されたアリババ。今や時価総額で世界のトップ10に入るほどの巨大企業に成長している、そんなアリババグループのサービスを支えるため、自社で開発、構築したインフラが「Alibaba Cloud」である。Alibaba Cloudは2016年に日本リージョンも設立され、エンタープライズ企業を中心に少しずつ、ユーザーが増えている。Alibaba Cloudにはどんな特長があり、どんな機能を提供しているのか。Alibaba Cloudを提供しているSBクラウド 技術部 ソリューションアーキテクトの3人、森真也氏、Bui Hong Ha(ハー)氏、井浦太介氏が解説した。

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

1日の売上2.8兆円のeコマースを支えるAlibaba Cloudとは

 「Alibaba Cloudが日本でどんな風に使えるのかを話したい」

 森氏のこの言葉からセッションは始まった。アリババは中国で巨大eコマース事業を展開している、世界の時価総額のトップ10にも入るネット企業だ。そのすごさを伝える数字として森氏が挙げたのが2017年11月11日(中国における独身の日)のネットセールの数字。アリババはこの日1日で約2.8兆円の売上を上げたという。これがどのくらいすごい数字かピンとこない人もいるかもしれないが、日本の大手ECサイトが1年間で約3兆円と言われており、それを1日で成し遂げたということになる。「ビジネスとしてすごいだけではなく、これを達成したAlibabaのエンジニア集団とインフラ技術のすごさを紹介していきたい」と森氏は説明を続ける。

SBクラウド株式会社 技術部 ソリューションアーキテクト 森真也氏
SBクラウド株式会社 技術部 ソリューションアーキテクト 森真也氏

 今や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ブログで紹介していく」(森氏)

20種以上のグループ事業のインフラ「Alibaba Cloud」
20種以上のグループ事業のインフラ「Alibaba Cloud」

Alibabaが独自開発した基盤コンポーネント

 続いてハー氏が登壇し、Alibaba Cloudの基盤技術について解説を始めた。コンポーネントの詳細は図の通りだが、基盤コンポーネントには神様由来の名称が付けられているところも面白い。例えば総称である「Apsara」はインド神話における水の妖精。また分散処理を支えるプラットフォームであるPanguとFuxiという2つのコンポーネントで構成されており、それぞれの名称を日本語にするとPanguは天と地を分けた紙健御雷(タテミカヅチ)、Fuxiはイザナギに当たるという。「興味のある人は『アプサラス』で検索してください」とハー氏は笑う。

Alibaba Cloudのコンポーネント構成
Alibaba Cloudのコンポーネント構成

 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(有効非巡回グラフ)として表現することで、各フェーズにおけるリソースを必要な時に随時要求できる機能だ」(ハー氏)

SBクラウド株式会社 技術部 ソリューションアーキテクト Bui Hong Ha氏
SBクラウド株式会社 技術部 ソリューションアーキテクト Bui Hong Ha氏

 各フレーズに必要なリソースだけマスターに対して要求することになるため、Masterとエージェント間の通信量も抑制できる。またHadoopに比べ「スケールしやすい」とハー氏は説明する。

 第二がユーザー・トランスパレント・フェイラー・リカバリー。これはユーザーのジョブに障害が影響しないようなリカバリー設計がされているということだ。

 「仮にMasterサーバが落ちても、Fuxiマスターで管理されているHard-stateでバックアップでき、またFuxiエージェントも自分の状態(Soft-state)を持っているため、それでバックアップできる。この両方のジョブ全体の情報を持つことで、Masterが落ちてもエージェントが落ちても問題なくジョブが実行できるようになっている」(ハー氏)

 第三はフォルティ・ノード・デテクション&マルチレベル・ブラックリスト。リソーススコアリングを定期的に収集することで、スコアリングに応じて障害を判定。リソースに問題が起きてもジョブに影響しない仕組みを提供している。

 こうした分散処理に適した基盤を実現しているAlibaba Cloudは、ベンチマークでも優秀な結果を残している。例えば2015年のコンペティションでAlibaba Cloudチームは、100TBのデータをソートするのに377秒で優勝。翌2016年の1TBをソートするための料金試験でも優勝したという。「コスト対効果が高いフレームワークとなっている」(ハー氏)

Alibaba Cloudで構築する次世代分析基盤

 データ分析基盤には、EDW(エンタープライズ・データ・ウェアハウス)の構築が欠かせない。だが、EDW構築にはエンジンに加え、ジョブのスケジューリング、データの処理基盤への転送方法、ジョブフローの設計などをどうするか、悩みがつきまとう。だが、これらの課題もAlibaba Cloudを使えば解決できる。Alibaba Cloudが提供している「DataWorks」を利用すると、ワークフローを直感的に設計でき、ジョブスケジューリングも容易に設定できるからだ。ではAlibaba Cloudを使うとどういったデータ分析基盤が実現できるのか。

 ハー氏は実際のマイグレーション事例を紹介。過去のデータを費用対効果のあるストレージに格納し、データのアクセス頻度によりストレージクラスに分けるのである。分析が必要なデータはETLツールによって分析基盤へと転送する。

 次にハイブリッドデータ分析基盤を構築する。データ整形はコスト対効果が高い処理基盤に任せ、整形済みのデータを高速に分析できるようオンメモリー系データベースを採用する。

次世代データ分析基盤の構成
次世代データ分析基盤の構成

 データ分析や可視化については、Alibaba Cloudに用意されているBIやダッシュボードツールを活用すれば良い。

 「中国のクラウドサービスというと、セキュリティは大丈夫」という声が聞こえるが、Alibaba Cloudはマルチテナント設計思想を採用しており、11レイヤーのセキュリティ構成を採用。「セキュリティ認証も受けており、安心して使える」とハー氏は言い切った。

IoT Platformをローンチ、気軽に活用できる料金設定

SBクラウド株式会社 技術部 ソリューションアーキテクト 井浦太介氏
SBクラウド株式会社 技術部 ソリューションアーキテクト 井浦太介氏

 最後に井浦氏が登壇し、最近ローンチしたIoT Platformを紹介。アーキテクチャの概要は図の通り。SDKはJava、Python、PHP、.Netを提供。「他も随時提供していく予定」と井浦氏は説明する。通信規格はCoAP、MQTT、HTTPSをサポート。連携プロダクトも用意されている。

IoT Platformアーキテクチャ概要(PDF P51)
IoT Platformアーキテクチャ概要(PDF P51)

 「IoT Platformを活用するメリットは、デバイスをつなげるだけで、すぐに使えるようになること。暗号化もサポートしている。99.9%の可用性を保障し、大量のデバイスをつなげることができる」(井浦氏)

 簡単に使えるのもIoT Platformの特徴だ。IoT Platformコンソールを開き、プロダクトを作成。デバイスの作成画面で、エッジ側のデバイスの設定を作成し、ルールを作成する。あとは転送先を選定していけば良い。

 「Data Processingもサポートしているため、SQL文を利用してデバイスからアップロードされたデータより、必要なパラメータの抽出ができる。クラウドサービス連携では、日本サイドではRDS、Table Store、Message Service、Function Computeと連携できる」(井浦氏)

 Alibaba Cloudは価格設定も魅力だ。請求はメッセージの使用件数に応じて計算され、毎月最初の100万件までは無料となっている。

 1つのメッセージは最大512byteで、超えた場合は複数メッセージとしてカウント。「100万メッセージで92円。デバイス管理1台あたり0.35円/日という、気軽に始められる価格設定となっている。ぜひ使ってほしい」

 井浦氏は最後に会場の参加者にこう呼びかけ、セッションを締めた。

お問い合わせ

 SBクラウド株式会社

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

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

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

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

この記事をシェア

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

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング