Serverless: Cloudflare vereinfacht das Anbinden von Datenbanken
Partnerschaften mit MongoDB und Prisma sowie Database Connectors für relationale Datenbanken sollen Entwicklern den Einsatz von DBs an der Edge erleichtern.
Der Infrastruktur- und DNS-Dienstleister Cloudflare kündigt erweiterte Datenbankfunktionen für seine auf Entwicklerinnen und Entwickler zugeschnittene Serverless-Plattform Cloudflare Workers an. Das Unternehmen macht dazu seine Durable Objects nun allgemein verfügbar und gibt neue Datenbankkonnektoren für TCP-Verbindungen sowie Partnerschaften mit MongoDB und Prisma bekannt.
Mehr Speicheroptionen für die Anwendungsentwicklung
Mit den im vergangenen Jahr als Beta angekündigten Durable Objects hatte Cloudflare seine Workers-Edge-Computing-Plattform um eine Möglichkeit erweitert, das State-Management über Workers hinweg zu koordinieren, ohne dafür auf eine klassische Datenbank zurückgreifen zu müssen. Entwicklerinnen und Entwickler erhielten damit ergänzend zu den Datenspeichern Workers KV und R2 (S3-kompatibler Object Storage) eine Option, auch zustandsbehaftete Anwendungen wie kollaborative Whiteboards oder Spieleserver mit wenigen Zeilen Code umzusetzen.
Im Unterschied zu Datenbanken lassen sich Durable Objects einfach für die speziellen Anforderungen der Workers konfigurieren. Probleme durch die umfassende Nebenläufigkeit oder zu häufiger Transaktions-Rollbacks aufgrund der Koordinierung gemeinsam genutzter Schlüssel sollen sich durch die Durable Objects vermeiden lassen. Die Funktion ist ab sofort generell verfügbar und für den produktiven Einsatz freigegeben.
Insbesondere auch im Hinblick auf das Anbinden klassischer relationaler Datenbanken arbeitet Cloudflare an einer neuen API, die TCP-, UDP- und QUIC-basierte Protokolle zugänglich machen soll. Bisher sind Entwicklerinnen und Entwickler beim Einsatz der Cloudflare Workers auf http- und WebSocket-Verbindungen beschränkt.
Via Tunnel in die relationale Datenbank
Im ersten Schritt ermöglicht Cloudflare nun den Zugriff auf relationale Datenbanken wie Postgres und MySQL durch den Aufbau und das Verwalten eines Tunnels via cloudflared
. Die Vorgehensweise erlaubt eine Verbindung von http zu TCP über WebSockets. Der in der nachfolgenden Abbildung gezeigte Ansatz lässt sich anhand eines Postgres-Beispiels nachvollziehen.
Das Konzept setzt noch die Implementierung des Tunnels auf der Infrastruktur der Anwenderinnen und Anwender voraus. Von Cloudflare gehostetes Management der Datenbankverbindungen will das Unternehmen in künftigen Releases ergänzen und dann auch den nativen Support für TCP in Form der geplanten Socket Workers nachreichen.
Bis dahin haben Entwicklerinnen und Entwickler alternativ die Möglichkeit, ihre Wunschdatenbank über die bestehenden Integrationen mit Macrometa und Fauna hinaus über neue wie MongoDB Atlas und Prisma in die Cloudflare Workers einzubinden. Als ORM (Object-Relational Mapper) lässt sich Prisma beispielsweise nutzen, um Datenbankeinträge in Code umzuwandeln und diesen über den Prisma Data Proxy in Cloudflare Workers zu integrieren. Der Prisma Client arbeitet dabei mit den Datenbanken Postgres, MySQL, SQL Server, SQLite und MongoDB zusammen.
(map)