リアルタイムアプリケーションは、デジタル変革のイニシアチブを実装する重要な方法です。 しかし、これらのシステムは、エンタープライズグレードの構築はもちろん、開発、展開、メンテナンスが困難であることが知られています。
エッジコンピューティングを開発テーブルに持ち込み、アプリケーションの基本的な部分とすることで、これらのデジタル変革ソリューションは、エンタープライズグレードのソリューションに必要なデータロードとパフォーマンス要件を処理するのに適しています。
それでは、エッジコンピューティングを効果的に活用して、リアルタイムアプリケーションがエンタープライズグレードであることを保証するにはどうすればよいですか? これに対処する1つの方法は、リアルタイムアプリケーション開発の「-ilities」と呼んでいるもの(スケーラビリティ、可用性、信頼性、俊敏性)です。 「-ilities」やその他の重要な点を深く掘り下げて、リアルタイムアプリケーションがタスクを実行できるようにしましょう。
スケーラビリティ
今日のペースの速い世界では、最新のシステムは、水平方向と垂直方向の両方を簡単かつ効率的に拡張できることが期待されています。 しかし、スケーラビリティのもう1つの重要な側面が見過ごされがちです。分散スケーラビリティとは、ネットワーク内の任意の数のノードにビジネスロジックを分散させる機能を持つことを意味します。 企業が苦労し始めるのは、コマンド呼び出し、リモートクエリ、または他の方法でシステム内のエンドポイント間の効率的な通信を確保するときです。
それでは、なぜこの3番目の(そしてしばしば見落とされている)規模の規模の部分がそれほど重要なのですか? 多くの分散型ロケーションで毎秒数千、あるいは数十万件のイベントが発生する場合、データを保管場所の近くで処理することが不可欠です。 このアプローチにより、クラウドネットワークへの圧力を軽減し、非常に速い応答時間を必要とする現代のシステムで遅延を低減し、広域ネットワークがダウンした場合でもアプリケーションの実行を継続できるようにします。
可用性/信頼性
非分散方式(エッジロケーションがすべて単一のクラウドエンドポイントを指し示す)でリアルタイムアプリケーションを構築する際に企業が直面する1つの大きな問題の1つは、クラウドへの接続が切断された場合、アプリケーションが使用できなくなることです。 分散アーキテクチャでは、すべてのビジネスロジックを個々のエッジノードごとに実行できるため、システムには単一の障害点はありません。 この場合、クラウド接続がダウンした場合、エッジデバイスは実行を続け、別の場所にデータを送信するか、接続が戻ったときに送信するために保存します。
これは、アプリケーションを更新したり、システム内のエッジデバイスに新しいロジックを展開したりする場合にも有効になります。 各ノードが純粋の中央場所に依存していない場合、更新が行われる間にネットワーク上の他のデバイスにコンピューティングパワーを転送するために特定のメンテナンスウィンドウを割り当てることができ、最終的にアプリケーションをオンライン状態に維持します。
アジリティ
リアルタイムアプリケーションに俊敏性を持つことで、ビジネスミッションクリティカル要件を迅速かつ効率的に満たし、環境の変化が発生するとすぐに対応できます。 これは開発アジリティと呼ばれ、最も一般的にアプリケーションアジリティのタイプと呼ばれています。
リアルタイムシステムにおける俊敏性のもう1つの重要な側面は、デプロイメント・アジャイルであり、これは動的デプロイメント(ダウンタイムなしで新しいアプリケーションまたは既存のアプリケーションへの更新を展開できる)と非対称デプロイメント(アプリケーションに新しい機能を順次展開する)に分類されます。
これの現実世界の例は、100台のIoT対応トラフィックカメラを備えたスマートシティです。 動的な展開は、琥珀アラートが発生した場合、特定の自動車メーカーやモデルを検索するように訓練された新しいAIアルゴリズムをネットワーク内のすべてのカメラに展開することです。 非対称の導入は、ネットワーク全体に展開する前に、100台のカメラのうち5台のカメラを更新して、新機能をテストします。
開発と展開の俊敏性の両方を提供するプラットフォームでアプリケーションを開発することで、リアルタイムシステムに加える必要がある将来の変更や追加に対してビジネスが準備され、それらが組織的かつタイムリーに実行されることを確実にすることができます。
セキュリティ
最新のアプリケーションでは、飛行中のデータと保存中のデータは安全であると期待されていますが、攻撃サーフェスを制限し、不要なデータ集約を制限するための手順を実行できます。 データ精査とプライバシーの懸念が高まるこの時代に、アクセスを必要とする加入者だけが資産の適切な権限と可視性を利用できるようにする必要があります。
エッジコンピューティングは、エッジデバイス上の機密情報をフィルタリングすることで、データの転送方法と、ネットワーク全体で追跡されている種類のデータを制限することができます。
プラットフォームアプローチ
エンタープライズ級のリアルタイムイベント駆動型アプリケーションを統合する旅に着手すると、開発上の複雑さ(使用する必要があるすべての異なるツール)、展開の複雑さ(アプリケーションロジックを環境に取り込む)、運用上の複雑さ(これらすべての異なるサービスを稼働させ、接続させる)の両方にすばやく気付くことができます。 これには、メッセージング層、フィルタリング層、集約層、ステートフル層、ストリーム分析層、状況層など、アプリケーションスタック内の多くの異なる層を管理する必要があります。
ご覧のとおり、これは小さなことではなく、非常に多くの組織がリアルタイムへの切り替えを試みて失敗する理由です。 エンタープライズクラスのリアルタイムアプリケーションを正常に開発、展開、維持するには、エッジコンピューティングの力を1つの統合されたリアルタイムアプリケーション開発環境に提供するプラットフォームを利用することが最も重要です。