Computer Weekly製品ガイド
API&マイクロサービスベースによるホリスティックアプリケーションの台頭
ソフトウェアのコンテナ化、コンポーネント化、コンパートメント化のアプローチは、企業の顧客対応を向上させる助けになる。だがCIOには、さらに複雑な環境を管理するという課題が生じる。
モノリシックアプリケーションの時代は死んだも同然だ。単一の層でソフトウェアを構築し、その中にアプリケーションロジックや分析機能、ユーザーインタフェース、ストレージリポジトリに対するサイロベースのアプローチを内蔵するという昔ながらの概念は、マイナーなケースにしか存在しない。今ではモジュール式の設計やオブジェクトベースのアプリケーションブロック、クラウドコンピューティング、マイクロサービスをベースとしたソフトウェア開発という、もっと動的なソフトウェア開発手法が存在する。
動的なモジュール式ソフトウェア開発は、クラウドコンピューティングプラットフォームにおける常時接続型の継続的開発と継続的統合の世界に適している。
モノリシックアプリケーションが1セットのエンドポイントと1セットのプロトコル、1セットのモニターとレポートの仕組みしか持たないのに対し、モジュール式のアプリケーションはエンドポイントやAPI接続、I/O(入出力)チャネルの種類が(ほぼ)無限にある。
そうしたアプリケーションアーキテクチャはホリスティック(総体的:holistic)と定義される。すなわち、APIを使ったマイクロサービスの上に構築されて世界全体を見渡し、世界における自分の位置を認識する。
APIゲートウェイの可能性
NGINX(訳注)によると、開発者がアプリケーションをマイクロサービスのセットとして構築することを選んだ場合、そのアプリケーションのクライアントがマイクロサービスとどう通信するかを決める必要がある。「モノリシックアプリケーションは、(一般的には複製され、負荷分散された)エンドポイントが1セットしかなかった。だがマイクロサービスアーキテクチャでは、各マイクロサービスが一般的にきめの細かい一連のエンドポイントにさらされる」。NGINXのブログでそう解説されている。
訳注:原文は「Nginx」だが、ここはオープンソースのWebサーバ「nginx」のことではなく、「NGINX Plus」の販売やサポートを行っているNGINX inc.を指す。
そうしたエンドポイントを組み合わせるのは難しい。IDソフトウェア会社Auth0の主席アーキテクト、ビトリオ・バートッチ氏によると、現代のアプリケーションアーキテクチャではソフトウェアは動的に組み合わされ、解体される。従って、認証とアクセスコントロールがソリューションをつなぎ合わせる唯一の接点になることもある。
「たとえクライアントアプリケーションが動的に浮上して流動化したとしても、常にセキュアかつポリシーを順守したリソースアクセスを徹底させるためには、適切な権限管理が必須だ。開発者が求められる生産性と高速デリバリーを維持しながら分散されたリソースの組み合わせを実現するには、一貫性のある、標準に基づく認証戦略を採るしかない。これはオンプレミスであれクラウドであれ、内部APIであれSaaSアプリであれ、モバイルソリューションからサーバ対サーバに至るまで共通している」(バートッチ氏)
アプリケーションの弾力性への道
技術設計・工学企業Aricentの技術・イノベーション担当アシスタントバイスプレジデントのシャミック・ミシラ氏は、マイクロサービスとコンテナでホスティングされたアプリケーションの時代において、システムモニターは激変すると語る。同氏によると、Infrastructure as Code(IaC)要素(例えばマイクロサービスをホスティングするコンテナなど)の監視に必要なモニタリングシステムは、オーケストレーションシステムでアラートを捉え、それに従って行動することが求められる。
「そうしたモニタリングシステムは、アプリケーションの弾力性へとわれわれを導く入力チャネルだ。モニタリングシステムに役割を持たせ、計算の促進やアプリケーションあるいはAPI利用に基づくマイクロサービスの収益化につなげることもできる。効率的なホリスティックアプリケーションの内部では、機械学習がイベントベースのアーキテクチャ(例えばサーバレスなど)とマイクロサービスのリアルタイム処理を実現する鍵を握るツールになる。機械学習はサービスの価格決定、不正検知、マイクロサービスのためのインフラメンテナンス、ソフトウェアのテスト、根本原因分析、データのモニターに基づき自律的に行動する能力の促進につながる」(ミシラ氏)
DataStax(Cassandraデータベースサービス企業)の開発者関係担当バイスプレジデントのパトリック・マクフェイディン氏は、ホリスティックアプリケーションへの途上において、たどるべき「単一コードの道」は存在しないと話す。ホリスティックアプリケーションのそれぞれの要素はAPIを使ってつなぎ合わされている。これによりアプリケーションの各コンポーネントで需要に応じてリソースを増やすことができ、それがシステムの拡張性を高めている。これを自動化して開発チームの負担を軽減することもできる。そうなれば開発チームはインフラではなくソフトウェアに集中できる。
「結果として、ホリスティックアプリケーションは顧客サービスを向上させる助けになるはずだ。そうした要素を全て連携させることによって、特定の顧客が望む全ての結果とデータを含む、よりパーソナライズされた体験を提供できる」とマクフェイディン氏は言う。
「半面、環境ははるかに複雑になる。各要素はそれぞれ独自のサービスを運営して独自のデータを生成し、独自のサービス品質保証契約(SLA)を満たさなければならないノードのクラスタで形成される。この拡張状態は全ての要素がうまく連携し、各サービスからのデータが効率的に管理される状態に依存するので管理が難しい」と同氏は言い添えた。
求められるのは考え方を変えることだ。マクフェイディン氏によると、各要素は随時変更されたり更新されたりすることから、プロジェクトの「完了」を宣言するのははるかに難しい。サービスの柔軟性は高まるものの、ソフトウェア開発者の役割についての考え方を変える必要がある。アジャイル開発をうまく導入している企業は、この変化に効率的に対応できる態勢にあるはずだ。だが、アジャイルが名ばかりの企業やプロセスが完全に実行されていない企業は苦労するかもしれない。
ソフトウェア分析企業OverOpsのソリューション工学担当バイスプレジデントのエリック・マイゼル氏によると、組み立て可能でコンテナ化され、コンパートメント化された新しいソフトウェアの世界は、そうした複雑なアプリケーションの安定性を維持するという課題を背負った担当者の頭痛の種になっている。
「モノリシックアプリケーションの文脈の中でさえ、フレームワークのログを記録してプロダクションコードの機能問題を発見するといった30年前からの技術に依存する状況は、よく言ってもレベルが低い。マイクロサービスやホリスティックアプリケーションの文脈においては価値がないも同然だ。ホリスティックアプリケーションでコールスタックをどう定義するのか。どうすればログファイルの限られた情報から、分散されたコードベースの機能問題に関する十分な情報が得られるというのか」。マイゼル氏はそう問い掛ける。
「マイクロサービスの個別テストは、配信されたアプリケーションの全般的な品質を判断するのに必要なホリスティックテストから切り離される。機能品質/健全性に関する新しいアプローチが必要だ。モノリシックアプリケーションからより動的なアプローチへと移行する中で、開発およびIT運用チームは、自分たちのコードの状態に関するもっときめ細かい可視性とコンテキストを必要とし、継続的安定性を保証する手段を向上さなければならない」
世界の端のアプリケーション
コンテナ化され、コンポーネント化され、コンパートメント化されたソフトウェアはアプリケーションアーキテクチャの未来を表す。だがモノリシックアプリケーションやレガシーシステムも依然として存在している。今後に向けた最善のアドバイスは、そうした非コンテナ型のシステムをホリスティックアプリケーションの世界の中に存在する組み立て可能な機能の「大きな塊」として扱うことかもしれない。
ホリスティックアプリケーションのまとめ
- 認証およびIDベースのアクセスコントロールは、分散システム間で調整を行う貴重なリンクとして機能する
- ホリスティックアプリケーションは、IaCに重点を置いたモニターシステムを必要とし、オーケストレーション機能を使ってアラートを捉え、システムの健全性を保つ
- ホリスティックソフトウェアには複雑な側面もある。それぞれの要素が独自のサービスを運用し、独自のデータを生成し、独自のSLAを満たさなければならないノードのクラスタで構成される
- マイクロサービスの個々のテストは、分散アプリケーション全体の品質を見極めるために必要なホリスティックテストとは切り離される。
- 機械学習は、サーバレスやマイクロサービスなどの技術を使ったイベントベースのホリスティックアーキテクチャのリアルタイム処理を実現する鍵を握るツールになる。これは自己修復と自立型コンポーネントを提供する上で重要な役割を果たす
- ホリスティックアプリケーションは終わることがない。ソフトウェアプロジェクトは随時拡張され、変更され、更新される。これは常時稼働型ソフトウェアの未来だ
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
2
パナソニックが国内製造26拠点のERPを「SAP S/4HANA」に統一 アドオン7割削減
-
3
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
-
4
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
5
守るべきは「開発者のフロー状態」 AIによる生産性改善の6施策
-
6
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
7
「データストレージの活用方法」に関するアンケート
-
8
全社標準「Copilot」にダメ出し? 現場の8割が不満を抱く“致命的な欠点”
-
9
「企業内サーバ環境の利用実態」に関するアンケート
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
2
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
6
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
9
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー