前回、イベントドリブンアーキテクチャ(イベント駆動型アーキテクチャ、EDA)の実装で必要となる特性や機能、なかでもEDAのリアルタイム性/拡張性を実現する、ベース技術のリアクティブシステムについて解説した。第3回となる今回は、EDAベースアプリケーションの活用において欠かせないバックグラウンドとして、DevOps/アジャイル開発や適材適所のコンポーネント配備の観点に立った、アプリケーションの開発・運用を取り上げる。
EDAでDevOpsが求められる理由
本連載の第1回で、EDAアプリケーション/システムの開発・構築・活用において「作りながら変化していくアプリケーション開発体制が必要である」と述べた。最初に仕様をがっちり固めて、それどおりに動くアプリケーションを構築する、というのではなく、作りながら継続的に拡張や改善を行っていく、アジャイルな開発スタイル(体制、手法)である。
そもそも、EDAアプリケーションを活用したいという動機は、進行の速度や変化の激しいビジネス環境でリアルタイムなアクションを起こす必要性からきているはずだ。その目的に照らすと、EDAアプリケーションにおいては、状況の変化に応じてアクションも頻繁な変更が要求されるため、アプリケーションの開発フェーズから柔軟な変更や改善が可能になっている必要がある。
したがって、そのようなアジャイル開発スタイルが、開発環境・基盤となるEDAアプリケーションプラットフォームに備わっている必要がある。
まず考え方としては、DevOpsが重要になる。開発 (Development) と運用 (Operations) を組み合わせた用語であり、開発と運用の両フェーズの緊密な協調によって、CI/CD(継続的インテグレーション/継続的デリバリ)を実現しようという開発スタイルだ。
DevOpsの典型的なフローを図1に示した。開発担当チームが行うアプリケーションの開発・テストから、運用担当チームの品質検査(以下の図ではテストと記述されている部分)・本番環境への展開を一貫して行うことで、アプリケーションの開発から展開を迅速、頻繁、確実に行うことができるというものである。
拡大画像表示
それでは、EDAアプリケーションプラットフォームにおいてDevOpsがどのように利用されているかについて、VANTIQプラットフォームに備わるIDE(統合開発環境)を例に挙げつつ確認してみたい。
画面1は、VANTIQのEDAプラットフォームに備わるIDEの操作画面である。一番上の部分を見ていただくと、開発と運用がトグルになっている。IDEの画面からDevとOpsを選択でき、シームレスに開発を行えるようになっている。
拡大画像表示
会員登録(無料)が必要です
- 1
- 2
- 3
- 次へ >
- EDAの導入効果が高いユースケースを知る:第5回(2018/11/27)
- EDAプラットフォームに備わるセキュリティ確保の仕組み:第4回(2018/11/12)
- EDAのリアルタイム性/拡張性を実現するリアクティブシステム:第2回(2018/10/15)
- 今、イベントドリブンアーキテクチャ(EDA)に注目が集まる理由:第1回(2018/10/09)