Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RancherDay2019-AlpacaJapan.pdf
Search
sasaki
July 24, 2019
Technology
2
1.3k
RancherDay2019-AlpacaJapan.pdf
sasaki
July 24, 2019
Tweet
Share
More Decks by sasaki
See All by sasaki
Lambdaの運用についてのなにか / lambda_unyo
taishin
0
77
おすすめAWSコスト対策 / AWS Startup Meetup Osaka AWS Cost
taishin
1
270
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
950
ECS Runtime Monitoring で コンテナランタイムセキュリティに入門 / nakanoshima-dev-ecs-runtime-monitoring
taishin
0
150
JAWS-UG-Osaka-guardrail
taishin
0
250
成長を続けるSaaSのAWSコスト管理において 開発者としてできること / AWS DevDay SaaS Cost
taishin
11
2.6k
IaCのCI/CDを考えよう / JAWS-UG_Okayama_IaC_CICD
taishin
1
1.3k
目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略 / JAWS-UG_SRE_Coverage
taishin
1
2k
SLO策定までの道とChaosEngineeringを使った最適解の見つけ方 / SLO ChaosEngineering
taishin
1
1.9k
Other Decks in Technology
See All in Technology
複雑なState管理からの脱却
sansantech
PRO
1
140
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
770
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
Lambdaと地方とコミュニティ
miu_crescent
2
370
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
Featured
See All Featured
Faster Mobile Websites
deanohume
305
30k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Site-Speed That Sticks
csswizardry
0
24
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
What's new in Ruby 2.0
geeforr
343
31k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Producing Creativity
orderedlist
PRO
341
39k
Transcript
2019/7/24 Alpaca Japan Shinya Sasaki AlpacaJapanの機械学習環境になぜ Rancherが必要なのか?
Who? Shinya Sasaki Head of Infrastructure Engineering at AlpacaJapan Co.,
Ltd. Osaka, Japan 2
Alpaca Japan 3 3 3 金融 x 機械学習 がテーマのスタートアップ 主な提供サービス/プロダクト
❖ 銀行・証券会社・信託銀行を中心に 金融機関向けのトレーディング AI技術で多くの実績を保持 「相場予測モデルの構築」 のプロジェクトで 協業 「AlpacaSearch for kabu.com」 相互に類似している銘柄のチャートパターン を表示 「AI外貨予測」「AI外貨積立」 指定した外貨の為替の変動を予測し、予測 した日に一定金額を積立 可能 主要マーケットの短期予測 をリアルタイムで表示 弊社の大規模データ処理 の技術やディープラーニン グ技術を活用したアプリ ケーション
Top-10 Artificial Intelligence Startups in Japan 4 https://www.nanalyze.com/2019/02/artificial-intelligence-japan/
The Fintech 250: The Top Fintech Startups Of 2018 5
https://www.cbinsights.com/research/fintech-250-startups-most-promising/
日経6/5 6
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
このあとの動きを予測する 9 ? ? ? ? ? ?
下落 10
テクニカルトレーダーの着目点 11
市場予測 = 値動きの前兆となるパターンを捉える 12
パターン探し 13 仮にパターンが分かっていたとしても ハードロジックをプログラムするには条件が多様 or 曖昧すぎる 未知のパターンを見つけたい → 機械学習
関連性の把握 14 Tick
Tick? 15 https://kotobank.jp/word/ティック-574561
Tickパターンの解析 • 大量のTickデータから発生パターンを解析し、どのようなパターンが発生したときにプライス が上がるか・下がるかを予測 • 大量のTickパターンを四六時中監視するのは、人間には不可能に近い 16 Tick発生パターン 学 習
マーケットの上げ・下げをTickの発生パ ターンから予測するモデル
予測モデルの作成 17 予測モデルの 出力を変換 ①時系列データの準備 ②処理済みデータ ③学習済みのモデル (Deep Learning) ④最終調整
18
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
AlpacaJapanのインフラ 基本的にはKubernetes上に構築 (移行中のもありますが) • 予測モデル作成 • GPUが大量に必要 • バッチ処理 •
大量データの集計 • CPUが大量に必要 • サービス提供 • 結果をユーザに提供 • Webアプリケーション 20 オンプレ Amazon EKS Amazon EKS
マネージドKubernetesサービスがあるの にRancherっている?
マネージドKubernetesサービスがあるの にRancherっている? いらんやろ
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
kubernetes運用を始めると出てきた課題 24 1. クラスタの増加 2. 利用ユーザの増加 3. 利用シーンの増加
1. クラスタの増加 どのレベルでクラスタをつくるか? • シングルクラスタ • 1つ、もしくはある程度大きなクラスタで運用 • 用途ごとにNamespaceを分ける •
マルチクラスタ • 用途ごとに個々にクラスタをつくる • サービスごと • 環境(Production、Staging、Development)ごと 25
1. クラスタの増加 どのレベルでクラスタをつくるか? • シングルクラスタ • 1つ、もしくはある程度大きなクラスタで運用 • 用途ごとにNamespaceを分ける •
マルチクラスタ • 用途にごと個々にクラスタをつくる • サービスごと • 環境(Production、Staging、Development)ごと 26
シングルクラスタのデメリット • バージョンアップ等のメンテナンス、障害時の影響大 • 作業調整が大変 • 影響が把握できない • ポリシーの管理が複雑 •
セキュリティグループ、IAMポリシー • 現状、コンテナレベルの制御はちょっと手間 • AWSアカウントは分けれない 27
マルチクラスタのデメリット • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生 • 0.20
USD/hour (2019.07現在) • 16k/month くらい • ワーカーノードのリソースにムダが出やすい 28
2. 利用ユーザの増加 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布
• アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 29
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
3. 利用シーンの増加 • 環境の違い • 普段はセットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか
• ユーザーごとのKubernetes理解度、利用頻度の違い • kubectl? なにそれ? • このコンテナ実行したいだけなんだけど • このyaml実行したいだけなんだけど 31
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生 •
0.20 USD/hour (2019.07現在) • 16k/month くらい • ワーカーノードのリソースにムダが出やすい 33
1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生 •
0.20 USD/hour (2019.07現在) • 16k/month くらい • ワーカーノードのリソースにムダが出やすい 34 RancherのURLさえわかっていれば
1. クラスタの増加への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生 •
0.20 USD/hour (2019.07現在) • 16k/month くらい • ワーカーノードのリソースにムダが出やすい 35 しゃあない
マルチクラスタの課題への対応 • 複数のAPI URL、kubeconfig • コスト増 • EKSはクラスタだけで費用が発生 • 0.20
USD/hour (2019.07現在) • 16k/month くらい • ワーカーノードのリソースにムダが出やすい 36 Spotinst社のOceanを利用
Ocean Spotinst社が提供する、EKSのワーカーノードにスポットインスタンスを活用し、運用負荷や利用料金を削減し てくれるサービス。 コンテナの負荷状況に応じてスケール、ノードサイズの決定等を自動で行ってくれる。 37 Jobリクエスト インスタンス起動 ノード登録
2. 利用ユーザの増加への対応 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布
• アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 38
2. 利用ユーザの増加への対応 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布
• アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 39 外部認証に対応 クラスタごと、プロジェクトごと にユーザ権限が設定可能
2. 利用ユーザの増加への対応 • 運用負荷の増加 • 利用方法の説明 • クラスタ追加時のアクセス方法の通知 • kubeconfigの配布
• アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 40 ユーザに権限を付与すれば、 アクセス可能なクラスタ /プロ ジェクトのみ表示
3. 利用シーンの増加への対応 • 環境の違い • 普段はセットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか
• ユーザーごとのKubernetes理解度、利用頻度の違い • kubectl? なにそれ? • このコンテナ実行したいだけなんだけど • このyaml実行したいだけなんだけど 41
3. 利用シーンの増加への対応 • 環境の違い • 普段はセットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか
• ユーザーごとのKubernetes理解度、利用頻度の違い • kubectl? なにそれ? • このコンテナ実行したいだけなんだけど • このyaml実行したいだけなんだけど 42 ブラウザ上でのkubectl yamlファイルのコピペ GUIでのコンテナ、パラメータ指定 複数のデプロイ方法に対応
現在の構成 43
Agenda 1. AlpacaJapanの市場予測 2. AlpacaJapanのインフラ 3. Kubernetes運用の課題 4. Rancherでの課題解決 5.
まとめ
まとめ • マネージドKubernetesを使っていても出てくる課題 • クラスタの増加 • 利用ユーザの増加 • 利用シーンの増加 •
Rancherと組み合わせることでこれらの課題に対応できた 45
46 We're hiring!! https://www.wantedly.com/companies/alpacadb • Web Engineer • Infrastructure Engineer
• ML/AI Engineer • Fintech Engineer
Thank you