Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RancherDay2019-AlpacaJapan.pdf

sasaki
July 24, 2019

 RancherDay2019-AlpacaJapan.pdf

sasaki

July 24, 2019
Tweet

More Decks by sasaki

Other Decks in Technology

Transcript

  1. 2019/7/24
    Alpaca Japan
    Shinya Sasaki
    AlpacaJapanの機械学習環境になぜ
    Rancherが必要なのか?

    View full-size slide

  2. Who?
    Shinya Sasaki
    Head of Infrastructure Engineering
    at AlpacaJapan Co., Ltd.
    Osaka, Japan
    2

    View full-size slide

  3. Alpaca Japan
    3
    3 3
    金融 x 機械学習 がテーマのスタートアップ
    主な提供サービス/プロダクト
    ❖ 銀行・証券会社・信託銀行を中心に 金融機関向けのトレーディング
    AI技術で多くの実績を保持
    「相場予測モデルの構築」
    のプロジェクトで
    協業
    「AlpacaSearch for kabu.com」

    相互に類似している銘柄のチャートパターン
    を表示

    「AI外貨予測」「AI外貨積立」

    指定した外貨の為替の変動を予測し、予測
    した日に一定金額を積立
    可能

    主要マーケットの短期予測
    をリアルタイムで表示


    弊社の大規模データ処理
    の技術やディープラーニン
    グ技術を活用したアプリ
    ケーション


    View full-size slide

  4. Top-10 Artificial Intelligence Startups in Japan
    4
    https://www.nanalyze.com/2019/02/artificial-intelligence-japan/

    View full-size slide

  5. The Fintech 250: The Top Fintech Startups Of 2018
    5
    https://www.cbinsights.com/research/fintech-250-startups-most-promising/

    View full-size slide

  6. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  7. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  8. このあとの動きを予測する
    9
    ?
    ?
    ?
    ?
    ?
    ?

    View full-size slide

  9. テクニカルトレーダーの着目点
    11

    View full-size slide

  10. 市場予測 = 値動きの前兆となるパターンを捉える
    12

    View full-size slide

  11. パターン探し
    13
    仮にパターンが分かっていたとしても
    ハードロジックをプログラムするには条件が多様 or 曖昧すぎる
    未知のパターンを見つけたい → 機械学習

    View full-size slide

  12. 関連性の把握
    14
    Tick

    View full-size slide

  13. Tick?
    15
    https://kotobank.jp/word/ティック-574561

    View full-size slide

  14. Tickパターンの解析
    ● 大量のTickデータから発生パターンを解析し、どのようなパターンが発生したときにプライス
    が上がるか・下がるかを予測
    ● 大量のTickパターンを四六時中監視するのは、人間には不可能に近い
    16
    Tick発生パターン


    マーケットの上げ・下げをTickの発生パ
    ターンから予測するモデル

    View full-size slide

  15. 予測モデルの作成
    17
    予測モデルの
    出力を変換
    ①時系列データの準備 ②処理済みデータ
    ③学習済みのモデル
    (Deep Learning)
    ④最終調整

    View full-size slide

  16. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  17. AlpacaJapanのインフラ
    基本的にはKubernetes上に構築 (移行中のもありますが)
    • 予測モデル作成
    • GPUが大量に必要
    • バッチ処理
    • 大量データの集計
    • CPUが大量に必要
    • サービス提供
    • 結果をユーザに提供
    • Webアプリケーション
    20
    オンプレ
    Amazon EKS
    Amazon EKS

    View full-size slide

  18. マネージドKubernetesサービスがあるの
    にRancherっている?

    View full-size slide

  19. マネージドKubernetesサービスがあるの
    にRancherっている?
    いらんやろ

    View full-size slide

  20. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  21. kubernetes運用を始めると出てきた課題
    24
    1. クラスタの増加
    2. 利用ユーザの増加
    3. 利用シーンの増加

    View full-size slide

  22. 1. クラスタの増加
    どのレベルでクラスタをつくるか?
    • シングルクラスタ
    • 1つ、もしくはある程度大きなクラスタで運用
    • 用途ごとにNamespaceを分ける
    • マルチクラスタ
    • 用途ごとに個々にクラスタをつくる
    • サービスごと
    • 環境(Production、Staging、Development)ごと
    25

    View full-size slide

  23. 1. クラスタの増加
    どのレベルでクラスタをつくるか?
    • シングルクラスタ
    • 1つ、もしくはある程度大きなクラスタで運用
    • 用途ごとにNamespaceを分ける
    • マルチクラスタ
    • 用途にごと個々にクラスタをつくる
    • サービスごと
    • 環境(Production、Staging、Development)ごと
    26

    View full-size slide

  24. シングルクラスタのデメリット
    • バージョンアップ等のメンテナンス、障害時の影響大
    • 作業調整が大変
    • 影響が把握できない
    • ポリシーの管理が複雑
    • セキュリティグループ、IAMポリシー
    • 現状、コンテナレベルの制御はちょっと手間
    • AWSアカウントは分けれない
    27

    View full-size slide

  25. マルチクラスタのデメリット
    • 複数のAPI URL、kubeconfig
    • コスト増
    • EKSはクラスタだけで費用が発生

    • 0.20 USD/hour (2019.07現在)

    • 16k/month くらい


    • ワーカーノードのリソースにムダが出やすい
    28

    View full-size slide

  26. 2. 利用ユーザの増加
    • 運用負荷の増加
    • 利用方法の説明
    • クラスタ追加時のアクセス方法の通知
    • kubeconfigの配布
    • アクセス権
    • ユーザごとに権限を変えたい
    • Namespaceレベル
    • リソースレベル
    • RW/RO
    → RBAC
    29

    View full-size slide

  27. EKSでのユーザアクセス制限
    1. AWS側でIAMユーザを作成
    2. kubernetes側でRBAC設定適用
    3. kubernetes側でconfigmap/aws-authを編集し、IAM
    ユーザに紐づけ
    30
    $ kubectl edit -n kube-system configmap/aws-auth
    • 問題点
    • aws-authはワーカーノードのIAMロールも含まれるので、Git管理しにくい
    • あとから確認しにくい
    https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/add-user-role.html

    View full-size slide

  28. 3. 利用シーンの増加
    • 環境の違い
    • 普段はセットアップされたローカルPC or Macからkubectlを実行
    • 一時的にローカル環境使えない場合とか
    • ユーザーごとのKubernetes理解度、利用頻度の違い
    • kubectl? なにそれ?
    • このコンテナ実行したいだけなんだけど
    • このyaml実行したいだけなんだけど
    31

    View full-size slide

  29. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  30. 1. クラスタの増加への対応
    • 複数のAPI URL、kubeconfig
    • コスト増
    • EKSはクラスタだけで費用が発生

    • 0.20 USD/hour (2019.07現在)

    • 16k/month くらい


    • ワーカーノードのリソースにムダが出やすい
    33

    View full-size slide

  31. 1. クラスタの増加への対応
    • 複数のAPI URL、kubeconfig
    • コスト増
    • EKSはクラスタだけで費用が発生

    • 0.20 USD/hour (2019.07現在)

    • 16k/month くらい


    • ワーカーノードのリソースにムダが出やすい
    34
    RancherのURLさえわかっていれば

    View full-size slide

  32. 1. クラスタの増加への対応
    • 複数のAPI URL、kubeconfig
    • コスト増
    • EKSはクラスタだけで費用が発生

    • 0.20 USD/hour (2019.07現在)

    • 16k/month くらい


    • ワーカーノードのリソースにムダが出やすい
    35
    しゃあない

    View full-size slide

  33. マルチクラスタの課題への対応
    • 複数のAPI URL、kubeconfig
    • コスト増
    • EKSはクラスタだけで費用が発生

    • 0.20 USD/hour (2019.07現在)

    • 16k/month くらい


    • ワーカーノードのリソースにムダが出やすい
    36
    Spotinst社のOceanを利用

    View full-size slide

  34. Ocean
    Spotinst社が提供する、EKSのワーカーノードにスポットインスタンスを活用し、運用負荷や利用料金を削減し
    てくれるサービス。
    コンテナの負荷状況に応じてスケール、ノードサイズの決定等を自動で行ってくれる。
    37
    Jobリクエスト
    インスタンス起動
    ノード登録

    View full-size slide

  35. 2. 利用ユーザの増加への対応
    • 運用負荷の増加
    • 利用方法の説明
    • クラスタ追加時のアクセス方法の通知
    • kubeconfigの配布
    • アクセス権
    • ユーザごとに権限を変えたい
    • Namespaceレベル
    • リソースレベル
    • RW/RO
    → RBAC
    38

    View full-size slide

  36. 2. 利用ユーザの増加への対応
    • 運用負荷の増加
    • 利用方法の説明
    • クラスタ追加時のアクセス方法の通知
    • kubeconfigの配布
    • アクセス権
    • ユーザごとに権限を変えたい
    • Namespaceレベル
    • リソースレベル
    • RW/RO
    → RBAC
    39
    外部認証に対応
    クラスタごと、プロジェクトごと
    にユーザ権限が設定可能

    View full-size slide

  37. 2. 利用ユーザの増加への対応
    • 運用負荷の増加
    • 利用方法の説明
    • クラスタ追加時のアクセス方法の通知
    • kubeconfigの配布
    • アクセス権
    • ユーザごとに権限を変えたい
    • Namespaceレベル
    • リソースレベル
    • RW/RO
    → RBAC
    40
    ユーザに権限を付与すれば、
    アクセス可能なクラスタ /プロ
    ジェクトのみ表示

    View full-size slide

  38. 3. 利用シーンの増加への対応
    • 環境の違い
    • 普段はセットアップされたローカルPC or Macからkubectlを実行
    • 一時的にローカル環境使えない場合とか
    • ユーザーごとのKubernetes理解度、利用頻度の違い
    • kubectl? なにそれ?
    • このコンテナ実行したいだけなんだけど
    • このyaml実行したいだけなんだけど
    41

    View full-size slide

  39. 3. 利用シーンの増加への対応
    • 環境の違い
    • 普段はセットアップされたローカルPC or Macからkubectlを実行
    • 一時的にローカル環境使えない場合とか
    • ユーザーごとのKubernetes理解度、利用頻度の違い
    • kubectl? なにそれ?
    • このコンテナ実行したいだけなんだけど
    • このyaml実行したいだけなんだけど
    42
    ブラウザ上でのkubectl yamlファイルのコピペ GUIでのコンテナ、パラメータ指定
    複数のデプロイ方法に対応

    View full-size slide

  40. 現在の構成
    43

    View full-size slide

  41. Agenda
    1. AlpacaJapanの市場予測
    2. AlpacaJapanのインフラ
    3. Kubernetes運用の課題
    4. Rancherでの課題解決
    5. まとめ

    View full-size slide

  42. まとめ
    • マネージドKubernetesを使っていても出てくる課題
    • クラスタの増加
    • 利用ユーザの増加
    • 利用シーンの増加
    • Rancherと組み合わせることでこれらの課題に対応できた
    45

    View full-size slide

  43. 46
    We're hiring!!
    https://www.wantedly.com/companies/alpacadb
    ● Web Engineer
    ● Infrastructure Engineer
    ● ML/AI Engineer
    ● Fintech Engineer

    View full-size slide