Help cloud open source ecosystem

1. 開発の歩み

2015 年、Alibaba がオープンソースビッグデータプラットフォームの構築に着手した当初、選択肢は 3 つありました。オープンソースの Hadoop システム、CDH、HDP、そして ODPS(現在の MaxCompute)です。当時、大洋の向こうの AWS には EMR というビッグデータプロダクトがあり、Alibaba Cloud も AWS の経験に学び、オープンソースビッグデータプラットフォームを構築したいと考えていました。ビッグデータ機能とクラウドネイティブ機能を深く融合させることを目指していたのです。

Alibaba Cloud は 2015 年 6 月に独自のオープンソースビッグデータプラットフォームの開発を開始し、最初の「ミラー + スクリプト」版を完成させました。このバージョンは最短時間で Spark 環境を構築できるもので、間もなく GitHub で公開されました。当時使用されていた API は現在のオーケストレーションサービスに非常に似ていましたが、一度しか構築できないという欠点があり、メンテナンスが非常に困難でした。

2015 年 11 月、Alibaba Cloud は E-MapReduce を独立したクラウドプロダクトとして正式に市場に投入しました。MapReduce の概念は Google に由来し、ビッグデータの理論を象徴するものであることはよく知られています。そのため、Alibaba はこのビッグデータプロダクトを E-MapReduce と名付け、名前を見ただけでプロダクトの主な機能がわかるようにしました。

Alibaba Cloud E-MapReduce の公開から 4 年が経過しました。E-MapReduce 4.0 がまもなくリリースされ、新バージョンでは Hadoop 3.0 およびその他の新機能がサポートされます。

現在、Alibaba Cloud E-MapReduce はオープンソースエコシステムのための基盤プラットフォームを提供しています。このプラットフォーム上では、カスタマイズ機能を制限することなく、さまざまなオープンソースプロダクトを選択できます。さらに、Alibaba Cloud E-MapReduce は Alibaba のクラウドインテリジェンスプラットフォーム全体のコンピューティング能力を外部に提供し、クラウドネイティブ機能とエラスティックスケジューリング機能を提供することも目指しています。今後、E-MapReduce はさまざまなオープンソース技術と機能を段階的に統合し、それらに基づく最適化された技術を提供していきます。一方では安定性を向上させ、他方ではパフォーマンスを強化します。最後のポイントは、クラウドネイティブとの融合を実現することです。オープンソースや自社構築のビッグデータソリューションでは、クラウドネイティブ技術やインフラと組み合わせたり、高いパフォーマンスを得たりすることが困難な場合が多くなっています。そのため、Alibaba は E-MapReduce を活用してクラウドネイティブ技術とのより良い融合を目指しています。

Alibaba E-MapReduce の開発の歩みをまとめると、当初は AWS EMR に似たプロダクトを実装しました。1 年間の運用を経て、AWS の完全動的なアプローチは国内のシナリオには適していないことが判明したため、最初の調整が行われ、クラスターへの常駐とジョブスケジューリング機能の強化に注力するようになりました。最初の調整後、E-MapReduce の機能ではまだ要件を満たせないことがわかったため、2 回目の調整では完全な Web コンソール機能を提供し、クラスターの高可用性と高いセキュリティをサポートし、さらに Impala、Kafka、Druid などさまざまなシナリオに対応するソフトウェアをサポートすることで、多様なビジネスシナリオをより良く支援できるようになりました。さらに、ディープラーニングシナリオもサポートし、プラットフォーム上で Alibaba 自身が最適化した機械学習アルゴリズムも提供しています。現在も E-MapReduce は調整を続けており、より完全なビッグデータプラットフォーム、よりインテリジェントなサービス機能を提供し、基盤レイヤーをさらに軽量化し、コンピューティングプラットフォームの全体的な機能を外部に提供できるようにすることを目指しています。

2. クラウド上の現状

クラウド上のエコシステム概要

下図は Alibaba Cloud のビッグデータエコシステムの概要を示しています。データソースに関しては、オープンソースには HDFS や Kafka があり、Alibaba が提供するサービスとしては OSS、SLS、RDS、メッセージキューなどがあります。すべてのデータは、オープンソースの Hive、Spark、Flink、Presto、TensorFlow、および Alibaba の MaxCompute、Flink/TensorFlow などのサービスを通じて処理でき、DataWorks、DataV、QuickBI などの Alibaba 独自のシステムとも連携できます。現在、クラウド上のビッグデータソリューションはセミマネージドサービスと位置付けられており、Alibaba Cloud はお客様の運用保守を支援し、運用保守サポートサービスを提供しています。

各種ストレージオプション

Alibaba Cloud 上では、ビッグデータストレージに大きく分けて 3 つのオプションがあります。Hadoop HDFS、Alibaba HDFS、および OSS です。Hadoop HDFS には 3 種類のストレージ方式があります。EBS クラウドディスクは信頼性の高いデータを保存しますが、バックグラウンドで複数のデータコピーが保持されるためコストが高く、ネットワーク経由でのデータ取得パフォーマンスは低くなります。D1 ローカルディスクと I1/I2 ローカル SSD は比較的高いパフォーマンスと低いコストを実現しますが、データが失われやすく、運用保守コストが高くなります。もう 1 つのオプションは Alibaba HDFS で、データの信頼性が高く、コストは中程度で、すべてのデータはネットワーク経由で伝送され、ローカルコンピューティングは不要です。OSS 標準ストレージは、Alibaba による変換と最適化を経て Hadoop で直接読み書きできます。これが NativeOSS と呼ばれるものです。NativeOSS は信頼性の高いデータストレージを実現し、低コストで汎用性が高いですが、パフォーマンスは比較的低くなります。そこで、NativeOSS をさらに強化した JindoFS が実装されました。JindoFS は信頼性の高いデータ、低コスト、高いパフォーマンス、優れた汎用性を実現しますが、追加のストレージコストが必要です。

