Cultured Code: Server-Backend von Things nun auch in Swift

Die Programmiersprache Swift wird in immer mehr Apps fĂĽr Apple-Plattformen verwendet. Cultured Code hat das nun auch beim Server getan.

vorlesen Druckansicht 2 Kommentare lesen
Things-Architektur mit Swift im Mittelpunkt

Things-Architektur mit Swift im Mittelpunkt: Nicht nur lokal geeignet.

(Bild: Cultured Code)

Lesezeit: 2 Min.
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Apples Programmiersprache Swift, in der zahlreiche iPhone-, Mac- und zunehmend auch Windows-Apps entwickelt werden, ist auch geeignet für den Serverbetrieb. Die Macher hinter dem beliebten Taskmanager Things vom deutschen Entwickler Cultured Code haben das nun für ihre eigene Anwendung demonstriert: Seit Frühjahr läuft das Backend der Things Cloud darauf.

Der Synchronisationsdienst sorgt dafür, dass die Daten aus Things zwischen den unterstützten Geräten verteilt werden – das sind derzeit nahezu alle Apple-Plattformen, also iPhone, iPad, Mac, Apple Watch und Vision Pro. Ursprünglich lief das Backend mit Python 2 auf Googles App Engine. Das sei zwar stabil gewesen, man habe aber schnell Einschränkungen gespürt, schreibt Cultured Code. Dazu gehörten ein hoher Speicherbedarf, der die Infrastrukturkosten nach oben trieb, relativ langsame Antwortzeiten und das problematische Static Typing in Python 2, das Speichervorgänge verkomplizierte.

Videos by heise

Zudem mussten die Macher für ihr Push-Benachrichtigungssystem einen eigenen C-basierten Dienst entwickeln und pflegen. Aufgrund all dieser Schwierigkeiten und der Tatsache, dass verschiedene Abkündigungen von verwendeten Bibliotheken anstanden, entschieden sich die Things-Macher schließlich für einen vollständigen Rewrite von Things Cloud. Dieser sollte, genauso wie Things selbst, in Swift erfolgen, nachdem sich andere Entwicklungsumgebungen wie Java, Go, C++ oder ein Sprung auf Python 3 ausschlossen. Positiv sei auch gewesen, schreibt Cultured Code, dass Swift "seit langem" auf Linux sauber kompiliert und es bereits seit fast zehn Jahren eine Swift-Server-Workgroup gibt. Cultured Code entschied sich weiterhin zur Verwendung des Swift-on-a-Server-Pakets Vapor sowie der SwiftNIO-Bibliothek.

Endergebnis ist nun, dass die Things Cloud auf AWS mit Terraform und Kubernetes läuft. Inhalte von Things landen via HAProxy auf dem Swift-Server, Mail-Inhalte via Lambda uns SQS. Zum Ausspielen und Speichern von Daten werden RediStack, MySQLKit, Soto (in Richtung S3) und Apples APNSwift (für Benachrichtigungen) verwendet.

Im Ergebnis reduzierten sich sowohl die Compute-Kosten als auch die Antwortzeiten: Dreimal günstiger soll die Swift-Architektur sein, bei einer viermal geringeren Response Time. Weitere Details zum Umstieg von Things Cloud auf Swift hat Cultured Code in einer Präsentation von der ServerSide.Swift-Konferenz zusammengefasst.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externer Preisvergleich (heise Preisvergleich) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (heise Preisvergleich) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

(bsc)