Skip to content

Backend Infrastruktur

Samuel Suelzle edited this page Oct 8, 2019 · 4 revisions

Zusammenfassung der Backend Infrastruktur

Anforderungen und Ziele

Die Backend Infrastruktur soll sich um die Datenhaltung, die Datenverarbeitung und das Speichern aller Vorgänge kümmern. Die Daten werden hierzu im JSON-Format in einer DocumentDB von Azure gespeichert. Da Azure API Management für ein Projekt dieser Größe aufgrund der Kosten nicht in Frage kommt, wird die Datenverarbeitung, also der Austausch zwischen Frontend und dem Datenspeicher, mittels Azure Functions statt finden. Damit Probleme beim gleichzeitigen Zugriff auf eine Resource/Datei nicht auftreten, wird die komplette Infrastruktur auf Asynchroner Basis entwickelt.

Verbindung einzelner Komponenten

Die MVC Applikation ruft das Azure API Management auf, welches eine GET API und mehrere PUT APIs hält. Die GET API greift direkt auf den Blob Storage zu, da dort keine asynchrone Zugriffsweise notwendig ist. Die PUT APIs leiten jeweils auf eine ServiceBus Queue weiter, auf welche dann eine Azure Function Instanz (Als Singleton) als Trigger hört und die Datenverarbeitung asynchron verarbeitet.

GET OPERATION: MVC Application --> Azure API Management --> Blob Storage

PUT OPERATIONS: MVC Application --> Azure API Management --> Azure ServiceBus Queue --> Azure Functions als Singleton Instanz --> Azure Blob Storage

Begründung der Auswahl dieser Infrastruktur und der Services