IBM Consulting

ハイブリッドクラウド時代のアプリケーション開発基盤

記事をシェアする:

コロナ禍で消費者や社員の行動様式が変わりビジネスを取り巻く環境は大きく変化しました。さらにSDGsやカーボン・オフセットが世界共通の目標となり、ビジネスを支えるITシステムは柔軟で迅速な対応を求められています。一方、ITシステム部門は既存システムの運用保守に加え、マルチクラウド環境やハイブリッドクラウド環境に適応したアプリケーション開発や運用の新しいスキルを身に付ける必要があります。また日本国内ではIT人材不足が叫ばれる中で、ITシステムの開発・運用領域ではいかに人の関与を減らせるかが喫緊の課題となっています。

このようなクラウド時代におけるITシステムの開発・運用保守課題の解決策として、弊社ではコンテナー技術を採用した Red Hat OpenShiftによる可搬性の高いプラットフォームの確保や自動生成ツールを活用したクラウドネイティブ・アプリケーションの設計・開発・テスト、DevSecOpsパイプラインによる継続的なアプリケーション開発とフィードバックの取り込み、リモートワークを含めた働き方改革を推進するダイナミック・デリバリーなどでお客様を支援しています。
本稿ではITシステムの開発・運用を自動化・高度化するための設計・開発・テストツールやコンテナー技術、クラウド環境に対応したDevSecOpsパイプラインを活用したアプリケーション開発基盤を紹介します。

ITシステム開発・運用の自動化・高度化を支援するソリューション

ビジネスの変化にITシステムを迅速かつ柔軟に対応させるためには、ツールによる支援が不可欠です。IBMが提供するアプリケーション開発を支援するソリューションを紹介します。

Integrated Repository(以下、IR)とAutomated Web Application Generator(以下、AWAG)は、設計と開発のサイクル短縮に効果的なツールです。IRは、設計情報を1つのリポジトリ―に集約して管理するソリューションです。設計情報間の整合性確保、設計の統制、アプリケーション変更に伴う影響分析を支援し、設計の迅速化や品質確保に貢献します。またIRをWebアプリケーション自動生成ソリューションであるAWAGと組み合わせることで、設計情報からコンテナー技術に対応したクラウドネイティブ・アプリケーションを自動生成することが可能です。自動生成したアプリケーションは、そのままRed Hat OpenShiftなどのプラットフォームにデプロイして稼働確認することが出来るため、動くプロトタイプを利用してユーザーと要件を確認しながら設計・開発を進めることが出来ます。

Guide and Toolkit for Application Modeling Test Tool(以下、GTAM)は、テストのサイクル短縮に効果的なツールです。GTAMは、オープン・ソースのSeleniumおよびAppiumをコア・エンジンとするUIテスト自動化ソリューションです。GTAMは、IR上で定義した画面モデルを元にテスト・スクリプトの作成を支援する機能を提供しており、テスト自動化でハードルとなるテスト・スクリプトの開発・保守の負荷を軽減します。また、エビデンス生成機能や現新比較機能を提供しているため、繰り返しテストやシステム変更時の無影響確認テストを容易にします。

IR/AWAG/GTAM概要図「IR/AWAG/GTAM概要図」

DevSecOpsソリューションは、アプリケーションのビルドからリリースまでのサイクル短縮に効果的です。DevSecOpsソリューションにより、アプリケーションのコンパイル、パッケージング(コンテナー技術を使用する場合はイメージ・ビルドも含む)、テスト、各環境へのリリースなどの一連の操作をパイプラインとして自動化することで、開発からテスト、リリースまでにかかる時間と手間を削減します。GTAMもこのパイプラインに組み込んで使用することが可能です。また、パイプラインに静的コード解析によるセキュリティー脆弱性チェック、コンテナー・イメージに対する脆弱性診断、動的セキュリティー・テストなどを組み込むことで、セキュリティーを担保することも可能です。

DevSecOpsパイプライン概要図「DevSecOpsパイプライン概要図」

