Konsumgüter. Geschäftliche Dinge. Dinge herstellen.
Telefone. Tabletten. Phablets. Laptops. Desktops.
Rechenintensiv. Netzwerkintensiv. Lagerintensiv.
Heim. Arbeiten. Restaurant. Auto. Parken. Hotel.
Die Landschaft verändert sich auf beiden Seiten des Geschäfts – Apps und Kunden. Der Begriff „Benutzer“ bezeichnet nicht mehr nur einen Menschen. Es umfasst auch Systeme und Dinge, die automatisch gesteuert werden, um eine Verbindung herzustellen, Anwendungen im gesamten Rechenzentrum freizugeben und mit ihnen zu interagieren.
Denken Sie etwa an den aufkommenden Trend zur Microservices-Architektur, bei dem monolithische Anwendungen in ihre einzelnen Bestandteile zerlegt werden. Jeder Teil ist ein eigener Dienst und stellt eine API (Schnittstelle) dar, über die andere Teile (Dienste) und „Benutzer“ kommunizieren können.
Gehören Sie nicht zu den 36 %, die sich mit Microservices beschäftigen? ( Typesafe, 2015 ) Das Festhalten an gut verstandenen App-Architekturen schützt Sie nicht vor den Auswirkungen der zunehmenden Vielfalt an „Benutzern“, insbesondere wenn Sie sich mit dem Internet der Dinge befassen. Unseren Daten zufolge trifft dies auf einige von Ihnen zu: 22 % aller Befragten sind der Ansicht, dass es in den nächsten zwei bis fünf Jahren von strategischer Bedeutung sein wird, und 15 % planen bereits jetzt, in den nächsten zwölf Monaten Technologien zur Unterstützung des IoT anzuschaffen.
Das bedeutet, dass „Dinge“ wie „Benutzer“ betrachtet werden müssen, die ihre eigenen Bedürfnisse und Anforderungen in Bezug auf Sicherheit und Leistung haben, ganz zu schweigen von der Verfügbarkeit.
Dies bedeutet, dass Netzwerk- und Anwendungsdienste, die eine immer vielfältigere Palette von Anwendungen für eine wachsende Zahl von Kunden an immer mehr Standorten bereitstellen müssen, in der Lage sein müssen, zwischen einem menschlichen Benutzer und einem Objektbenutzer zu unterscheiden. Um die Leistung zu optimieren und die Sicherheit zu gewährleisten, ist es zwingend erforderlich, dass die für die Leistung und Sicherheit verantwortlichen Dienste in der Lage sind, unter Berücksichtigung der aktuellen Variablen zum richtigen Zeitpunkt die richtige Richtlinie anzuwenden.
Das heißt, sie müssen den Datenverkehr (Daten und Kommunikation, in App-Begriffen) im Kontext der gesamten Transaktion verwalten: des Benutzers, der App und des Zwecks, zu dem eine solche Kommunikation versucht wird.
Sie können über den Kontext auf ähnliche Weise nachdenken, wie man es Ihnen vielleicht beigebracht hat (wenn Sie alt genug sind, und nein, Sie müssen es nicht zugeben, wenn Sie lieber nicht möchten) über die fünf „W“-Fragen, die Sie beim Sammeln grundlegender Informationen stellen müssen: Wer, Was, Wo, Wann und Warum. Indem Sie den Datenverkehr abfragen und auf jede dieser Fragen eine Antwort extrahieren, können Sie genügend Kontext zusammentragen, um eine angemessene Entscheidung hinsichtlich der Behandlung des Austauschs treffen zu können. Leugne es. Erlaube es. Scannen Sie es. Schrubbe es. Optimieren Sie es. Leiten Sie es weiter. Dies sind die Arten von Dingen, die App-Dienste „im Netzwerk“ tun, und sie tun dies besser und mit größerer Wirkung, wenn sie dies im Kontext des Austauschs tun.
Sie bilden den Kontext. Es ist nicht unbedingt so, dass Sie alle fünf sammeln müssen (es handelt sich hier schließlich nicht um Pokémon), um eine Entscheidung über die richtige Vorgehensweise treffen zu können. Aber Sie müssen in diesem Fall Sichtbarkeit (Zugriff) für alle fünf haben. Aus diesem Grund ist die Transparenz des gesamten Netzwerkstapels – von den Ebenen 2 bis 7 – für App-Dienste so wichtig. Denn jeder muss eine Anfrage oder Antwort unter Umständen im Kontext ihrer Erstellung auswerten. Und nur die Sichtbarkeit des gesamten Stapels gewährleistet, dass Sie bei Bedarf auf die Informationen zugreifen und diese abrufen können.
Dies ist einer der Vorteile eines intelligenten Proxys: Er bietet die erforderliche Transparenz, damit Netzwerk-, Sicherheits- und Infrastrukturarchitekten (und -ingenieure) kontextbezogene Richtlinien implementieren können, um die Sicherheit, Geschwindigkeit und Zuverlässigkeit zu gewährleisten, die jeder Benutzer – egal ob Mensch, Sensor oder Software – letztendlich benötigt.