ビジュアライズなどの機能群に加え,(1)異種システム間の連携,(2)顧客協創の支援,(3)パートナーのソフトウェア開発環境との連携,(4)アプリケーション実行場所の管理,(5)開発済みソリューションの共有と再利用の支援といった機能群を提供する。本稿では,この(1)を中心に,同プラットフォームにマイクロサービスAPIやコンテナ技術を導入した背景と目的,および同プラットフォームが提供するSystem-of-Systems技術の概要を解説する。はじめに1980年代以降の急速なインターネットの普及により,各組織内のITシステムは顧客や他組織のITシステムと相互に接続されてきた。2000年以降のクラウドサービスの登場により,インターネット上に蓄積された巨大なデータを活用して,新たな事業が生み出された。今日,多くの企業のIT投資は,既存事業の効率化を目的としているのではなく,データ活用による新事業の創生に期待している。LLCなどのIT企業は,独創的な新サービスを創生し,同時に,それを支える新しいITシステムを開発している。そのITシステムを汎用化して,企業向けのデジタルサービス基盤として事業化している。Technology)システムなどの広範なソリューション提供の経験を有している。これらの社会システムの開発・運用経験を通して,個々の顧客ニーズに対応できる現場サポート体制も構築している。そこで,われわれは顧客との協創によって,社会に新たな価値を提供するサービスの創造をめざす。向上を実現するイノベーションは,単一の企業の力のみでは成し難い。これからの時代は,経済成長や自由競争のみに頼る世界は成り立たなくなりつつあり,SDGs達成やQoL向上といったビジョンを社会的コンセンサスとし,さまざまな組織から英知を募り,課題解決に向けて協創することが不可欠である。それにより,ソフトウェアの段階的な進化を加速させながら,ITだけでなく,日立の強みであるOTを組み合わせ,サイバーフィジカルシステムを支えるサービス基盤を継続的に発展させる。同時に,このサービス基盤であるLumadaのプラットフォームを顧客やパートナー企業に提供していきたいと考えている。既存システムとIoTやAI応用の新規システムを連携するには,プログラミング言語もツールも開発手法も異なるウォーターフォール開発文化とアジャイル開発文化の橋渡しが不可欠である。Things)応用の新しいシステムを連携させる必要がある。デジタルな世界と異なり,物理的な現場機器やその制御システム(OTシステム)を含む社会インフラにおいて,既存の巨大システムを一挙に入れ替える試みは現実的ではない。同図に示すとおり,既存のOT/ITシステムと新しいシステムでは,採用しているハードウェアもソフトウェアも技術的に大きく異なる。加えて,同図左側の既存システムはウォーターフォール開発の文化であり,右側はアジャイル開発1)の文化である。この異なる二つの文化を橋渡しすることが,Lumadaのプラットフォームの重要な役割である。でき,それらをベースとした顧客協創を支える機能を提供する。Lumadaは,顧客協創を通してデータから価値を創出し,デジタルイノベーションを加速することをめざしている。この価値創出を支えることを目的として,Lumadaのアーキテクチャは,先進的なデジタル技術を活用したソリューションやサービスを迅速に効率良く開発できるように設計している。図1は各システムの実装を詳細に示しているため,単純化した図2を使って分かりやすく説明する。同図では既存システムをOTとITに分離して左右に配置している。位置付け図2に示す通り,Lumadaのプラットフォームは,日立が開発した顧客協創方法論「NEXPERIENCE」,および事業ドメインごとのソリューションやユースケースと共に,Lumadaに包含される。本来,Lumadaのプラットフォームには,日立が提供する先端センサーや鉄道車両などの物理的な製品も含まれる。本稿においてはLumadaのプラットフォーム,または本プラットフォームという表現は,事業ドメインに依存せずに汎用的に利用できるソフトウェア基盤を指す。Management,Analytics,Studio,Foundryの6種に分類している。Edgeは,IoT機器からのデータを収集する機能群であり,これにはプロトコル変換,データのフィルタリングや分類といった機能が含まれる。Coreは,収集したデータを蓄積するデータレイク,および,接続されたIoT機器の管理機能を提供する。する機能群を提供する。Analyticsは,データを分析するための機能群を提供し,これにはディープラーニングなども含まれる。Interface)が含まれる。Foundryは,これらを支えるため,コンテナ2)技術をベースとするサーバレスコンピューティング3)環境を提供する。上記の機能群は「データから価値を創出する」ために必須である。これらの機能のみでは,2章に述べた異種システム間の連携,あるいは顧客協創,ソリューション開発成果の蓄積や再利用,それらを促すエコシステム確立といった課題に対する解とはならない。いった課題への解として,本プラットフォームは上記に加え以下の機能群を提供する。本プラットフォームに導入したコンテナ技術やマイクロサービス4)APIは,上記(a)から(e)の機能の実現と深く関係している。以下,本稿では上記(a)を中心に詳細に解説する。Hub」(53ページ)で詳述しているので参照されたい。データを発生させるのは既存のOT/ITシステムであり,Lumadaのプラットフォーム上で稼働するデータ解析アプリケーションと容易に接続できることが重要である。本プラットフォームと既存システムの相互接続を図3に示す。実際にデータを生成するのは既存のOTシステムやITシステムであり,それらのデータを本プラットフォーム上で稼働する新たなアプリケーション・システムで分析するには,これらのシステムを接続し,一つの統合されたシステム(System-of-Systems)としなければならない。同図の既存システム部分は,顧客のオンプレミス環境や他社のパブリッククラウド上で運用されている事例も多い。Platform)も視野に入れて,世界中の主要都市に設置したデータセンタ間を高速回線で接続しているパブリッククラウド事業者のグローバルITインフラを利用し,日立はマルチクラウドにまたがるアプリケーション・システム全体を統合管理できるマルチクラウド運用管理基盤を提供する。Lumadaでは,他社システムとの連携容易化を考慮し,業界標準となっているHTTP/RESTプロトコルやJSONデータ形式を採用し,複数のシステムを連携させたSystem-of-Systemsがマルチクラウドをまたがることを前提に,アーキテクチャを設計している。上述した下位層の接続の次に,上位層(アプリケーション層)の相互接続を実現しなければならない。それぞれ独立して開発・運用されているシステムどうしを相互接続する場合,一般に,図4に示すメッセージ通信を用いた疎結合によるSystem-of-Systems5)アーキテクチャが利用される。近年では,このメッセージ通信は,HTTP/REST6)プロトコルとJSON7)データ形式を用いたマイクロサービスAPIが主流となっている。これらの技術は,Webやスマートフォンの普及に伴い,アプリケーション間の連携に広く利用されており,既にデファクト標準となっている。Service)との接続容易化も考慮し,アプリケーション層の相互接続にマイクロサービスAPIを利用することを推奨している。同図に示す既存システム部分は,マイクロサービスAPIを採用しているとは限らない。Management8)によってラッピングしてマイクロサービスAPIに対応できる。前節で述べたマイクロサービスAPIは,通信プロトコルとデータ形式の枠組みを規定するのみであり,実際にシステムどうしを接続するには,送受信メッセージの詳細なセマンティクスやデータ形式の定義が必要となる。Software)化についてもさまざまな団体で議論されているが,異なる事業分野をまたがるシステム間連携をグローバルに実現する場合,複数の標準仕様への柔軟な対応が不可欠となる。そこで,本プラットフォームは,複数の異なるシステムを連携させるアプリケーションの開発を容易化するために,以下の機能を提供する。具体的には,本プラットフォームは異種システム連携を容易化するために,表1に示すコンポーネントを提供する。Interface)を用いてシステムどうしをAPIレベルで接続できる機能を提供する。Hub10)はEdgeに属し,IoTデバイスや他システムからのデータ収集に不可欠なプロトコル変換を可能にする。Computing)11)は,システム規模の拡大やデータ量の増大に応じた性能スケーリング,および,冗長構成による信頼性エンハンスを提供する。Lumadaが提供するSystem-of-Systems技術は,グローバルに業種をまたがる新サービスを実現する際に不可欠となる,複数の国際標準や業界標準への柔軟で迅速な対応を可能とする。Foundationの米国およびその他の国における登録商標または商標である。「仮想マシンと言えばハイパーバイザ方式」という状況は,コンテナ技術の登場により,この5〜6年で大きく変わった。Inc.など主要ベンダがコンテナ技術をベースとするサーバレスコンピューティング環境の提供に舵を切っている。コンテナ技術の長所は,ハイパーバイザ技術よりもメモリ消費量が少なく,性能も優位というだけではない。System)や共通ライブラリのバージョン不整合問題を解消する。これらの長所以外に,日立は以下の目的で本プラットフォームにコンテナ技術を導入した。従来からシステム開発に利用されてきたJavaやC/C++に加え,データ解析やAI分野ではPython,Webアプリケーション開発ではJavaScriptなどのプログラミング言語が主流となっている。OT分野ではANSYS※2),MATLAB/Simulink※3),SolidWorks※4)などのエンジニアリングソフトウェアが普及している。コンテナ技術とマイクロサービスAPIを応用すれば,これらのさまざまな言語や開発環境で作成したアプリケーションをメッセージ通信で接続し,一つのシステムに統合することが容易となる。このように,4章に述べたSystem-of-Systems技術を応用すれば,新旧システムの連携だけでなく,アプリケーション開発に使用するプログラミング言語や開発環境の違いを乗り越えて,コンポーネントどうしを接続することも容易になる。Inc.の米国およびその他の国における登録商標または商標である。Inc.の米国およびその他の国における登録商標または商標である。Corporationの登録商標または商標である。Union)一般データ保護規則をはじめ,データの移動を規制する動きも起きている。コンテナ技術を応用すれば,データを移動せずに,アプリケーションをデータ格納場所の近傍に転送して実行することが可能となる。IoTやAI技術を使うアプリケーションのアジャイル開発においては,必要な演算性能や通信トラフィックの予測が困難な事例も多い。Concept)段階では問題を生じなかったアプリケーションが,接続デバイス数が増える本番運用では遅延時間の許容値を超えたり,通信トラフィックの増加がコスト問題を発生させたりする。これもコンテナ技術を応用すれば,クラウド上で開発したアプリケーションをエッジ近傍で分散実行するなど,システム設計の柔軟性を向上できる。おわりに本稿では,Lumadaのプラットフォームの設計思想について,アーキテクトの立場から,背景となった課題,導入すべき技術,提供すべき機能(の一部)を解説した。本プラットフォームの設計においては,持続的で漸進的なソフトウェアの進化を促すべく努力している。その実践のために,既存システムと新規システムを連携させる,また,異なるプログラミング言語や開発環境で作られたアプリケーションどうしを接続できるSystem-of-Systemsのコンセプトが重要と考えている。Hub(顧客協創の支援,パートナーのソフトウェア開発環境との連携,アプリケーション実行場所の管理,開発済みソリューションの共有と再利用の支援といった機能群を提供する)については,本稿に続く論文を参照されたい。Reader®が必要です。