🐥 Swift в Apple: перенос службы мониторинга паролей с JavaОчень полезная статья про миграцию с Java на Swift внутри серверной инфраструктуры Apple. Чем примечателен этот опыт? Менеджер облачных паролей в Apple это продакшн сервис с громадным количеством инстансов, репликацией данных и большим RPS. Понятное дело, что Apple вынуждены "догфутить" Swift on Server подходы, но тем интереснее реальный опыт:
🔵Swift активно используется для создания облачных сервисов в Apple.
🔵В прошлом году была перезаписана служба мониторинга паролей на Swift.
🔵Обновленная серверная часть обеспечивает повышение производительности на
40%.Функции приложения Passwords
🔵Приложение помогает пользователям управлять паролями и ключами доступа.
🔵Мониторинг паролей предупреждает пользователей о утечках данных.
🔵Система мониторинга работает на базе инфраструктуры Linux и поддерживается Apple.
Причины перехода на Swift
🔴Необходимость повышения производительности сервиса мониторинга паролей.
🔴Java не соответствовала растущим требованиям и целям повышения эффективности.
🔴Поиск более эффективного языка для поддержки роста и снижения нагрузки на сервер.
Преимущества Swift
🟢Выразительный синтаксис и простота освоения.
🟢Повышение производительности для удовлетворения требований вычислительных нагрузок.
🟢Реализация основывается на Vapor.
🟢Возможность использовать те же криптографические библиотеки что и на клиентах.
🟢Безопасность типов в языке и асинхронность, упрощающие работу с параллелизмом.
Результаты и выводы
🟣Сокращение количества строк кода на 85%.
🟣Повышение пропускной способности на 40% при задержках менее 1 мс.
🟣Меньший объем памяти на инстансах и высвобождение ресурсов для других рабочих нагрузок.