【まとめてみた】EarthOnAWS How NASA is Using AWS #STG205 #reinvent
こんにちは。池田です。re:Invent参加メンバーによるアウトプットのスピードに圧倒されつつもこっそり投稿します。
はじめに
本投稿はAWS re:Inventにて発表された「STG205_#EarthOnAWS How NASA is Using AWS」セッション資料(slideshare)の内容に興味が湧いたので、機械翻訳+可能な限り各種ドキュメントによる確認+私の意訳にて自分なりにまとめたものです。
そのため、原文がもつ意図とは認識の違いや誤訳が含まれている可能性があります。また一部適切な日本語がわからず原文のままとなっている箇所がありますことをあらかじめご承知おきください。
目次
- なぜオープンデータを気にするのか
- ビッグデータの未来のための準備
- EOSDIS core services
- 未来への準備
- データシステムアーキテクチャの未来はどうなるか
- クラウドのスケーラビリティを模索する
- ビッグデータの未来のための準備
- Looking forward
- 予測分析と機械学習をASF DAACで使用する
- So where does this leave us?
- 翻訳した感想など
なぜオープンデータを気にするのか
- AWSの商業セクターの顧客は、クラウドインフラと同じくらいオープンデータに依存
- AWSの公的機関の顧客は、AWSを介してデータを共有することで大規模で成長しているコミュニティにアクセスできる
- データは適切に整理されていなければならない。しかしながら、データの整理が仕事の80%を占めていることも
- AWS Cloud Credits for Researchは、誰もが研究のために地球観測データを使用できるAWSクラウドクレジットを提供している
ビッグデータの未来のための準備
NASA地球科学データ
- NASAのさまざまな地球科学データを国の資産として、厳密な調査を支援できるよう最適化された機能を開発
- 計測されたデータを長期的に利用可能なデータレコードとして処理 http://go.nasa.gov/2mMd5g1
- 地球科学データにおいて様々な観測データを統合した最大のリポジトリ
地球科学オープンデータ政策
- NASAの地球観測データは半世紀以上にわたってこれらの情報を科学者たちに提供してきた
- 1994年以降、これらのデータは全てのユーザに無料で公開されている
SIPS DAAC
- 分散アクティブアーカイブセンター(DAAC)
- 米国各地に分散している
- Science Investigator-led Processing Systems(SIPS)が作成したデータをアーカイブし、配布している
EOSDIS core services
Open service APIのひとつCommon metadata repositoryについて
- 超高速、常時利用可能
95%のクエリを1秒未満で処理
99.98%の稼働時間 - ビッグデータに対応
34,000件のコレクション
367,000,000ファイルをインデックス - スタンダードに焦点
- コミュニティに焦点
- 国際的に認められた
- 共通のメタデータリポジトリ
EOSDIS AWSへの移行
- 2016年9月から2つのコアシステムをAWSへ移行
Common Metadata Repository (CMR)
Earthdata Search
1年間で移行
1日あたり500,000件を超えるクエリ
オープンソース
オープンアクセスAPI - Data-centric users
- Imagery-centric users
未来への準備
新しいinstrumentsとミッション
- 2017 NRC 10カ年調査
宇宙からの地球科学と応用:次の10年以降の国家的課題
ユーザーの期待は進化し続けている
EOSDISデータシステムの進化
- EOSDISは最高峰のシステムだが、常に改善するための方法を模索している
- 現在のアーキテクチャでは、年間のingest rateが4から50PB/年に増加していくうえで費用対効果が得られない
- データボリュームと需要が指数関数的に増加し続けるなかでは、現在のシステムを維持・向上させるのが困難かつ高価になっていく
- EOSDISは、政府機関および政府全体で再利用できるオープンソースのクラウドネイティブソフトウェアを開発中
- Petabytes Cloudの大規模なデータ分析機能は複数のデータセットを簡単に分析する。これにより研究者は時間をかけずに大規模なデータセットを処理することができる
NISARの簡単な解説
- The NASA-ISRO Synthetic Aperture Radar (NISAR)とは、二重周波数合成開口レーダー衛星をNASAとISROで共同開発し打ち上げるプロジェクト
地球の自然過程を観測・解析するリモートセンシングに使用される予定 - 主な科学的目標
気候変動と海氷と気候の相互作用に対する氷床の応答を理解
木材、農業、湿地、永久凍土システムにおける炭素貯蔵と吸収のdynamicsを理解
地震、火山噴火、地すべりの可能性を判断
The Surface Water & Ocean Topography (SWOT) の使命
- 米国とフランスの海洋学者たちと国際的パートナーは、地球表面の水を世界的に調査する
海洋の表面の細部を観察し、時間の経過とともに水域がどのように変化するかを測定する - NISARは、3年間のミッションで19.9 TB /日または7.2 PB /年という膨大な量のデータを生成する予定
- 科学的に重要な目的
sea surface heights(SSH)を提供する
陸上の水面の高さには幅120km以上のものもある
the nadir track(天底軌道)では+/- 10 kmのギャップ(誤差)が生じる
深海では2km四方ごとに平均0.8cmを超えない精度でsea surface heightsを提供
陸上では幅100mの河川や250m四方の湖などを認識する
少なくとも地球表面の90%をカバーする
データシステムアーキテクチャの未来はどうなるか
EOSDISはうまく機能しているが、より良くできるか
- NASAのアーカイブを発展させて、地球科学の研究者をより良くサポートできるか?
- どのAWSシステムアーキテクチャが、研究者と商業利用者の相互に使いやすいか?
- 機能の追加は可能か?
- 地球を研究する複数の機関、国際パートナー、民間部門のデータをシステムとしてどのように組み合わせるか?
- GOES-R、CubeSats、Copernicus ...
概念的な「data close to compute」
- 一般的なプラットフォームを使用してユーザーが適切な計算ができるようにデータを統合する運用モデルはクラウドにとって自然
- 費用対効果の高いクラウドを活用する方法であり、多くの企業やミッションに適用可能
Bring customers to the data
- 大容量データストレージ 集中管理されたauto graduated AWS object storage(Amazon S3、Amazon S3 IA、Amazon Glacier)に格納されたモデルデータセット
- Scalable compute 必要に応じて動的にプロビジョニング、アクセス、および終了でき、使用した分だけのコストで済む
- Cloud Native Compute クラウドベンダーのサービスソフトウェアスタックとユーザーベースのアプリケーション展開を容易にするマイクロサービス
- EOSDISのアプリケーションとサービス AWSのコンピューティング、ストレージ(Amazon S3、Amazon S3 IA、Amazon Glacier)、クラウドネイティブテクノロジを使用したアプリケーションおよびサービスレイヤ
- EOSDIS以外の公開アプリケーションとサービス Science community brings algorithms to the data. Support for NASA and non-NASA
クラウドのスケーラビリティを模索する
- EOSは多くのシステムと相互接続されている
Worldview/Earthdata Search web applications Global Imagery Browse Services (GIBS)
Common Metadata Repository (CMR)
Data ingest, archive, and distribution (Cumulus)
メトリクス、認証、監視、配信サービスなど - But that’s not the worst of it
80 TBs/day generation
400 TBs/day reprocessing
300 GB Granules
150 PBs @ 50 Gbps processing speed for months
発想の転換をする必要がある
- Global Imagery Browse Service (GIBS) in the cloud service swap
- GIBS-in-the-cloud ingest & processing
クラウドパフォーマンスが影響を受けるアーキテクチャ
- オンプレミスの実装では、ロードテスト中に一貫したパフォーマンスが得られ、AWSでは散発的な遅延が発生した例
AWS Step Functionsを利用したIngest & Archive
- 翻訳できませんでした...
ユーザはデータをどう使うか
異なる種類の出力
- EOSDISデータ Amazon S3からの配布
アプリケーションのやりとり (CMR結果、Earthdata Search、GIBSなど)
サービスからのEOSDISデータ
EOSDISデータからAWSへの計算 - 基本的なAmazon S3の出力 Amazon S3 -> Internet -> user
- Amazon S3 with CloudFrontの出力 Amazon S3 -> CloudFront -> Internet -> user
- AWS Direct Connectを利用したAmazon S3からオンプレミスへの出力 Amazon S3 -> Direct Connect -> on-premises -> Internet -> user
- LambdaとAPIゲートウェイを利用したリクエスト制限 DynamoDB -> Lambda -> API Gateway -> Internet -> user <- Internet <- Amazon S3
- これらのモデル全体で13倍を超える出力コスト 大きなコストだけが問題ではなかった
Hard cost controlsが不可欠
- The Anti-Deficiency Act (ADA) 不足金請求禁止条項は無制限の費用を認めていない 肥大化するコストを抑制する必要があった
コンセプトデザイン
- Lambda 1: Amazon S3の出力を計算
CloudWatchを経由して各バケットの「ダウンロードバイト数」を監視
ダウンロードバイト数の合計を通知する - Lambda 2: 必要に応じてバケットへの通信を切断する 請求期間においてしきい値を超えた場合にバケットポリシーを変更(ロックダウン)する
Cloud scale science data
- AWSでスケールされたデータをアクセス可能なバケットへ配置することで大量のデータ移動(通信)を避ける
- 入力、アーカイブ、検証、処理などの要求は、受信データストリーム、再処理ニーズなどに基づいて動的な拡張ができる
- 同じ地域のユーザは、長時間の転送や費用を消費せずにペタバイト規模のアーカイブへアクセスが可能
- NASAの資金提供を受けなくとも、完全に独立してスピンアップし、アクセス管理された下でデータを活用することが可能
Looking forward
- 私たちが現在取り組んでいること...
効率的なデータサービスへのアクセスと配布
コスト効率の高い大容量アーカイブストレージ
データの災害復旧と保存のアプローチ
サードパーティのクラウドネイティブデータを大規模に使用する
既存のコミュニティのパラダイムを拡大する
Efficient data services access and distribution
- サービスからのEOSDISデータ
「S3は配布メカニズムです」M a r k K o r v e r @ A W S
バケット間の変換データサービス
コスト効率の高い大容量アーカイブストレージ
予測分析と機械学習をASF DAACで使用する
データストレージの予測分析
- 過去のユーザ行動に基づいて、将来の行動を予測
30日以内に4回以上?
30日以内に?
今までにない? - ユーザの行動は各ロケーションのストレージに保管が可能
4回以上: hot storage at an sdgeでのアーカイブ(Amazon S3)
30日以内に: at least warm storage(Amazon S3 IA)maybe qualifies for hot
今までにない: 最も安価なストレージに氷漬け(Amazon Glacier)
機械学習:予測と動作を結びつける
- AWSにおける機械学習サービス
MLアルゴリズムとモデルの複雑さを推定
履歴によるトレーニング
予測ベースによる新しいデータの作成
For every product ingested in January 2017
ダウンロード履歴を取得
Set Y column based on downloads >= 4
S3へのアップロード
予測を使用する
- あなたが一度良いものを得たら リアルタイムに予測to determine storage temperature
- > = N回 : Hot Storage(S3)
- > 0回 : Warm Storage(S3IA)
- 0回 : Cold Storage (Glacier)
So where does this leave us?
Final thoughts
- NASAが経験したデータの爆発的な増加は業界全体から感じられる
- クラウドは、既存のデータとビッグデータの新しいパラダイムを導入する機会を提供
- クラウドデータの悪用に対する問題は残っている
Jupyter notebookベースでのワークフロー
scientific processing with peer reviewed algorithms and code
古い習慣など - オープンアクセスとクラウドネイティブサービスにおいて認証とメトリックのバランスをとる方法が必要
- 紹介したコードの大半はオープンソースとして公開されている:https://github.com/nasa
本セッションに関する感想など
各行ごとに機械翻訳を利用し、日本語の文章として意味が通じるよう意訳しつつ、それが正しいのかドキュメントを探しながら書き進めたのでとても時間がかかってしまいました。
ですが、一般的な学習と同じく多少時間や手間はかかっても自分で調べ、確かめていくことで得意ではなかった英文を読み進めるということを楽しみながらこのセッションを理解していくことができました。
宇宙から地球全体を眺めた(観測した)時に得られる情報量が膨大なことは容易に想像ができますが、実際にその情報を活用可能なデータとして保管するにはどんな苦労や問題があって、それらをどう克服したのかを知ることができる興味深いセッションだったと感じました。
幼い頃から地球の生い立ちや宇宙の謎に興味があり様々な図鑑を読み漁っていたのですが、インターネットが一般化した現在では気軽に地球全体の様子や宇宙のこと、はたまた遠く離れた惑星の様子までを知ることができてしまいます。数十年前の自分に教えても信じないでしょうけれど。
自分の目で宇宙からこの地球を眺めてみたい気持ちもありますが、NASAとAWSで活躍するエンジニアの方々による叡智の結晶ともいえるEOSDIS Worldviewを楽しませてもらおうと思います。