Overlay Cloudによる アカデミックインタークラウド構築事例 2015.5.29 国立情報学研究所(NII) 横山重俊 1 1. はじめに 2 自己紹介 国立情報学研究所(NII)において, クラウド基盤の企画・開発・運用を担当 本日の内容 Overlay Cloudによる アカデミックインタークラウド構築事例 3 国立情報学研究所 について 大学共同利用機関法人 情報・システム研究機構 国立情報学研究所(National Institute of Informatics) http://www.nii.ac.jp/ 情報学研究の他,大学共同利用サービスの提供を行っています コンテンツ クラウド 認証連携 ネットワーク 4 2. 背景 5 アカデミックインタークラウドの必要性 現状 課題 海外 アカデミック クラウド 北海道大学 クラウド 単一クラウドでは以下のような 課題への対応が難しい. 大阪大学 クラウド パブリック クラウド 九州大学 クラウド NIIクラウド • • 大学毎のクラウド構築が進行 パブリッククラウドのSINET接続と利用 リソース容量不足 法定停電時バックアップ 災害時バックアップ 大規模分散データ処理 実時間分散データ分析処理 クラウド連携による解決への期待 アカデミックインタークラウド 6 2-1. アカデミックインタークラウド 基盤 7 オンデマンドクラウド構築でクラウド連携 既存アプローチ クラウド連携は, クラウド運用者が運用している 異種のクラウドをネットワーク機能 とそれに付随するGlue機能によって 結びつけることにより作りだした リソースを使って実現する. 提案アプローチ クラウド運用者とクラウド基盤を 支えるハードウェアの運用者を 分離する. クラウド連携は, 複数のハードウェア運用者から 確保したリソースをSINETで繋ぎ その上にクラウドを作りだすことで 実現する. サービス 実行用 クラスタα サービス実行用クラスタ-β Network with Glue software サービ ス実行 用クラ スタ-γ クラウド-A クラウド-B ハードウェア-1 ハードウェア-2 クラウド-A 運用者 クラウド-B 運用者 サービス実行用クラスタα サービス実行用クラスタ-β サービス実行用クラスタγ クラウド-A クラウド-B クラウド-C クラウド-A 運用者 クラウド-B 運用者 クラウド-C 運用者 分離 ハードウェア-1 ハードウェア-2 SINET ハードウェア-1運用者 ハードウェア-2運用者 8 アカデミックインタークラウド基盤 - アカデミックコミュニティクラウドのHub 大学クラウド 大学側クラスタの VLAN_ID等と クラウド内クラスタID をマッピング インタークラウド基盤 (compute) インタークラウド基盤 (storage) インタークラウド基盤内クラ スタ-A 大学内クラスタ-A 連携 大学内クラスタ-B インタークラウド基盤内クラ 物理マシンプール スタ-B 連 携 インタークラウド基盤内クラ インタークラウド Object Store Service colony スタ-C 大学内クラスタ-C 大学内クラスタ-D 連携 インタークラウド基盤内クラ 物理マシンプール スタ-D あたかも大学側クラスタに クラスタが追加されたごとく あたかもローカルと同一 オブジェクトストアのごとく あたかも大学間が同一データ内 で直結されるがごとく 9 アカデミックインタークラウド基盤 GUI DEMO 10 2-2 Overlay Cloud 11 Overlayという発想によるインタークラウド 大学内あるいは 大学間共有の クラスタ Inter-cloud (Virtual Cloud) Overlay Network (VXLAN等) SINET Network Overlay Compute (Docker等) AWS EC2 北大 クラウド (Compute) Compute Overlay Storage ・・・ AWS S3 北大 クラウド ・・・ (Storage) Storage 12 海運とIT コンテンツ コンテナ コンテナ 管理システム コンテナ 管理システム 連携 1950s - 海運 積荷 コンテナ コンテナ船・ 港湾システム 海運システム IT アプリケーション 仮想サーバ クラウド インタークラウド 2000s - ? 13 海運とIT コンテンツ コンテナ コンテナ 管理システム コンテナ 管理システム 連携 1950s - 海運 積荷 コンテナ コンテナ船・ 港湾システム 海運システム IT アプリケーション 仮想サーバ クラウド インタークラウド 2000s - ? 14 海運における Separation of Concerns Separation of Concerns 15 海運における Separation of Concerns コンテナの中 Separation of Concerns コンテナの外 コンテナ輸送網 New System インフラ利用 Separation of Concerns インフラ運用 16 海運とIT コンテンツ コンテナ コンテナ 管理システム コンテナ 管理システム 連携 1950s - 海運 積荷 コンテナ コンテナ船・ 港湾システム 海運システム IT アプリケーション 仮想サーバ クラウド インタークラウド 2000s - コンテナ = VM? 17 コンテナ = Container Virtual Cloud Cluster Cluster L2Tunnels BM BM Real Cloud Provider Cluster L2Tunnels VM VM Real Cloud Provider VM L2Tunnels VM Real Cloud Provider VM VM Real Cloud Provider BM: Bare-metal Machine / VM: Virtual Machine 18 Overlay Cloud Applications Containerの中 Separation of Concerns Containerの外 Cloud利用 Overlay Cloud Overlay Cloud New System BM Cluster Cluster Cluster L2Tunnels L2Tunnels L2Tunnels BM VM VM VM VM VM VM Separation of Concerns Cloud運用 Real Cloud Provider Real Cloud Provider Real Cloud Provider Real Cloud Provider : docker, BM: Baremetal Machine, VM: Virtual Machine 19 アカデミックインタークラウド基盤 ベアメタルクラウド技術によるインタークラウド実現 Cloud-A Bare-metal Servers Cloud-B Bare-metal L2 On demand connection Data Center- α Bare-metal On demand Academic Inter-Cloud (AIC) Bare-metal Servers L2 Connection Data Center- β SINET ( L2VPN on demand ) 20 Overlay Cloudによる適用範囲拡大 コンテナ技術によるインタークラウド実現範囲を Public Cloudなどにも拡大 Cloud-B Cloud-A Docker Virtual Servers Docker Docker Docker Docker Bare-metal Servers Bare-metal On demand Bare-metal On demand Bare-metal Servers L2 Connection Public Cloud- 1 Data Center- α L2 connection Academic Inter-cloud Infrastructure (AIC) L2 Connection Data Center- β Docker Virtual Servers L2 Connection Public Cloud- 2 SINET ( L2VPN on demand ) 21 3.クラウド群連成基盤 22 クラウド群連成基盤 • クラウド群 【各クラウド運用者が管理】 • クラウド群連成基盤 【クラウド群連成基盤運用者が管理】 – クラウド群連成基盤機能群 – クラウド群連成基盤リポジトリ クラウド群 連成基盤機能群 構築・管理 利用 Virtual Cloud γ Virtual Cloud γ Provider 構築・管理 Virtual Cloud β 利用 Virtual Cloud β Provider クラウド群 連成基盤リポジトリ 構築・管理 利用 クラウド クラウド群連成基盤 Virtual Cloud α Virtual Cloud α Provider は、大学等のベアメタル クラウドや仮想化クラウド およびパブリッククラウド を想定 クラウド クラウド クラウド SINET 23 3-1.クラウド群連成基盤 プロトタイプ実装 24 プロトタイプにおけるコンテナ利用方法 Virtual Cloudの基盤を包む Base コンテナ と Applicationを包む Applicationコンテナ の 二つのレベルでコンテナを利用する。 Base コンテナ Application コンテナ Docker クラウド群連成基盤 (クラウドリソース管理、コンテナ管理、 コンテナ間ネットワーク管理、コンテナイメージ管理) NII クラウド 北大 クラウド Console / Dashboard Public Cloud群 25 クラウド群連成基盤機能要件 ① クラウドリソース管理 – – – – ベアメタルサーバやVMなどのホストリソースを各種のクラウド基盤から確保 ホスト環境に必要なソフトウェアパッケージ等をインストールし、初期設定 リソースのスペック(CPU、メモリ、マシンイメージ等)を要求に応じて変更 不要になったリソースを返却(または廃棄) ② Baseコンテナ管理 – Baseコンテナをデプロイ – Baseコンテナのコンフィグレーション – Baseコンテナを停止 ③ Baseコンテナ間ネットワーク構築 – Baseコンテナどうしを接続する仮想ネットワーク(VLAN)を作成 – LANで使用するGatewayなどの他のネットワークリソースをセットアップ ④ Baseコンテナイメージ管理 – Baseコンテナのイメージリポジトリ機能 – 構築用テンプレートを管理するコードリポジトリ機能 26 クラウド群連成基盤プロトタイプ実装 プロトタイプシステムとして、オープンソース構成管理ツール Terraformを用いて Baseコンテナのセットアップまでを自動化するための機能を実現した。 このため、 AICC Provider, VCP Provider, AICN Provider を実装した。 ① クラウドリソース管理 ② コンテナ管理 ③ コンテナ間ネットワーク構築 ④ コンテナイメージ管理 Docker hub https://hub.docker.com 27 3-2. コンテンツサービス 可用性向上への適用検証 28 JAIRO Cloud Backupサイト on Virtual Cloud 外部Network Gateway Utility Node (Backup系) VRRP VCP Manager Utility Node Proxy (HAProxy) 監視 Manager 配置 情報 Base Container Web/App Node #1 repo-A repo-B 配置 情報 Web/App Node #2 HTTPD HTTPD 監視 分散FS Client Agent repo-A repo-B HTTPD DB Proxy 分散FS Client App. Container Scale Out HTTPD 監視 DB Proxy Web/App Node #n Agent 配置 情報 分散FS Server Storage Service Upload Files repo-A repo-B DBMS Service repo-A (Master) repo-A (Slave) repo repo-B (Slave) repo-B (Master) DB Node #1 DB Node #2 Storage Node #1 MySQL Replication 29 3-3.バイオインフォマティクス データ分析パイプライン 再現環境構築への適用検証 30 Galaxyについて • 生命科学分野におけるデータ解析作業をWeb UIで実行 – 複数のツールを組み合わせたデータ解析ワークフロー構築 – 異なるサンプルに対する繰り返し処理 – 研究者間でワークフロー、データの共有 ↑ 実行結果の確認、 ツールのコントロール等 ←利用可能な ツール一覧 実行履歴 → 31 FANTOM プロジェクト • 理化学研究所が主導、2000年に発足 20カ国、114研究機関が参加する国際研究コンソーシアム • ゲノムDNAから転写されているRNAの機能をカタログ化 • 成果は公共データとして公開され、世界中で利用可能 FANTOM5 基礎解析パイプライン部分 32 FANTOM5 基礎解析パイプライン EXPERIMENT FASTQ形式は、1本の塩基配列を4行のテ キストで記述する。 ⇒(4×n)行単位で分割可能 FASTQ以外の場合、分割方法は異なる。 (FASTQ) unzip+ split Node#1 Node#2 Node#n input_1 input_2 input_n (FASTQ) (FASTQ) (FASTQ) rRNAdust 分散処理は、クレンジング (rRNAdust)後でもよい。 ※rRNAdustの処理負荷が比 較的小さく、FASTQ形式は分 割が単純なため DRR*.fastq (1385 files) rRNAdust rRNAdust tmp1_1 tmp1_2 tmp1_n (FASTQ) (FASTQ) (FASTQ) delve seed delve seed tmp2_1 tmp2_2 (SAM) (SAM) delve align ref. human_rDNA_U1 3369.1.fa ref. hg19.fa delve seed ... delve align tmp2_n (SAM) delve align 最も処理負荷が高い SAM_1 toBAM +sort BAM_1 BED BED形式を作成後に mergeしてもよい。 SAM_2 SAM to BAM +sort (samtools) BAM_2 SAM_n toBAM +sort BAM_n BAM merge +to BED BED 33 FANTOM5 基礎解析パイプライン実行環境 Containerized Galaxy Tool 実験環境リポジトリ Github DockerHub Workflow Repo. Container Repo. Mesos/Aurora Cluster Mesos Slave #1 Executor import Mesos Master Aurora Scheduler .aurora Galaxy job create Mesos Master Workflow(a) zookeeper SINET VPN pull Docker Daemon Mesos Slave #2 Executor Docker Daemon .aurora Workflow(b) Mesos Slave #3 Executor Workflow(c) Docker Daemon Mesosへ接続可能 なように Galaxyを Customize File Server Rawデータ copy from DDBJ 元論文の 解析結果データ Galaxy Job コンテナ形式 のツールを Mesos Cluster の上で実行 Working Dir. copy from Riken 34 Galaxy でのパイプライン作成 35 35 Galaxy Workflow ⇒ Aurora Job Config. Galaxy Workflow (json) steps: { 0: { inputs: [ ], output: [ ], tool_id: "rRNAdust", ... }, 1: { JobRunnerが 実行内容を展開して生成 proc0 = Process( cmdline = """ """) tool_script.sh ... tool_script.sh ... tool_script.sh }, 2: { }, Aurora Job Config (python) task = SequencialTask( processes = [ proc0 ] resources = Resource(cpu, ram, disk) job = Job( name = ...., task = task, Container = Container(docker = ...) ) jobs = [ job ] 3: { ... }, ... } tool_script.sh Aurora Job Config (python) proc0 = Process( ... ) task = SimpleTask( ... ) job = Job( ... ) jobs = [ job ] Aurora Job Config ... Aurora Job Config ... 36 バイオインフォマティクス分野の適用状況 現状 1. FANTOM5基礎解析部分パイプライン再現性確認 2. FANTOM5基礎解析部分パイプライン分散基盤上での走行確認 3. FANTOM5基礎解析部分パイプライン分散化評価 今後の展開 1. 2. 3. 広域分散時のコンテナ配置最適化 FANTOM5以外の事例への横展開 バイオコミュニティへの試行サービス提供 37 4. まとめ 38 インタークラウドがアタリマエに • クラウド利用の第3の波が訪れている. (第1波) パブリッククラウドの出現 (AWS, …) (第2波) オープンクラウドの出現 (OpenStack, …) (第3波) コンテナエンジンの活用 (Docker, …) • それらは共存し,インタークラウド形成する. 第3波 第2波 Web 第1波 Internet Cloud Computing 39 さいごに コンテナ、つこうてな! 40 Thank you
© Copyright 2024 ExpyDoc