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. Alpaca Japan 3 3 3 金融 x 機械学習 がテーマのスタートアップ 主な提供サービス/プロダクト

    ❖ 銀行・証券会社・信託銀行を中心に 金融機関向けのトレーディング AI技術で多くの実績を保持 「相場予測モデルの構築」 のプロジェクトで 協業 「AlpacaSearch for kabu.com」 
 相互に類似している銘柄のチャートパターン を表示
 「AI外貨予測」「AI外貨積立」 
 指定した外貨の為替の変動を予測し、予測 した日に一定金額を積立 可能
 主要マーケットの短期予測 をリアルタイムで表示 
 
 弊社の大規模データ処理 の技術やディープラーニン グ技術を活用したアプリ ケーション

  2. The Fintech 250: The Top Fintech Startups Of 2018 5

    https://www.cbinsights.com/research/fintech-250-startups-most-promising/
  3. 18

  4. AlpacaJapanのインフラ 基本的にはKubernetes上に構築 (移行中のもありますが) • 予測モデル作成 • GPUが大量に必要 • バッチ処理 •

    大量データの集計 • CPUが大量に必要 • サービス提供 • 結果をユーザに提供 • Webアプリケーション 20 オンプレ Amazon EKS Amazon EKS
  5. 1. クラスタの増加 どのレベルでクラスタをつくるか? • シングルクラスタ • 1つ、もしくはある程度大きなクラスタで運用 • 用途ごとにNamespaceを分ける •

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

    マルチクラスタ • 用途にごと個々にクラスタをつくる • サービスごと • 環境(Production、Staging、Development)ごと 26
  7. シングルクラスタのデメリット • バージョンアップ等のメンテナンス、障害時の影響大 • 作業調整が大変 • 影響が把握できない • ポリシーの管理が複雑 •

    セキュリティグループ、IAMポリシー • 現状、コンテナレベルの制御はちょっと手間 • AWSアカウントは分けれない 27
  8. マルチクラスタのデメリット • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生
 • 0.20

    USD/hour (2019.07現在)
 • 16k/month くらい
 
 • ワーカーノードのリソースにムダが出やすい 28
  9. 2. 利用ユーザの増加 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布

    • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 29
  10. 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
  11. 3. 利用シーンの増加 • 環境の違い • 普段はセットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか

    • ユーザーごとのKubernetes理解度、利用頻度の違い • kubectl? なにそれ? • このコンテナ実行したいだけなんだけど • このyaml実行したいだけなんだけど 31
  12. 1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生
 •

    0.20 USD/hour (2019.07現在)
 • 16k/month くらい
 
 • ワーカーノードのリソースにムダが出やすい 33
  13. 1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生
 •

    0.20 USD/hour (2019.07現在)
 • 16k/month くらい
 
 • ワーカーノードのリソースにムダが出やすい 34 RancherのURLさえわかっていれば
  14. 1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生
 •

    0.20 USD/hour (2019.07現在)
 • 16k/month くらい
 
 • ワーカーノードのリソースにムダが出やすい 35 しゃあない
  15. マルチクラスタの課題への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生
 • 0.20

    USD/hour (2019.07現在)
 • 16k/month くらい
 
 • ワーカーノードのリソースにムダが出やすい 36 Spotinst社のOceanを利用
  16. 2. 利用ユーザの増加への対応 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布

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

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

    • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 40 ユーザに権限を付与すれば、 アクセス可能なクラスタ /プロ ジェクトのみ表示
  19. 3. 利用シーンの増加への対応 • 環境の違い • 普段はセットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか

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

    • ユーザーごとのKubernetes理解度、利用頻度の違い • kubectl? なにそれ? • このコンテナ実行したいだけなんだけど • このyaml実行したいだけなんだけど 42 ブラウザ上でのkubectl yamlファイルのコピペ GUIでのコンテナ、パラメータ指定 複数のデプロイ方法に対応