コンテナ導入の成功要因は自己完結型の運用体制

f:id:shkitayama:20220205234829p:plain
OpenShift Commons Gathering Japan 2021

Recap: OpenShift Commons Gathering Japan 2021 (vol.2)

2021年12月に閉幕した 「OpenShift Commons Gathering Japan 2021」。
このイベントレポートとして、キーノートの内容を3回に渡って振り返っていきます。
第一回目は「グローバルにおけるコンテナ市場の実態」と題して、レッドハットからみるコンテナのグローバル市場を振り返りました。

rheb.hatenablog.com

前回はグローバルにおけるコンテナ市場の話でしたが、今回は日本市場におけるコンテナ活用企業の動向です。

コンテナ導入のビジネス価値は「Agility / Steady / Optimize」

エンタープライズのコンテナ導入において、よく耳にすることの一つが「コンテナ導入に伴うビジネスメリット(ニーズ)」が腹落ちしないという点です。すでにコンテナを導入してきた企業は、どのようなビジネス価値を期待してコンテナ導入を進めているのでしょうか?
グローバルと同様に、日本におけるコンテナの導入のニーズも単一のものではありません。開発スピードを上げ、安定した品質を提供したいという思いは変わりませんが、上手く活用できている企業はツールと運用プロセスを上手く組み合わして効果を出しています。

f:id:shkitayama:20220205183435p:plain
コンテナ導入におけるビジネス価値

  • 開発アジリティの向上 (Agility)
    開発者がコードをGitリポジトリにコミットした時点で、動的にテストされた成果物(コンテナイメージ)を作れる継続的インテグレーションを実装。これによって開発のスピードや品質を向上します。

  • 安定したサービス維持継続 (Steady)
    人の手作業によるデプロイメントをなくし、Kubernetesにデプロイ作業を任すことによって、安定的にコンテナをデプロイし続ける仕組みを提供します。また、Kubernetesにおけるデプロイの標準化を活かし、同様の作業で複数の環境にデプロイできることでデプロイメント品質を担保します。

  • トータルコストの削減 (Optimize)
    仮想マシン導入の時ように、Kubernetes導入だけではコスト効果は多く見込めません。業務プロセスや普段の運用プロセスそのものをKubernetesの自動化、標準化に合わせていくことによって運用全体の効率化を目指すことが望まれます。

Kubernetesが提供する「自動化」や「標準化」を最大限活かしながら、アプリケーション開発ライフサイクルをより早く、安定的に、そして効率良く提供できるのかがポイントです。特にコンテナのアプリケーションライフサイクルでは、CI/CD(継続的インテグレーション/継続的デリバリ)は不可欠な要素だとも言えます。これらの価値を見いださずにコンテナ導入を推進すると、期待したビジネス効果が得られないだけでなく、かえって複雑なシステムを設計してしまうことになりかねません。
ここで今回のイベントに参加いただいた方々のアンケート結果もあわせて見てみましょう。

f:id:shkitayama:20220205183704p:plain
コンテナ導入に期待する効果

聴講者の皆様も、コンテナ導入にはアプリケーションやインフラリソース運用の効率化、安定性、標準化に期待していることが顕著にわかります。このような変革の事例として、三菱UFJインフォメーションテクノロジー千野様の動画も是非合わせて御覧ください。

www.youtube.com

運用プロセス変化の一手はセルフサービス化!?

とはいえ、なかなか既存の運用プロセスやその体制をすぐに変えられる企業も多くありません。
特にこれまでは「開発者」から「運用者」にデプロイやリリース作業、仮想マシンなどのリソース要求を依頼していました。しかし、コンテナ環境においては、これらの作業をサービス提供側の開発チームだけで完結することが重要です。
詳細については、アイムデジタルラボの鈴木雄介様のブログも大変参考になるため是非参考にしてみてください。

arclamp.hatenablog.com

OpenShiftは自己完結型のチームで、アプリケーションを運用できるようなセルフサービス化の機能が豊富に提供されています。たとえばアプリケーションに必要なミドルウェアの展開を開発者自身の権限で設定でき、システムが自律的に運用していくといった仕組みがあります。自律的なシステムの恩恵を受けながら、サービス提供チーム側で運用を担うことによって、これまで人に依頼していた作業をシステムに依頼するだけで完結します。この自己完結型の運用が、結果として開発のスピードや品質向上に繋がります。

コンテナ運用に適した役割りの再定義

コンテナ導入によってビジネスメリットを適切に得るためには、サービス提供チームの役割りの再定義が欠かせません。これは開発したものをリリースするまでの運用体制をサービス提供チーム側で担うための役割りです。コンテナ導入において効果が見えづらい要因の一つが、既存のインフラ運用者にアプリケーション運用を任せ続けている例です。チーム内で完結するための役割りを改めて定義し直してみましょう。

f:id:shkitayama:20220205224858p:plain
自己完結型のチーム体制に必要な3つの役割

  • Application Engineering
    アプリケーションのビジネスドメイン(影響範囲)を明確に分離し、サービスごとにアプリケーションを管理する役割り

  • Release Engineering
    アプリケーションの成果物を継続的にテストし、サービスの安全なリリースを維持できるような環境を改善し続ける役割り

  • Site Reliability Engineering
    クラスタそのものの運用管理やアプリケーション間を共有するリソースの権限分離を管理する役割り

とくにOpenShiftを上手く活用していくためには、上記の大きく3つの役割りを意識することで、最適なビジネス効果が得られます。

まとめ

コンテナ導入でビジネスメリットを享受するためには、システム変更に対する恩恵が受けられるようなチーム体制を築くことが秘訣です。アプリケーション運用の体制を見直し、サービス提供のアジリティ向上や安定性の維持といったビジネス価値へとつなげている企業が日本でも増えているようですね。
次回はレッドハットの未来について語り尽くします!! お楽しみにっ。

オンデマンド配信中!!

OpenShift Commons Gathering Japan 2021は特設サイトにてログイン無しで動画、資料の無償配信をおこなっています。
今回ご紹介したキーノートセッション(31:56~)も是非お楽しみください!!

www.youtube.com

本ブログはSolution Architect 北山よりお送りしました。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。