柔軟なスケーリングの実践

クラウド上のコンピューティングでは、その弾力的な機能を十分に活用する必要があります。そうしなければ、クラウドの真の価値を十分に実現できません。クラウドの弾力的な機能を最大限に活用するため、主要クラウドベンダーのビッグデータ機能にはすべて Master ノードと一連のタスクノードがあります。タスクノードは計算のみを実行し、データは保存しません。そのため、クラウド上で計算タスクを実行する際、タスクノードを弾性的にスケーリングでき、インスタンスの停止を通じてコストを削減することもできます。計算タスクのピーク期間にタスクノードを購入し、ピーク期間が過ぎたらタスクノードを解放します。Alibaba Cloud は、時間や負荷に基づいてスケーリングできる一連のスケーリングメカニズムも提供しています。

クラスターアーキテクチャ

下図は Alibaba Cloud が推奨するクラウドクラスターアーキテクチャを示しています。図の左側に示されている Hadoop クラスターは既存の Hadoop クラスターです。基盤レイヤーでは OSS がデータストレージに使用され、OSS の上に Hive、Spark、Presto などの複数の独立したコンピューティングクラスターがあり、これらのクラスターはすべて弾性的で破棄可能です。右側にも Hadoop クラスターが構築されており、外部にゲートウェイとクライアントが提供され、リクエストを受け付けます。さらに、クラウド上の OSS を使用しない、または OSS と HDFS を組み合わせて使用するお客様も多くいらっしゃいます。このクラスターアーキテクチャは、データストレージの障壁を克服するのに役立ちます。

3. クラウド上のオープンソースエコシステムのベストプラクティス

ストレージの選択と最適化

2015 年に Alibaba Cloud 上にビッグデータプラットフォームをデプロイする場合、SSD などの高効率ストレージディスクによるクラウドディスクストレージのみを選択でき、コストが非常に高くなります。2017 年頃、Alibaba Cloud のインテリジェンスチームが ECS チームと協力してローカルディスクのインスタンスタイプを作成し、その後 ECS チームと協力して D1 を作り、より適応性の高い国内シナリオに対応しました。2016 年に E-MapReduce は OSS と統合されましたが、当時帯域幅の制限により、使用するお客様は少数でした。現在では、これまでの開発と協力の経験に基づき、E-MapReduce は JindoFS や Alibaba HDFS などをストレージとして選択できます。

IaaS レイヤーのアップグレード

お客様に E-MapReduce をより良く利用していただくため、IaaS レイヤーは数回のアップグレードを経てきました。第一世代は D1 と I1、第二世代は D2 と I2 で、より高いネットワーク帯域幅を提供し、ローカルディスクは極めて高いパフォーマンスを提供しますが、運用保守コストも増加します。ディスクのホットリプレースを通じて、運用保守サポートリンク全体のより良い体験を提供し、ハードウェアのモニタリング、警告、通知、交換などの操作を含む一連のプロアクティブな運用保守プロセスを完備しています。

ストレージアクセス最適化ソリューション JindoFS

JindoFS の目的は、ストレージとコンピューティングの分離アーキテクチャをより良く活用できるようにすることです。JindoFS アーキテクチャでは、すべてのデータは OSS に保存され、すべての計算は動的クラスター上で実行され、計算はいつでもスケーリングできます。JindoFS はお客様に高性能なデータアクセス機能と、コスト効率に優れた無制限にスケーラブルな弾性ストレージ容量を提供します。ここでの最大の課題は、OSS とコンピューティングクラスター間のネットワーク帯域幅です。JindoFS ソリューションでは、ローカルキャッシング技術によりレイテンシを大幅に削減し、パフォーマンス効率を向上させています。同時に、JindoFS はストレージとコンピューティングの分離アーキテクチャを採用しているため、お客様はキャッシュデータの損失を心配する必要がありません。

より多くのプロダクト統合と機能強化

Alibaba Cloud E-MapReduce は、Spark、Flink、TensorFlow、Elasticsearch、DataWorks など、より多くのプロダクトを統合し、これらのプロダクトに基づいて機能強化を行っています。

4. オープンソースビッグデータプラットフォームの将来展望

Alibaba Cloud E-MapReduce は、プラットフォームを基盤としたより多くのソリューションを実装し、お客様のビジネスシナリオをより良く支援したいと考えています。たとえば、リアルタイムデータウェアハウスソリューションと Spark Streaming SQL では、ビジネスデータベースデータの Kudo へのリアルタイム同期を実現し、ビジネスデータベース内のデータに対するリアルタイム OLAP 分析機能を実現しています。

今後、EMR は Kubernetes との統合を実現し、お客様のコスト削減をより良く支援し、ユーザーが独自のリソースを Alibaba Cloud 内でさまざまなタスクに活用できるようにし、Kubernetes ノードを Hadoop ノードのコンピューティング補完としてクラスターに追加することをサポートします。ビジネスのピーク時にはコンピューティングリソースをビジネスに返し、追加コストなしでコンピューティング能力を向上させ、リソースをより十分に活用できるようにします。

多くのお客様がマルチクラウドとハイブリッドクラウドの実現を望んでいます。そのため、Alibaba はお客様にオフライン IDC と同じ使用感を提供し、専用線を通じてコールドデータを動的ストレージに転送し、E-MapReduce を活用して動的にエンパワーメントし、オフラインのクラスターと組み合わせて使用する機能を提供すると同時に、オフラインとオンラインの機能を最大限に活用できるようにします。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.