連載
» 2021年01月12日 05時00分 公開

大規模基幹システムを「マルチテナンシーKubernetes」で構築、そのメリットと悩ましい課題巨大SIerのコンテナ・Kubernetes活用事例(終)

NRIのコンテナ、Kubernetes活用事例を紹介する本連載。最終回はマルチテナンシー構成を活用した大規模な基幹システム開発の事例を紹介する。

[澤頭 毅, 小林隆浩,野村総合研究所]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

年々増加する設計コストが課題に

 2020年現在、ソフトウェアやサービスの開発において、開発速度の向上やリリースサイクルの短期化はより強く求められるようになっている。野村総合研究所(以後、NRI)でも「アジャイル」や「DevOps」といった開発手法に加えて「マイクロサービスアーキテクチャ」といった設計思想が現場になじみつつある。本連載のテーマでもある、コンテナを効率的に運用するためのオーケストレーターである「Kubernetes」の普及も進んでいる。

 第2回第3回で述べたように、小規模チームによるコンテナ活用やDevOpsチームによるKubernetesの利用事例はあるが、大規模な基幹システム開発においてKubernetesを導入する事例は少ない。今回はNRIのクラウド環境における「大規模基幹システムをマルチテナンシーKubernetesに導入した事例」を紹介する。

 大規模な基幹システムの開発においては、業務知識やアプリケーション開発のスペシャリストである「アプリケーション開発チーム」と、ネットワークの設計やコンピュートリソースの整備を担う「基盤チーム」に分かれてプロジェクトを進めることが一般的だ。大規模である分、業務が多岐にわたっているため、アプリケーション開発チームはそれぞれの担当に分かれており、独立した開発体制を持っている。

 従来のシステム開発におけるアーキテクチャの設計は、システムごとにそれぞれのチームが個別に検討、対応することが多く大きな負担になっていた。自社のクラウド環境でシステムを構築する場合、縮退運用や一時的なアクセス増加に対処するための余剰リソースを常に用意しておく必要もある。リスクを十分に考慮した上で、システムごとの余剰リソースをいかに有効活用するかが重要な設計要素になった結果、設計や見積もりにかかるコストも高まっていた。

 こうした状況を改善するには、システム構築を進める上で下記要件を満たす環境が必要だと考えた。

  • 自社クラウド環境で、コンピュートリソースの共有をより柔軟に実現する
  • 各アプリケーション開発チームの実行環境が高い分離性を持つ

 この要件を満たす一つの解としてNRIが検討したのが、マルチテナンシーKubernetesの導入だった。

マルチテナンシーKubernetesをどう実現? NRIの場合

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。