Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

btech Lab #1_idobata

14 views

Published on

b→tech Lab. #1 LT資料

Published in: Technology
  • Be the first to comment

  • Be the first to like this

btech Lab #1_idobata

  1. 1. Copyright (C) 2018 from scratch, co, Ltd All Rights Reserved. For internal use only. 大規模分散処理を扱うための クラスタ管理システム 2018年6月1日 AWS Summit StartUp Artchitecture Of The Year 2018
  2. 2. 2 井戸端 洋彰 2011.3 東京大学航空宇宙卒業 2011.5 株式会社アクセンチュア入社 2014.8 株式会社フロムスクラッチ入社 経歴 趣味 筋トレ Profile 執行役員 CTO
  3. 3. 3 皆さんにとって 大切なものはなんですか? Introduction
  4. 4. 4 そう Introduction
  5. 5. 5 Introduction
  6. 6. 6 Introduction
  7. 7. 7 Introduction
  8. 8. 8 Introduction
  9. 9. 9 Introduction というわけで
  10. 10. 10 Introduction お金の話をします
  11. 11. 11 About Bigdata
  12. 12. 12 10TB/1day About Bigdata
  13. 13. 13 10TB/1day About Bigdata
  14. 14. 14 10TB/1day 6PB / Total About Bigdata
  15. 15. 15 10TB/1day 6PB About Bigdata PB級のデータを 処理する必要がある
  16. 16. 16 About Bigdata (The wall street journal)
  17. 17. 17 About Bigdata (The wall street journal) $40,000 / 1TB
  18. 18. 18 About Bigdata (The wall street journal) 1PB ↓ $40,000,000(¥44億)
  19. 19. 19 About Bigdata (The wall street journal) 1PB ↓ $40,000,000(¥44億) 高‼
  20. 20. 20 ビッグデータを扱うときには コストの問題が常につきまとう About Bigdata
  21. 21. 21 単に、コストを抑えるだけでなく 様々なトレードオフと 戦う必要がある About Bigdata
  22. 22. 22 Marketing Platform b→dash
  23. 23. 23 ①Big Data Marketing Platform b→dash
  24. 24. 24 Marketing Platform b→dash ①Big Data ・Tracking Log: 5億PV/月 ・Business Data: 10TB/日 ・User Operation: 2000回/日
  25. 25. 25 Marketing Platform b→dash ①Big Data ②Customization ・Tracking Log: 5億PV/月 ・Business Data: 10TB/日 ・User Operation: 2000回/日
  26. 26. 26 Marketing Platform b→dash ①Big Data ②Customization ・Tracking Log: 5億PV/月 ・Business Data: 10TB/日 ・User Operation: 2000回/日 ・テーブル定義が自由 ・レポートの集計軸、指標が自 由 ・顧客の抽出条件が自由
  27. 27. 27 b→dash が抱えていた課題
  28. 28. 28 b→dash が抱えていた課題 大量データ × 高い自由度
  29. 29. 29 b→dash が抱えていた課題 データ量/頻度/速度の変動が大きい 大量データ × 高い自由度
  30. 30. 30 b→dash が抱えていた課題 安定性と低コストの両立が困難 データ量/頻度/速度の変動が大きい 大量データ × 高い自由度
  31. 31. 31 アプローチの変遷 Approach ProblemGood
  32. 32. 32 アプローチの変遷 Phase 01 Approach ProblemGood
  33. 33. 33 Amazon Redshift アプローチの変遷 Phase 01 Approach ProblemGood
  34. 34. 34 Amazon Redshift アプローチの変遷 Phase 01 Approach Problem ・拡張性に限界がある ・莫大なコストがかかる Good ・使いやすい ・安定している
  35. 35. 35 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data Web Tracking Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Mart
  36. 36. 36 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data Web Tracking Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Integration Data Mart
  37. 37. 37 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Integration Data Mart
  38. 38. 38 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Integration Data Mart 金が かか る
  39. 39. 39 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Integration Data Mart 金が かか る dc2.large × 200 nodes
  40. 40. 40 Mobile Web site Corporate system Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 Use Input Data Integration Data Mart 金が かか る dc2.large × 200 nodes ≒ 25,000 × 200 = 5,000,000!!
  41. 41. 41 Amazon Redshift アプローチの変遷 Phase 01 Phase 02 Approach Problem ・拡張性に限界がある ・莫大なコストがかかる Good ・使いやすい ・安定している
  42. 42. 42 Amazon Redshift アプローチの変遷 Phase 01 Phase 02 Amazon S3 Amazon EMR Approach Problem × ・拡張性に限界がある ・莫大なコストがかかる Good ・使いやすい ・安定している
  43. 43. 43 Amazon Redshift アプローチの変遷 Phase 01 Phase 02 Amazon S3 Amazon EMR Approach Problem × ・拡張性に限界がある ・莫大なコストがかかる ・クラスタの運用が大変 - 300以上のノード管理 - 用途に応じたチューニン グ - 並列処理による性能劣化 ・安定性を求めると高く つく Good ・使いやすい ・安定している ・データ保持が安 い ・拡張性が高い
  44. 44. 44 Amazon Redshift アプローチの変遷 Phase 01 Phase 02 Amazon S3 Amazon EMR Approach Problem × ・拡張性に限界がある ・莫大なコストがかかる ・クラスタの運用が大変 - 300以上のノード管理 - 用途に応じたチューニン グ - 並列処理による性能劣化 ・安定性を求めると高く つく Good ・使いやすい ・安定している ・データ保持が安 い ・高い拡張性 より安定して ビッグデータを処理したい
  45. 45. 45 Amazon Redshift アプローチの変遷 Phase 01 Phase 02 Amazon S3 Amazon EMR Approach Problem × ・拡張性に限界がある ・莫大なコストがかかる ・クラスタの運用が大変 - 300以上のノード管理 - 用途に応じたチューニン グ - 並列処理による性能劣化 ・安定性を求めると高く つく Good ・使いやすい ・安定している ・データ保持が安 い ・高い拡張性 より安定して ビッグデータを処理したい (しかも安く)
  46. 46. 46 virtual private cloud b→dash 構成概要
  47. 47. 47 Mobile Web site Corporate system View virtual private cloud Tracking Log Business Data b→dash 構成概要 Use Input
  48. 48. 48 Mobile Web site Corporate system Data Integration View virtual private cloud Tracking Log Business Data Web Tracking Application Load Balancer SFTP Server b→dash 構成概要 Data Lake Use Input
  49. 49. 49 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Lake View virtual private cloud Tracking Log Business Data Web Tracking Application Load Balancer SFTP Server b→dash 構成概要 Use Input
  50. 50. 50 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Lake View virtual private cloud Tracking Log Business Data Web Tracking Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input
  51. 51. 51 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input
  52. 52. 52 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input ここが 大変!!
  53. 53. 53 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input - Answer -
  54. 54. 54 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input 分散処理クラスタを管理する 独自サービスを構築 - Answer -
  55. 55. 55 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input ポイント 01 用途に応じて柔軟に 分散処理クラスタを管理する 独自サービスを構築 - Answer -
  56. 56. 56 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input ポイント 01 用途に応じて柔軟に ポイント 02 落ちてもいい前提で安定運用 分散処理クラスタを管理する 独自サービスを構築 - Answer -
  57. 57. 57 Mobile Web site Corporate system Data Integration Job Queue Job Workers Data Mart Data Lake View virtual private cloud Tracking Log Business Data View Analytics / Promotion Web Tracking Application Application Load Balancer SFTP Server b→dash 構成概要 BigData Processing Use Input 無駄なくリソースを使 う ポイント 01 用途に応じて柔軟に ポイント 02 落ちてもいい前提で安定運用 ポイント 03 分散処理クラスタを管理する 独自サービスを構築 - Answer -
  58. 58. 58 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Resource Manager 構成
  59. 59. 59 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成
  60. 60. 60 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 アカウント/利用サービス/処理 対象毎に、どのクラスタを使用 するのかを保持している。
  61. 61. 61 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 クラスタのエンドポイントを返す APIを提供している。 アカウント/利用サービス/処理 対象毎に、どのクラスタを使用 するのかを保持している。
  62. 62. 62 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成
  63. 63. 63 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 ① ResourceManagerに、 使用するエンドポイントを問い合わせる
  64. 64. 64 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 ② ResourceManagerから、 エンドポイントを取得。
  65. 65. 65 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 ③ 取得したエンドポイントに対して、 処理を実行する。
  66. 66. 66 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 ④ 定期的にクラスタのステータス監視を行い、 使用可能なクラスタの情報を更新。 Unhealthyなクラスタがいた場合は、再起動。
  67. 67. 67 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager 構成 ⑤ 時間、各種メトリクスを元に、 クラスタのスペックや構成を変 更。 ResourceManager経由で 一元管理を行う。
  68. 68. 68 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ① 共用/優先/個社、とクラスタの種別を複数用意し、 基本は共用を使ってコスト効率を高めながら、更新 時刻が厳密に決まっている処理は優先に投げたり、 安定性を求められるお客様には個社クラスタを用 意 したりと、柔軟な構成を実現することができる。
  69. 69. 69 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。
  70. 70. 70 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。
  71. 71. 71 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。
  72. 72. 72 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。 常時300以上、一日最大1,000の ノード数のクラスタを安定して運用中
  73. 73. 73 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。 常時300以上、一日最大1,000の ノード数のクラスタを安定して運用中 全EC2インスタンスの50%以上はSpot Instanceを利用 更に残りの80%にもReserved Instanceを適用 全OnDemandに比較して32%のコストで実現
  74. 74. 74 virtual private cloud Job Queue Job Workers Data Mart Data Lake Low-spec Cluster Priority Cluster Private Cluster High-spec Cluster Cluster Configure Resource Manager CloudWatch Resource Manager による恩恵 ② クラスタが落ちてもサービス影響がないので、気軽 に Spot Instanceを使うことが可能で、コストを大幅に 抑えることが出来る。 常時300以上、一日最大1,000の ノード数のクラスタを安定して運用中 全EC2インスタンスの50%以上はSpot Instanceを利用 更に残りの80%にもReserved Instanceを適用 全OnDemandに比較して32%のコストで実現 安定性と低コストを両立
  75. 75. 75 まとめ Point 03 Point 02 Point 04 • 大量データ×高い自由度を実現しようとすると、 安定性と低コストの実現が課題 • b→dashでは、ResourceManagerという独自のEMRクラス タ 管理サービスを構築し、高い柔軟性とコスト効率を実現 • 現在1,000ノードに及ぶクラスタを安定運用中 • 全OnDemandの場合と比較し37%という低コストを実現 Point 01 • お金は大事
  76. 76. 76 H e l l o , s m a r t d a t a ! データをもっとシンプルにする。 Thank you! データをもっとシンプルにする。

×