システムのモダナイゼーションで採用が進むマイクロサービス
細江氏は、当初からIT新規事業企画に携わり、DevOpsやPaaSなど最先端技術を使いこなす開発で経験を積んできた。大規模プロジェクトのマネジメントも歴任し、近年ではマルチチャネルでのメッセージ配信の開発に携わるほか、10月からはクラウドネイティブやマイクロサービスといった先進Webシステム開発を担当するエンタープライズシステム開発事業部/アドバンストWebビジネス推進部の課長に就任したところだ。
細江氏によると、システムのモダナイゼーションに取り組む企業の背景には、レガシーシステムの高額な運用維持コストや技術者の高齢化などによる運用リスクの高まりと、市場動向に合わせたシステムの導入や顧客満足度を向上させるUXの改善といったサービスの利用促進のための攻めのIT投資が重要視されてきている、という2つの部分があると言う。
昨今では多くの企業がレガシーシステムのモダナイゼーションに取り組み始め、その手段としてマイクロサービスの採用が進んでいる。
従来のモノリシック(複雑に絡み合う一体化した構造)なアプリケーション機能をポータビリティーに優れた小さいサービス単位に分割して、再利用するアーキテクチャがマイクロサービスである。ユーザーニーズや市場動向の変化が激しいビジネス環境においても、高い柔軟性と対応スピードを実現できるため、このマイクロサービスの導入が加速度的に進んでいる。
マイクロサービス化の特性、API連携とは?
マイクロサービス化の特性は、各サービスがAPIで連携することだ。マイクロサービスにより機能をサービス単位で切り出し、その集合体をシステムとして運用することや、サービスをAPI化して他のサービスと連携することで、新しいビジネス価値を創出する可能性が広がる。しかし、マイクロサービス化は、API連携で変化に柔軟に対応できる反面、全体的な整合性の確保が困難になったり、運用上の複雑度が増したり、性能やセキュリティなどの非機能面での品質リスクが高まるといった危険性がある。こうしたことについて、細江氏は「テスト手法が確立されていない、あるいは全体の整合性をとることの重要性が見落とされている可能性があります」と指摘する。
API連携を伴う開発、品質活動に潜む落とし穴とは?
細江氏が携わった近年のプロジェクトでは、レガシーシステムのマイクロサービス化と外部サービスの利用を行い、さまざまなAPI連携を伴うシステムを開発してきた。しかし、このようなシステム開発を進めていくうえで、開発スケジュールの各マイルストーンで、予定通りに品質を確保していくことが難しいかもしれないとも感じていた。
その理由は、マイクロサービスの特性に起因する。巨大なレガシーシステムをサービス単位で切り出しての並行開発や、API化により外部のサービスと連携してのシステム構築では、接続先の都合で結合テストが先送りとなったり、後工程で品質課題が顕在化することで手戻りが発生したりして、品質保証活動が容易ではない。
このように、API連携を伴う開発では、片方のサービスの開発の遅延や、好きなタイミングで外部サービスと接続できないといった事象が発生し、スケジュールの遅延やコスト増加などのリスクが付きまとう。加えて、急な外部環境の変化により、機能面だけでなくセキュリティや性能といった非機能面での影響調査を求められる可能性も高くなる。細江氏は、こうした開発における落とし穴を回避するために、サービス仮想化ツール「Parasoft SOAtest/Virtualize」を採用した。
関連情報
「SOAtest/Virtualize」の情報はこちらから!