BLOG

Der Kontext ist König

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 07. Februar 2016

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.

  • WHO
    Identifiziert den Benutzer. Ist es ein Mensch? Wenn ja, für Unternehmen oder Privatpersonen? Ist das ein Ding oder eine andere App? Wenn ja, welches Ding und welche App? Meine intelligente Glühbirne hat zwar möglicherweise Zugriff auf eine App zur Datenberichterstattung, jedoch keinen Zugriff auf die Abrechnungssysteme.
  • Was
    Was machen Sie? Daten senden? Daten anfordern? Suchen? HTTP enthält eine Fülle von Daten, mit deren Hilfe dies ermittelt werden kann, ohne dass man sehr tief graben muss. Ist es ein HTTP POST oder ein GET? Ein UPDATE oder DELETE? Allein der Status kann uns Hinweise auf den Zweck dieses Austauschs geben.
  • Wo
    Von wo aus machen sie das? Sind sie zu Hause? Im Hauptquartier? Auf der anderen Straßenseite bei Starbucks oder am anderen Ende der Welt? In einem lokalen Netzwerk oder über das Internet? Geolokalisierung ist ein beliebtes Mittel, um den Zugriff auf Apps, Ressourcen und Daten einzuschränken. Bei der Bereitstellung von Apps für Benutzer spielt der Standort unabhängig von ihrem Typ eine Rolle, insbesondere dann, wenn Unternehmensrichtlinien den Zugriff auf bestimmte Datentypen oder Apps von öffentlichen Orten wie dem Flughafen oder dem örtlichen Starbucks aus verbieten.
  • Wann
    Wie spät ist es? Und was noch wichtiger ist: Wie spät ist es hier und wo befindet sich der Benutzer? Versuchen sie, um 3 Uhr morgens von einem Standort aus auf ein System zuzugreifen, wo es 8 Uhr morgens ist? Aus Untersuchungen wissen wir beispielsweise, dass der Bot-Verkehr nach Feierabend, zwischen 18 und 21 Uhr, deutlich zunimmt. Und wir könnten diese Daten mit „Wer“ verknüpfen und sofort feststellen, dass Alice um 3 Uhr morgens arbeiten sollte, wenn sie in der Unternehmenszentrale arbeitet.
  • Warum
    Warum ist das so, als ob Schicht 8 nicht vorhanden wäre? Es kann nur daraus gefolgert werden, was der Fall ist, und es ist erforderlich, dass Sie in der Lage sind, Hinweise aus ansonsten relativ einfachen Daten wie der URI zusammenzusetzen (vorausgesetzt, sie ist HTTP-basiert, was heutzutage eine faire Annahme ist). Wenn wir erst einmal wissen, was sie tun (z. B. Daten senden), möchten wir vielleicht wissen, warum sie die Daten senden. Handelt es sich um eine Profilaktualisierung oder werden Sensordaten gesendet? Führen sie eine Suche durch oder geben sie eine Bestellung auf?

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.