【事例】カナダロイヤル銀行がMirantisと協業しKubernetesポッドをGPUに拡張!リスク解析モデルが大幅に改善
#Docker #Mirantis #Kubernetes
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿はMirantisケーススタディ「RBC Capital Markets Expands Risk Analysis Models for Data Scientists by Scaling to GPUs」を翻訳・編集したもので、「Launchpad 2020」においてカナダロイヤル銀行とMirantisのパネルディスカッションの記録より抜粋したものです。
なぜアプリケーションのコンテナ化を?
Manoj Agrawal氏(カナダロイヤル銀行):
私たちがモダナイズのジャーニーに出発したのは2016年のことでした。DevOpsを成熟させることが当時の私たちの目標の1つでした。しかし金融業を営むわが社には実に多くの小売アプリケーションがあり、それぞれに異なる形式やサイズ、技術スタックを持つアプリケーションすべてにDevOpsを適用するのは難しいということがわかりました。そこで私たちはコンテナ化に着目したのです。
さまざまな異なるアプリケーションに対し一貫したフォーマットを持たせて標準化できる可能性のあるソリューションとして、コンテナに注目しました。またコンテナは一部のアプリケーションだけでなく、企業全体に導入できる可能性もある技術だと考えました。これはとても興味深いことでした。
さらにコンテナにはKubernetesやSwarmといったスケジューラーが付属しており、従来のスケジューラーよりも多くのことができます。例えばリソース管理、障害管理、アプリケーションやビジネスの要件に応じたスケールアップやスケールダウンなどです。これらは私たちが直面していたさまざまな課題を解決してくれそうで、とても魅力を感じコンテナを導入することにしました。
なぜ最初にSwarmを採用し、そのあとKubernetesを?
これはご想像に難くないと思いますが、リソース管理の他にも、フェイルオーバーの管理やディザスタリカバリのフェイルオーバーの管理なども決して簡単ではありません。コンテナはコンテナスケジューラーとしても機能するので、システムをシンプルな方法で管理できそうだということがわかったのです。
その他の側面として、金融業界は資本市場において特に厳しく規制されています。そのため、いつ、誰が、何をしたかというイベントの監査証跡を残すことが大変重要なのですが、コンテナならばこれらすべてを容易に実現できることもわかりました。
またコンテナやスケジューラーを使うことで、リスク管理を簡素化でき、どのアプリケーションやコンテナをどこに配置し、どのようにいつ実行するかをコントロールできます。スケジューラーのこうした側面は、従来の課題の多くを単純化してくれることがわかったためとても魅力を感じました。
コンテナへの移行で、具体的にはどのようなメリットが?
興味深いことに、コンテナは開発者だけでなく運用者にもメリットが多い技術です。ですからこの質問には開発側ではなくまず運用側から答えさせていただきますね。
運用面では、コンテナならばアプリケーションを比較的短時間でデプロイできることに気づいた瞬間、メリットを大いに実感しました。これにより電話をしたり長いリリースノートを書いたりする必要から解放されたからです。開発・本番・DRの環境構築やデプロイのために夜遅い時間帯に作業する必要もなくなりました。コンテナならば、最初の一度だけしっかりと作り成功させれば、その成功をさまざまな環境で繰り返せばいいのです。
運用者にとっては目を見張る変化でした。これなら自分の時間を自由に使えます。レガシーなシステムにありがちな運用課題への対処はもはや必要なく、開発業務に集中できるようになりました。これは開発者のみでなく運用者にとっても目から鱗が落ちるような変化で、とても早い段階でコンテナの投資利益を実感することができました。そして開発者たちの間では、コンテナアプリケーションは自分のノートパソコンで検証できるからサーバーが必要ない、ということも評判になっていました。サーバーを共有する必要もないのです。インフラチームや他のチームへの依存もないため、自分の仕事を始める前にチェックリストを終わらせるなどの手間もなくなりました。自分のノートパソコンで検証できることも開発者に力を与えるとても強力な側面です。
そして最後に、例えばネットワークやストレージのようにソフトウェアで定義されたテクノロジーに問題が起きた場合、開発者は誰かに電話をし、チケットごとに対応してもらえるのを待つしかありませんでした。しかし今では多くのことに自分で対処でき、定義も自分で行えるようになったのです。DevOpsの観点では開発者がコントロールできることが増えるほど製品の品質は向上し、市場投入までの時間は短縮され、エクスペリエンス全体やビジネス上のメリットも向上しました。
新機能を統合するために、ミランティス社とはどのように連携を?
製品管理の観点から言うと、製品は常に進化しており、各機能の成熟段階はさまざまに異なります。そこで、私たちのアプリケーションチームやビジネスに何が必要かを考えたところ、顕著だったのはデータサイエンスの領域でした。
当社の量子データサイエンティストは、リスク分析モデルの拡張を強く望んでおり、コンピューティングパワーなど、より大きなスケールの計算機能を求めていました。そこで私たちは彼らのニーズを満たすための方法を考えました。
これには当初GPUを活用できないかというアイデアがありました。そこで私たちは小規模の研究開発チームを立ち上げ実現の可能性を精査しました。その結果、さまざまな要因や技術的な観点から考慮し、技術スタック全体が複雑になるため自社で行うには適さないことがわかりました。
そこで私たちはMirantis社に、KubernetesのポッドをGPU上でスケールさせるというコンセプトを提案しました。Kubernetesを拡張し、GPU上でポッドの実行をサポートできる可能性を検討するため、Mirantisのエンジニアと彼らの専門知識に頼ったのです。これは一朝一夕に実現したわけではなく多くの対話を要しましたが、ここ数カ月の間でKubernetesの製品に組み込まれるようになり大変うれしいです。
カナダロイヤル銀行がMirantis Kubernetes Engineを活用し、量子データ科学者にGPUのコンピューティングパワーを提供
課題
データサイエンティストは、リスク分析モデルの拡張のために、より多くのコンピューティングパワーを必要としていた。
ソリューション
カナダロイヤル銀行はMirantis社と協業し、コンテナプラットフォームであるMirantis Kubernetes EngineにGPUサポートを追加することに成功した。
結果
量子データ科学者はKubernetesポッドをGPUに拡張することで、大規模かつ複雑なリスク分析モデルを実行できるようになった
彼らは「これなら自分の時間を自由に使える」と気づきました。開発業務に集中でき、伝統的な運用の課題に対処する必要はなく開発業務に集中できます。これは開発者のみでなく運用者にとっても目から鱗が落ちるようなことで、とても早い段階で投資利益を実感することができました。
Manoj Agrawal氏(カナダロイヤル銀行マーケットコンピューティング&データファブリック
Mirantis製品に関するお問い合わせはこちら。
関連記事
-
※Docker Enterprise事業は2019年11月14日にMirantis社によって買収されました。
当時のDocker Enterprise製品は、現在は下記のように名称変更されています。- 「Docker Engine」→「Mirantis Container Runtime (MCR)」
- 「エンタープライズ版Docker」→「Mirantis Kubernetes Engine (MKE)」
- 「Docker Trusted Registry」→「Mirantis Secure Registry (MSR)」