Things Cloud, l’épine dorsale de synchronisation du gestionnaire de tâches primé Things 3, a subi une réécriture complète, désormais entièrement alimentée par le langage de programmation rapide d’Apple. Le code cultivé, l’entreprise derrière les choses, a transféré son infrastructure côté serveur des systèmes hérités à une architecture basée sur Swift, offrant des performances plus rapides, réduit les coûts de calcul et amélioration de la maintenabilité.

Selon Code cultivétoute la transformation a été exécutée en silence, sans aucune perturbation de service. Le nouveau système est en production depuis plus d’un an, le traitement des données du monde réel sous le capot tandis que la pile LEGACY Python 2 et Google App Engine a continué à servir les utilisateurs. Une fois que la nouvelle infrastructure basée sur Swift a été validée en parallèle, l’interrupteur a été retourné de manière transparente.

Pourquoi Swift a repris le nuage

Le code cultivé a d’abord fait face à des problèmes de montage avec son backend vieillissant: des temps de réponse lents, une utilisation élevée de la mémoire et un code Python fragile et non typlé. Même les notifications push ont dû être gérées par un service distinct C pour répondre aux demandes de performance. Ces limitations, associées aux dépréciations à venir, ont incité l’équipe à envisager une reconstruction complète.

Swift est devenu la solution idéale. Déjà utilisé pour l’application Things sur les plates-formes Apple, Swift a offert une frappe solide, des fonctionnalités linguistiques modernes, une gestion automatique de la mémoire et d’excellentes performances. Malgré la maturité limitée du côté serveur à l’époque, l’écosystème de Swift, y compris Swiftnio, Vapor et des efforts soutenus par la communauté comme le groupe de travail Swift Server, ont fourni les outils de base nécessaires.

Sur trois ans, le code cultivé a réécrit l’intégralité de son système cloud dans Swift. Le nouveau backend se compile en un seul binaire monolithique qui exécute plusieurs services via des paramètres d’exécution. L’infrastructure est hébergée sur AWS et gérée via Terraform, avec des déploiements orchestrés via Kubernetes et Docker. Les services clés incluent MySQL (via MySQLKit), Redis (via RedisTack) et Apple Push Notification Service Intégration (via Apnswift).

Performance et fiabilité

Comme indiqué par Swift.orgle nouveau système cloud a réduit les coûts de calcul de plus de trois fois et a raccourci considérablement les temps de réponse. Un groupe Kubernetes de seulement quatre instances gère désormais facilement les pics de trafic de 500 demandes par seconde. L’ancien service de notification basé sur C a été remplacé par Swift, rationalisant à la fois les opérations et la base de code.

Pour la résilience, l’équipe a introduit les tests quotidiens du chaos, perturbant les services au hasard pour assurer une récupération robuste du système. Les métriques et les journaux sont surveillés à l’aide d’Amazon CloudWatch et de Swift Prometheus, avec des alertes déclenchées via PagerDuty.

Les signaux de refonte pluriannuels ont cultivé l’engagement à long terme du Code envers la fiabilité et l’innovation. Avec Swift exécutant maintenant le code client et le serveur, l’écosystème des choses est plus unifiée et à l’épreuve du temps que jamais.



Articles connexes