Apple SwiftがThings 3クラウド同期システムに対応

Apple SwiftがThings 3クラウド同期システムに対応

1分で読めます
| ニュース

スウィフトクラウドヒーロー

受賞歴のあるタスクマネージャー「Things 3」の同期基盤であるThings Cloudが全面的に書き換えられ、AppleのSwiftプログラミング言語で完全に動作するようになりました。Thingsの開発元であるCultured Codeは、サーバーサイドのインフラストラクチャをレガシーシステムからSwiftベースのアーキテクチャに移行し、パフォーマンスの向上、コンピューティングコストの削減、メンテナンス性の向上を実現しました。

Cultured Codeによると、移行全体はサイレントモードで実行され、サービスが中断されることはありませんでした。新システムは1年以上稼働しており、Python 2とGoogle App Engineベースのレガシースタックが引き続きユーザーにサービスを提供している間、裏で実世界のデータを処理していました。新しいSwiftベースのインフラストラクチャが並行して検証された後、切り替えはシームレスに行われました。

Swiftがクラウドを席巻した理由

Cultured Codeは当初、老朽化し​​たバックエンドに起因する問題に直面していました。応答時間の遅さ、メモリ使用量の高さ、そして脆弱で型付けされていないPythonコードなどです。プッシュ通知でさえ、パフォーマンス要件を満たすために別のCベースのサービスで管理する必要がありました。これらの制限と、今後の廃止予定が重なり、チームは完全な再構築を検討するに至りました。

理想的なソリューションとして浮上したのがSwiftです。Appleプラットフォーム全体でThingsアプリで既に使用されていたSwiftは、強力な型付け、最新の言語機能、自動メモリ管理、そして優れたパフォーマンスを提供していました。当時、サーバーサイドの成熟度は限られていましたが、SwiftNIO、Vapor、そしてSwift Server Workgroupのようなコミュニティ支援の取り組みを含むSwiftのエコシステムが、必要な基盤ツールを提供しました。

Cultured Codeは3年かけてクラウドシステム全体をSwiftで書き直しました。新しいバックエンドは単一のモノリシックバイナリにコンパイルされ、ランタイムパラメータを介して複数のサービスを実行します。インフラストラクチャはAWSでホストされ、Terraformで管理され、デプロイメントはKubernetesとDockerによってオーケストレーションされています。主要なサービスには、MySQL(MySQLKit経由)、Redis(RediStack経由)、Apple Push Notificationサービス統合(APNSwift経由)などがあります。

パフォーマンスと信頼性

Swift.orgの報告によると、新しいクラウドシステムによりコンピューティングコストは3分の1以上削減され、応答時間も大幅に短縮されました。わずか4つのインスタンスで構成されるKubernetesクラスターで、1秒あたり500リクエストというトラフィックピークも容易に処理できるようになりました。従来のC言語ベースの通知サービスはSwiftに置き換えられ、運用とコードベースの両方が効率化されました。

耐障害性を確保するため、チームは毎日カオステストを導入し、サービスをランダムに中断することで堅牢なシステム復旧を実現しました。メトリクスとログはAmazon CloudWatchとSwift Prometheusを使用して監視され、PagerDutyを通じてアラートがトリガーされます。

数年にわたる刷新は、Cultured Codeの信頼性と革新への長期的な取り組みを示すものです。Swiftがクライアントコードとサーバーコードの両方で実行できるようになったことで、Thingsエコシステムはこれまで以上に統合され、将来性も確保されています。

Knowledge Network