これらのソリューションは、初期開発においても有効ですが、運用保守でより効果を発揮します。
アプリケーション変更においては、変更による影響分析と無影響確認テストが期間短縮に対する主な阻害要因となります。影響分析における課題に設計情報間の関連の追跡の難しさが挙げられますが、IRの影響分析機能により変更影響の特定が容易になります。また、設計とソースコードが乖離していて分析が難しい場合も長く保守しているシステムではありがちですが、AWAGで設計情報からアプリケーションを自動生成していることにより、この乖離を低減することが可能です。
また、無影響確認テストはDevSecOpsソリューションのパイプラインとGTAMにより自動で実行することが出来るため、品質を確保しながらテスト期間を短縮することが可能です。

ツール活用およびDevSecOps適用のポイント

IRとAWAGを利用したアプリケーションの自動生成では、開発プロジェクトの初期段階で画面のレイアウトパターンを標準化しておくことが開発効率向上を図るうえで重要なポイントとなります。画面ごとに多種多様なレイアウトが存在すると、AWAGで自動生成したソースコードに対して開発者が画面実装に多くのカスタマイズを加える必要が出てくるため開発効率化の効果が低下してしまいます。プロジェクトの初期段階で必要となる画面レイアウトを洗い出しておき、AWAGで自動生成可能なテンプレートとして組み込んでおくことで画面実装の大幅な生産性向上を図ることができます。IRとAWAGを利用したあるプロジェクトでは、要件定義時に必要となるレイアウトパターンを定義しそのパターンに当てはめて画面設計を実施したことで、Angularによる画面実装の約80%をAWAGで自動生成することができました。

GTAMによるテスト自動化では、いつでも繰り返しテストを実行できる状態にしておくことが重要です。繰り返しテストがいつでも容易に実施できることのメリットは、品質を維持しながらも機能拡充のための変更要求取り込みや保守性向上のためのリファクタリングを積極的かつ継続的に実施できることです。そのためには、テスト・スクリプトを常に最新の状態に保つ必要がありますが、DevSecOpsのパイプラインにGTAMのテスト自動実行を組み込むことで、ソースコードに変更が入るたびにテスト・スクリプトが正しく実行できるかがチェックされるため、開発サイクルの中で自然とテスト・スクリプトのメンテナンス作業が実施されることになります。

DevSecOpsのパイプラインは開発の初期段階から構築しておくことをお勧めします。プロジェクトによってはシステム・テストの前あるいはアプリケーションの本番運用が始まるまでに構築できればよいと考える場合がありますが、前述したようにパイプラインには静的コード解析やGTAMによる動的機能テスト、OWASP ZAPによる動的セキュリティー・テストなどを組み込むことが可能なため、これらの環境を開発の初期段階から構築して継続的に運用することでアプリケーションの品質を高めることができます。また、ライブラリアンを必要とせず開発者自らが高頻度にアプリケーションのビルド&デプロイを実施できる環境を準備することは、機能テスト(ITa)の大幅な実施効率向上にもつながります。DevSecOpsのパイプラインは、開発者にその利便性を早期から感じてもらうことが継続的な運用に向けて一つの重要なポイントとなります。

おわりに

ビジネスの変化に対して柔軟かつ迅速な対応が求められるITシステムにおいて、高頻度かつ高品質でのアプリケーション・リリースの実現は重要な課題の一つです。本稿で紹介した開発・運用の自動化・高度化を支援するソリューションを活用してこの課題を解決することで、弊社はお客様のさらなるビジネス拡大を支援していきます。

参考資料

IBM Community Japanへのご登録で閲覧いただけます。

記事の著者

八尾 智幸
日本アイ・ビー・エム株式会社
IBMコンサルティング事業本部
ハイブリッド・クラウド・サービス


鈴木 綾子
日本アイ・ビー・エム株式会社
IBMコンサルティング事業本部
ハイブリッド・クラウド・サービス


武政 一幸
日本アイ・ビー・エム株式会社
IBMコンサルティング事業本部
ハイブリッド・クラウド・サービス

クラウドネイティブ開発が実現するデジタル変革

More IBM Consulting stories

技術と人を育てる、Celonis x 日本IBMがめざす地域での豊かな共創

IBM Consulting, デジタル変革(DX)

日本IBMとCelonis株式会社(以下、Celonis)は、2023年10月に「IBM地域Celonis人財育成プログラム」を発表し、地域DXを推進できる技術者の育成および地域活性化への取り組みを開始しました。プログラ ...続きを読む