Swift di Apple alimenta il nuovo sistema cloud Things 3
Cultured Code ha annunciato oggi una profonda revisione del backend cloud della sua popolare app di gestione delle attività, Things 3. La riprogettazione è stata realizzata utilizzando Swift, il linguaggio di programmazione di Apple, e il nuovo sistema è ora attivo per tutti gli utenti.
La transizione alla nuova infrastruttura basata su Swift è avvenuta senza intoppi e senza interruzioni per gli utenti, come ha spiegato Cultured Code. Sebbene l’interfaccia e le funzionalità dell’app rimangano invariate, il servizio sottostante che sincronizza le liste di cose da fare tra iPhone, iPad, Mac, Apple Watch e Apple Vision Pro è stato completamente riscritto in Swift ed è in produzione da oltre un anno.
Il sistema precedente, costruito originariamente con Python 2 e Google App Engine, ha rappresentato il fondamento di Things Cloud per più di un decennio. Nonostante gli algoritmi di sincronizzazione originali, basati su un modello matematico in grado di risolvere modifiche offline e conflitti, siano stati mantenuti, la tecnologia obsoleta era percepita sempre più come un ostacolo al futuro sviluppo. Cultured Code ha indicato come problemi principali l’aumento dei costi infrastrutturali, i tempi di risposta lenti e i rischi associati alla tipizzazione dinamica di Python.
Apple ha introdotto Swift nel 2014 e, da allora, è stato ampiamente adottato per lo sviluppo di app iOS e macOS, ma ha avuto un’adozione limitata negli ambienti server. Cultured Code ha iniziato a sperimentare con Swift sul server nel 2021, inizialmente riscrivendo componenti isolati, per poi impegnarsi in una ricostruzione completa.
Per garantire una migrazione fluida, il nuovo sistema Swift è stato inizialmente eseguito in parallelo con il sistema precedente. Riceveva ed elaborava gli stessi dati, ma senza occuparsi delle operazioni rivolte all’utente. Questa configurazione a doppio processo ha permesso agli ingegneri di validare la nuova implementazione in condizioni simili a quelle di produzione. Una volta che il team è stato soddisfatto della precisione e delle prestazioni del backend Swift, ha trasferito tutti gli utenti al nuovo sistema all’inizio del 2024.
Cultured Code riporta che il nuovo sistema ha ottenuto significativi miglioramenti nelle prestazioni. Picchi di traffico fino a 500 richieste al secondo sono ora gestiti da un cluster Kubernetes composto da quattro nodi, ciascuno con due CPU virtuali e 8 GB di RAM. Questa configurazione ha portato a una riduzione di oltre tre volte dei costi di calcolo rispetto al sistema precedente. Anche i tempi di risposta della sincronizzazione sono migliorati notevolmente e la nuova architettura offre un aumento di quattro volte della velocità di elaborazione delle richieste di sincronizzazione.
Things ha vinto due Apple Design Awards. L’app è molto apprezzata per la coerenza del suo design e per l’esperienza di sincronizzazione affidabile nell’ecosistema Apple. Per saperne di più, leggi il post completo sul blog di Cultured Code o il post sul blog Swift.org di Apple.
