DevOpsとはプロセスと文化 ~IBM Zのアプリケーション・モダナイゼーション・パターンから考える

text:金元 隆志 日本IBM

 

多くの企業では、すでにホスト・アプリケーションのモダナイズへの対策が今後の優先事項であると位置づけています。しかし、その取り組みに対しては期待されるほどの早さでは進捗していないように感じます。それはなぜでしょうか?

IBM Z上で稼働するコア・アプリケーションは、その時々の時代に求められたビジネス要件が多く実装されています。長い年月を経て、アプリケーションのコードは複雑化し、よりモノリシックな設計になっています。これにより、ビジネス変革に対応するための柔軟性が低下しただけでなく、さまざまな制約も知らないうちに取り込んだ形となりました。また、図表1に示した通り、ホスト・アプリケーションを取り巻く課題はほかにも多々あることは言うまでもありません。

図表1 一般的なホスト・アプリケーションを取り巻く課題
図表1 一般的なホスト・アプリケーションを取り巻く課題

 

もしデジタル・トランスフォーメーションの一環として、すぐに基幹データへのアクセスを行いたい要件が出てきた場合、どれほどの企業が期待された速さで開発作業を進めることができるでしょうか。複雑なアプリケーション・ロジックを開発するためには、そのアプリケーションに対する深い知識や経験が必要となり、通常は影響調査や設計工程だけで多くの時間を費やしてしまいます。また、多くの企業は既存アプリケーションに変更を加えるリスクを懸念するあまり、極力アプリケーション・ロジックの変更や新規追加は避ける傾向にあります。

このような状態が続くと、企業としてビジネス機会の損失につながります。アプリケーションのモダナイズは、今後避けては通れない道であることは明らかであり、迅速かつ積極的に取り組みを行えるかどうかで企業としての真価が問われると考えています。

IBMは既存のメインフレーム資産を有効に活用するためのアプリケーションのモダナイズ・パターンを以下のように示し、アプリケーションのモダナイズをサポートしています。

 

IBM Z Application Modernization Patterns によるアプローチ 

パターンは、特定のビジネス課題に対するアーキテクチャのベストプラクティスを表しています。これらのアプリケーションのモダナイズ・パターンは、IBM Zに固有の側面だけでなく、すべてのプラットフォームに適用できる共通の特性もカバーしています。

共通の特性に基づいて、IBM Zアプリケーションのモダナイゼーション・パターンは、図表2に示すように4つのカテゴリーに分類されています。

 

図表2 IBM Z Application Modernization Patterns
図表2 IBM Z Application Modernization Patterns

 

アプリケーション中心型
クラウド・ネイティブな機能として開発された新しいアプリケーション・コンポーネントを通じて、拡張機能と柔軟性を推進します。新しいアプリケーション・コンポーネントは、IBM Z上のアプリケーションを呼び出すことも、その逆として呼び出されることも可能となります。

データ統合中心型
ダイレクト・アクセス、レプリケーション、もしくは、企業全体のデータ資産を組み合わせたデータ仮想化概念などのいずれかを介して、アプリケーションがSoRデータを共有することができます。これにより、データ主導におけるビジネス価値の向上につなげます。

イベント駆動型
疎結合アプリケーションおよび新しいクラウド・ネイティブ・アプリケーション間で処理される動的連携を活用し、パフォーマンスや操作性を向上させることが可能です。

ライフサイクル実現型
既存アプリケーションと環境に関する深い洞察を推進します。また、DevOpsプラクティスとソフトウェア・パイプラインを支援する手法やツールを通じて、迅速なソリューション開発を可能にします。

 

DevOpsとは何か 

これらのパターンの土台は「ライフサイクル実現型」になります。4つのパターンのうち最初に取り組みを検討すべきパターンはライフサイクル実現型であり、その中核となるDevOpsについて少し掘り下げて行きましょう。

企業は自らがチャレンジしている市場において常に先を見据えた行動を取る必要があります。そのうちの1つがデジタル・トランスフォーメーションであり、ビジネス変革の鍵となります。

デジタル・トランスフォーメーションでは、ハイブリッドクラウド、APIエコノミー、マイクロサービスやコンテナを巧みに活用します。これにより、ビジネス価値を生み出すためのアプリケーション提供に力を注ぐことができます。さらに、デジタル・トランスフォーメーションは、ソフトウェア開発チームがアジャイルやDevOpsプラクティスを実践し、バリュー・ストリームの自動化バックボーンであるパイプラインを介して、アプリケーションを提供することを必要としています。

では、DevOpsとは何でしょうか。DevOpsという言葉はIBM固有のものではありません。DevOpsとは、継続的な学習や改善、透明性や可視性の確保、および信頼といったソフトウェア開発における文化を醸成するための取り組みです。目指すべきは、「Better Value, Sooner, Safer, Happier (BVSSH)」であると『Sooner Safer Happier』の著者であるJonathan Smart氏は言っています。

企業が本気で改革を推し進めたいのであれば、今まで以上に新しい習慣や文化を推奨し発展させる必要があります。また、文化を核として周りを取り巻くプロセスも重要な役割を持ちます。パイプラインは複数環境に跨って、アプリケーションの開発、統合、およびデプロイまでを調整し、処理を自動化します(図表3)。

パイプラインはコンパイルなどのビルド処理からパッケージ化までや、大規模な統合テストに関するプロセスを全ての開発ステージにて処理しなければなりません。また、パイプラインは検証環境のステージごとに品質ゲートを設けて、アプリケーションの品質を確保しながらプロセス管理を徹底しています。

 

 

図表3 パイプライン
図表3 パイプライン

 

IBM ZにおけるDevOpsの利点 

DevOpsへの変革により、プロセスの簡素化やサイロ化の排除につながります。利点として、業界標準の技術を用いたツールを活用することができるため、スキル習得の壁を低く保ち、企業にとって重要なIBM Z資産を今後も活かしていける人材を育成することができます。また、パイプラインを構築することで、ソフトウェア開発チームとしてはセキュリティや監査対応にも並行して注力を払うことができ、コスト削減やライフサイクル全体の包括的な制御が可能となります。

IBM Zは今でも目覚ましい進化を続けています。それはプラットフォームとしてのハードウェアやz/OS上で稼働するミドルウェアの機能だけでなく、それらをビジネス価値につなげるアプリケーションを効果的かつ迅速に開発することができるDevOpsソリューションもその1つです。

DevOpsは、ある特定の製品や技術をベースにしたものではありません。DevOpsとは、プロセスと文化であり、アプリケーションのモダナイズを実現するために必要な要素であることは間違いないでしょう。


金元 隆志 氏

日本アイ・ビー・エム株式会社
テクノロジー事業本部
IBM Zテクニカルセールス

TEC-J Steering Committeeメンバー
一般社団法人 情報処理学会 情報規格調査会 JTC1/SC 委員

大手都市銀行のプロジェクトを経験した後、ソフトウェア開発の効率化および品質向上に関するソリューションのテクニカル・セールスとして従事。現在は主にIBM Zを対象に新しい技術の適用検証や啓蒙活動を実施。2019年からTEC-J WG「DevOps for IBM Z」をリード。

 

*本記事は筆者個人の見解であり、IBMの立場、戦略、意見を代表するものではありません。


当サイトでは、TEC-Jメンバーによる技術解説・コラムなどを掲載しています。

TEC-J技術記事https://www.imagazine.co.jp/tec-j/

[i Magazine・IS magazine]

More Posts