How Swift's server support powers Things Cloud

You might be familiar with Things, a delightful personal task manager that has won two Apple Design Awards and is available across Apple devices including iPhone, iPad, Mac, Apple Watch, and Apple Vision Pro. At Cultured Code, the team behind Things, we care about a great user experience across every aspect of the product. This extends to our server back end, and after a rewrite our Things Cloud service has transitioned entirely to Swift. Over the past year in production, Swift has consistently proven to be reliable, performant, and remarkably well-suited for our server-side need.

swift.org/blog/how-swifts-server-support-powers-things-cloud/

The Things Cloud service, powering the Things task manager app, has transitioned to a Swift-based architecture, replacing a legacy Python 2 and Google App Engine system that suffered from slow response times and high memory usage.

The rewrite, leveraging Swift’s performance, memory management, and C/C++ interoperability, uses Vapor, SwiftNIO, and packages like MySQLKit, Soto, and APNSwift, hosted on AWS with Terraform, Kubernetes, and monitoring via Swift Prometheus and Amazon CloudWatch.

After a year in production, the Swift-based system handles 500 requests per second with four instances, reducing compute costs threefold and improving response times, while replacing a custom C-based push notification service with a simpler Swift solution.

The transition was tested alongside the legacy system to ensure reliability, and the SSWG encourages other teams to explore Swift for server-side development, citing its modern, efficient, and robust ecosystem.


Category:

Tag:

Year: