Deployment

Deployment

Für das Deployment war es wichtig der ganze Prozess möglichst einfach anzulegen, damit es überall mit einfachen Schritten aufzusetzen. Aus diesem Grund wurde für das Deployment Docker und NIGINX verwendet.

Docker

Mit Docker können die einzelnen Komponenten des Systems in ihre eigenen Umgebungen laufen, mit ihren nötigen Abhängigkeiten. Über ein internes Netzwerk von Docker können die Umgebungen (Container) Daten austauschen. Mit NGINX können externen Anfragen auf die richtigen Umgebungen weiter geleitet werden.

Der größte Vorteil von Docker ist, dass vorkonfigurierte Docker Images auf jedem Server laufen kann. So muss der Code für das Projekt nur auf dem Server existieren und über Docker ausgeführt werden.

Auch bei der Entwicklung ist dies von Vorteil, weil über ein Kommando die komplette Applikation gestartet werden. Es ist jedoch zu empfehlen, diese Konfigurationen am Anfang des Projekts zu machen.

Datenbank Deployment

Eine ebenfalls wichtige Frage beim Deployment ist es gewesen, wie die Datenbank aufgestellt werden soll. Zur Auswahl gab es die Option, die Datenbank lokal bereitzustellen oder das Cloudservice von MongoDB, MongoDB Atlas zu verwenden.

Da das Cloud-Hosting von MongoDB mit Kosten kommt, war es vorteilhafter eine lokale Instanz zu verwenden. Ausserdem kommt es zu keinem Verlust von Daten, wenn diese ausfällt. Auch hier ist hier die Sicherheit ein großes Thema, was beachtet werden muss. Der Zugriff auf die Datenbank sollte möglichst eingeschränkt werden, damit keine fremden Akteure darf zugreifen.

Hosting

Das Projekt wurde auf einem von der TH-Köln bereitgestellten Server gehostet. Aus diesem Grund ist das Projekt nur über das VPN der TH-Köln erreichbar. Die Domains wurden ebenfalls von der TH-Köln bereitgestellt. Da "*.prototype.intia.de" zur Verfügung stand, mussten die Domains sinnvoll auf alle Applikationen aufgeteilt werden.

Domainverteilung

Die Domains wurden wie folgt aufgeteilt:

  • Backend: api.prototype.intia.de
  • Frontend: prototype.intia.de
  • Admin Dashboard: admin.prototype.intia.de

Die Domains wurden über nginx auf die richtigen Docker Container weitergeleitet.

Last updated on January 16, 2023