Ежедневно миллионы владельцев iPhone и iPad обращаются к Siri. Каждый отправляемый на естественном языке запрос обрабатывается на основе специализированных алгоритмов на серверах Apple, после чего возвращается пользователю в виде понятного ответа. Легко представить нагрузку на серверную часть.
Математика проста: миллионная армия обладателей iOS-устройств означает запредельное количество запросов к серверам. Доставка данных происходит практически в режиме реального времени: пользователи должны немедленно получать ответ на вопрос. Виртуальный помощник должен быть доступен сто процентов времени. Как это удается?
Пользователь сайта Reddit с ником Fleole, знакомый с сотрудником Apple, рассказал, как устроены серверные мощности Siri. По его словам, для каждой страны, за исключением США, для обработки голосовых запросов выделена целая серверная стойка. Для Штатов используется сразу три инстанса – все зависит от количества пользователей iPhone и iPad в регионе.
Каждая серверная стойка комплектуется четырьмя блейд-шасси HP BladeSystem c7000 Enclosure – в каждом по восемь серверов HP ProLiant BL660c. Apple использует стандартную конфигурацию компьютеров, единственное, объем оперативной памяти увеличен до 1 ТБ. Серверы Siri обходятся без жестких дисков, компьютеры загружаются с внешних устройств хранения данных (SAN). В том случае, если сервер выходит из строя, его просто извлекают из инстанса, ставят новый и запускают.
В общей сложности за обработку Siri отвечают 32 сервера с 1024 ядрами и 32 ТБ оперативной памяти. По расчетам, каждая серверная стойка обошлась Apple почти в миллион долларов, без учета затрат на техническую поддержку и сопровождение.