MacRumors

Skip to Content

Swift от Apple обеспечивает работу новой облачной системы Things 3

Cultured Code сегодня объявила, что полностью переработала облачную часть популярного приложения для управления задачами Things 3, используя язык программирования Apple Swift. Новая система теперь работает на всех устройствах пользователей.

swift things 3 cultured code
Cultured Code объяснила, что переход на новую инфраструктуру на базе Swift прошел без сбоев и какого-либо воздействия на пользователей. Хотя поведение приложения внешне осталось неизменным, базовая служба, которая синхронизирует списки задач на iPhone, iPad, Mac, Apple Watch и Apple Vision Pro, была полностью переписана на Swift и развернута в продакшене более года назад.

Устаревшая система изначально была построена с использованием Python 2 и Google App Engine и служила основой для Things Cloud более десяти лет. Хотя исходные алгоритмы синхронизации остались неизменными и основаны на математической модели, способной разрешать автономные изменения и конфликты, стареющий технологический стек все чаще рассматривался как препятствие для будущего развития. По данным Cultured Code, проблемы включали рост затрат на инфраструктуру, медленное время отклика и риски, связанные с динамической типизацией в Python.

Apple представила Swift в 2014 году; с тех пор он получил широкое распространение для разработки приложений под iOS и macOS, но его использование в серверных средах было ограничено. Cultured Code начала экспериментировать со Swift на сервере в 2021 году, первоначально переписывая отдельные компоненты, прежде чем приступить к полномасштабной перестройке.

Для обеспечения бесперебойной миграции новая система Swift изначально работала параллельно с устаревшей системой, получая и обрабатывая те же данные, но без выполнения операций, ориентированных на пользователя. Эта схема двойной обработки позволила инженерам проверить новую реализацию в условиях, близких к производственным. Как только команда убедилась в точности и производительности бэкенда на Swift, они перевели всех пользователей на новую систему в начале 2024 года.

Cultured Code сообщает, что новая система значительно улучшила производительность. Пиковые нагрузки трафика до 500 запросов в секунду теперь обрабатываются кластером Kubernetes, состоящим из четырех узлов, каждый с двумя виртуальными ЦП и 8 ГБ ОЗУ. Такая настройка привела к более чем трехкратному снижению вычислительных затрат по сравнению с устаревшей системой. Время отклика синхронизации также существенно улучшилось, а новая архитектура обеспечивает четырехкратное увеличение скорости обработки запросов синхронизации.

Things получила две дизайнерские награды Apple. Приложение высоко ценится за свою дизайнерскую согласованность и надежную синхронизацию во всей экосистеме Apple. Подробнее об изменениях читайте в полном сообщении блога Cultured Code или в ее сообщении в блоге Apple Swift.org.