Laden...

Lokale C# WPF Appliaktion auf Cloud Datenbank umrüsten

Letzter Beitrag vor 6 Monaten 8 Posts 597 Views
Lokale C# WPF Appliaktion auf Cloud Datenbank umrüsten

Verwendetes Datenbanksystem: Cloud SQL Server

Guten Tag zusammen,

aktuell habe ich eine C# WPF Applikation lokal auf einem Rechner laufen der eine lokale SQLite Datenbank verwendet. Die Applikation soll nun auf weiteren Rechnern installiert werden und somit benötige ich ein DBMS welches am besten in der Cloud laufen soll, da kein eigener Server zur Verfügung steht.

Hat jemand mit so einer Architektur (lokale App - Cloud Datenbank) Erfahrung und ist das überhaupt empfehlenswert? Falls ja, könnt ihr einen Anbieter empfehlen?

Viele Grüße

Datenschutzgrundregel: Datenbanken hängen nie direkt im Internet. Deine WPF Anwendung darf also nicht direkt mit der Datenbank kommunizieren. Auch lokal (innerhalb einer Firma) ist das prinzipiell alles andere als eine gute Idee oder gar Empfehlung.
Alle großen Cloud-Anbieter verbieten auch per default die Datenbank direkt über das Internet verfügbar zu machen; das muss explizit inkl Warnung erfolgen.

Deine Client-Anwendung sollte also mit einem HTTP API Service sprechen, und nicht mit der Datenbank direkt.
Die Verbindung von Service zu DB findet dann geschützt statt; auch die Verbindung von WPF zu Service muss geschützt und authentifiziert stattfinden (sogar eine gesetzliche Vorgabe).

Du sprichst in Deinen Anforderungen nur von "Cloud Datenbank" - das kann theoretisch alles und nichts sein.

Das eine Datenbank nicht direkt über das Internet erreichbar sein soll ist verständlich, meine Frage ist vermutlich zu unpräzise gestellt.

Wenn man ein konkretes Beispiel wie Cloud SQL von Google hernimmt, hat hiermit jemand schon Erfahrung? Ich gehe mal davon aus das Google einen entsprechenden HTTP API Service bereistellt über den ich mit der Datenbank sprechen kann oder?

Ich gehe mal davon aus das Google einen entsprechenden HTTP API Service bereistellt über den ich mit der Datenbank sprechen kann oder?

Natürlich nicht. Das musst Du selbst entwickeln. Überall. Das ist schließlich ein Logikbaustein Deiner Anwendung.
In .NET entwickelt man sowas i.d.R. mit ASP.NET Core als Backendtechnologie.

Cloud-Anbieter bieten Dir aber Services an diesen HTTP Service dann zu betreiben; auf Google zB die App Engine oder Compute Engine.

Okay vielen Dank für die schnelle Antwort, ich werde mich mal näher mit dem Thema beschäftigen.

Eine Frage hätte ich aber noch: Du hast gemeint man sollte auch lokal nicht direkt mit einer Datenbank sprechen. Was wäre hier denn die empfohlene Vorgehensweise wenn die Datenbank sowie die Applikation auf einem Rechner liegen?

Mit "lokal" war hier als Vergleich das lokale (Firmen)Netz gemeint; habs oben präzisiert.

"Lokal" einem Rechner kann eine Anwendung durchaus direkt mit der Datenbank sprechen.
Das ist in kleineren Szenarien, wo Skalierung keine Rolle spielt, auch ein gängiger Weg (auch wenn aus Sicherheitssicht zwei getrennte Maschinen immer noch der bessere Weg ist).

Ich habe bisher immer nur mit Datenbanken gearbeitet welche auf dem selben Rechner lagen wie die Applikation selbst.

Mit einem Datenbankserver welcher über HTTP API Services angesprochen wird, habe ich bisher keine Erfahrung. Hast evtl. einen Tipp für einen Kurs (Udemy etc.) oder Literatur in dem das Thema näher beschrieben wird?

Viele Grüße

Für die Google Cloud gibt es diverse .NET-Beispielprogramme: Google Cloud Platform .NET Docs Samples (u.a. cloud-sql )

Diese Beispiele zeigen jedoch den direkten Zugriff und Anzeige der Daten.

Für eine Web-API solltest du mit Tutorial: Erstellen einer Web-API mit ASP.NET Core starten.

PS: Dies solltest du jedoch nicht alleine umsetzen (da du bisher keine Erfahrung damit hast) - ich hoffe, es gibt noch andere erfahrene Entwickler bei euch, die sich mit Web-Sicherheit und Server-Datenbanken auskennen?

Andere Frage: Sind die Rechner denn nicht alle im selben Firmennetz? Dann könntet ihr doch (ersteinmal) einen Datenbankserver bei euch aufsetzen und eine firmeninterne Lösung erarbeiten (dies würde auch das Testen vereinfachen).

Hinweis von Abt vor 6 Monaten

Die VPN-Diskussion, die mit dem Thema hier inhaltlich nichts zutun hat, wurde in https://mycsharp.de/forum/threads/125578/client-vpn-als-einsatz-bei-datenbanken-in-der-cloud?page=1#forumpost-3840878 verschoben.