ブログ

文脈が重要

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2016 年 2 月 7 日公開

消費者向け商品。 ビジネス関連。 ものづくり。

電話。 タブレット。 ファブレット。 ノートパソコン。 デスクトップ。

集中的に計算します。 ネットワークが強力です。 ストレージが強力です。

家。 仕事。 レストラン。 車。 公園。 ホテル。

アプリとクライアントというビジネスの両側面で状況が変化しています。 「ユーザー」という用語は、もはや単なる人間を意味するものではありません。 これには、データセンター全体のアプリケーションとの接続、共有、対話を自動的に行うシステムやモノも含まれます。

 

たとえば、モノリシック アプリケーションを複合パーツに分割する、新たなマイクロサービス アーキテクチャのトレンドを考えてみましょう。 各パーツは独自のサービスであり、他のパーツ (サービス) と「ユーザー」が通信できる API (インターフェース) を提供します。

 

マイクロサービスに手を出している 36% の中に含まれていないのですか? ( Typesafe、2015 ) 十分に理解されているアプリ アーキテクチャに固執していても、特にモノのインターネットに参入している場合は、増加する「ユーザー」の多様性の影響から逃れることはできません。 当社のデータによれば、回答者全体の 22% が IoT が今後 2 ~ 5 年間で戦略的に重要になると考えており、15% が今後 12 か月以内に IoT をサポートするテクノロジーを購入する計画を立てており、皆さんの中にはそう考えている人もいます。

つまり、「モノ」は「ユーザー」のように捉える必要があり、可用性はもちろんのこと、セキュリティやパフォーマンスに関しても独自のニーズと要件を持つことになります。 

つまり、ますます多様化するアプリケーション セットを、さらに多くの場所で増え続けるクライアントに配信する役割を担うネットワークおよびアプリケーション サービスは、人間のユーザーとモノのユーザーを区別できる必要があります。 パフォーマンスを最適化し、セキュリティを確保するには、パフォーマンスとセキュリティを担当するサービスが、現在の変数セットに基づいて適切なポリシーを適切なタイミングで適用できることが不可欠です。

つまり、ユーザー、アプリ、およびそのような通信が試行される目的など、トランザクション全体のコンテキスト内でトラフィック (アプリの用語ではデータと通信) を管理する必要があります。

 

コンテキストについては、基本的な情報収集を行う際に尋ねる必要がある 5 つの「W」(誰が、何を、どこで、いつ、なぜ) について教わったことがあるのとほぼ同じように考えることができます (年齢が十分であれば、認めたくなければ認める必要はありません)。 トラフィックを調査し、それぞれの質問に対する回答を抽出することで、十分なコンテキストをまとめ、交換をどのように処理するかに関して適切な決定を下すことができます。 否定してください。 許可します。 スキャンしてください。 こすって下さい。 最適化します。 ルートします。 これらは、アプリ サービスが「ネットワーク内」で行うタイプの処理であり、交換のコンテキスト内で実行すれば、より効果的かつ効率的に実行できます。

  • 誰が
    ユーザーを識別します。 それは人間ですか? もしそうなら、企業向けですか、それとも消費者向けですか? それは物ですか、それとも別のアプリですか? もしそうなら、何のもので、どのアプリですか? 私のスマート電球はデータレポートアプリにはアクセスできるかもしれませんが、会計システムにはアクセスできません。

  • 彼らは何をしていますか? データを送信していますか? データを求めていますか? 検索中ですか? HTTP には、深く掘り下げなくてもこれを判断するのに役立つ豊富なデータが含まれています。 HTTP POST ですか、それとも GET ですか? 更新ですか、それとも削除ですか? ステータスだけでも、この交換の目的についての手がかりが得られます。
  • どこ
    彼らはどこからそれをやっているのですか? 彼らは家にいますか? 本社で? 通りの向かいのスターバックスか、それとも地球の反対側か? ローカルネットワーク上ですか、それともインターネット経由ですか? 地理位置情報は、アプリ、リソース、データへのアクセスを制限する一般的な手段です。 アプリの種類に関係なく、ユーザーにアプリを配信する場合、特に空港や地元のスターバックスなどの公共の場所から特定の種類のデータやアプリにアクセスすることを禁止する企業ポリシーがある場合は、場所が重要になります。
  • いつ
    今何時ですか? さらに重要なのは、ユーザーがどこにいるのか、そして今何時なのかということです。 午前 8 時の場所から午前 3 時にシステムにアクセスしようとしているのでしょうか? たとえば、調査により、ボット トラフィックは営業時間外、つまり午後 6 時から午後 9 時の間に大幅に増加する傾向があることがわかっています。 そして、このデータを「誰」と組み合わせると、アリスが本社で働いているときは午前 3 時に働くはずだと即座に判断できるようになります。
  • なぜ
    なぜ存在しないレイヤー8のようなものですか。 それは何から推測できるかということだけであり、URI のような、それ以外はかなり基本的なデータから手がかりをつなぎ合わせる能力が求められます (HTTP ベースであると仮定しますが、これは今日では妥当な仮定です)。 データの送信など、彼らが何をしているのかがわかったら、次になぜそれを送信しているのかを知りたいと思うかもしれません。 プロファイルの更新ですか、それともセンサーデータを送信していますか? 検索をしているのか、注文を送信しているのか?

これらがコンテキストを構成するものです。 適切な行動方針を決定するために、必ずしも 5 つすべてを集める必要はありません (結局のところ、これはポケモンではありません)。 しかし、万が一の場合に備えて、5 つすべてに対する可視性 (アクセス) が必要です。 そのため、レイヤー 2 から 7 までのネットワーク スタック全体の可視性がアプリ サービスにとって非常に重要です。 それぞれが、作成されたコンテキスト内でリクエストまたは応答を評価する必要がある可能性があるため、フルスタックの可視性を確保することによってのみ、必要なときにその情報にアクセスして取得できるようになります。

これは、インテリジェント プロキシがもたらすメリットの 1 つです。つまり、ネットワーク、セキュリティ、インフラストラクチャの設計者 (およびエンジニア) が、人間、センサー、ソフトウェアを問わず、すべてのユーザーが最終的に必要とするセキュリティ、速度、信頼性を確保するためにコンテキストを必要とするポリシーを実装できるようにするために必要な可視性です。