2016-05-11 5 views
4

Wenn Sie einen Service Fabric-Cluster ausführen, ist es sinnvoll, mehrere Anwendungen auszuführen, die jedoch nicht voneinander abhängig sind. Zum Beispiel kann ich dort eine CustomerApp und eine WikiApp haben.Ist es möglich, Anwendungen in Service Fabric voneinander zu isolieren?

Jetzt wäre es aus Sicherheitsgründen großartig, wenn die WikiApp von der CustomerApp isoliert werden könnte, da ein Wiki eindeutig nicht in der Lage sein sollte, sich mit Diensten von einer App mit Kundendaten zu verbinden. Ich könnte Authentifizierung in die Dienste der CustomerApp selbst setzen, um nur Anrufe von authentifizierten Diensten zu erlauben, aber zusätzlich wäre es noch besser, wenn die WikiApp nicht einmal in der Lage wäre, eine Verbindung herzustellen oder die andere App zu sehen und einen Endpunkt nicht auflösen könnte Adresse vom Namensdienst.

Gibt es also eine Möglichkeit, Anwendungen in Service Fabric mit einer Plattformfunktion wirklich voneinander zu isolieren? Ich konnte in der Dokumentation nichts darüber finden, und ich bezweifle auch, dass es möglich ist, wie Service Fabric funktioniert, aber es wäre sehr nützlich.

Und um klar zu sein, ich spreche wirklich über die Isolierung von Anwendungen (ApplicationTypes) voneinander, nicht Dienstleistungen in einer einzigen Anwendung.

Antwort

4

Es gibt einige Ebenen der Isolation eingebaut:

  • Anwendungsinstanzen auf Prozessebene Isolation haben, daß jede Anwendungsinstanz in einem eigenen Prozess ausgeführt wird.
  • Die Knotenisolierung ist möglich, indem Platzierungseinschränkungen verwendet werden, um Dienste voneinander zu "isolieren", indem sie so eingeschränkt werden, dass sie auf verschiedenen Knoten ausgeführt werden.
  • Containerunterstützung wird in Zukunft verfügbar sein, wo Anwendungen und Dienste innerhalb von Containern zur weiteren Isolierung von Umgebung und Ressourcen ausgeführt werden können.
  • Dienste können unter eindeutigen Benutzerkonten ausgeführt werden, mit denen Sie die Authentifizierung selbst auf Anwendungsebene durchführen können.

Leider gibt es heute keinen feingranularen rollenbasierten Zugriffsmechanismus, der in die Plattform integriert ist. So haben beispielsweise systemweite Vorgänge wie das Ausführen von Abfragen zum Abrufen einer Liste von Anwendungen oder Diensten oder das Auflösen von Endpunkten mithilfe des Namensdiensts keinen integrierten rollenbasierten Zugriff.

+0

Vielen Dank Vaclav für die sehr hilfreiche und interessante Infos! –