Apple’s Siri Leverages Apache Mesos
Question: What makes the latest version of Siri, the personal assistant and "knowledge navigator" in the Apple iOS, tick?
Answer: The Apache Mesos open-source cluster manager, according to a Mesosphere blog post.
Apple developers announced the shift to Apache Mesos to help run the third generation of Siri during an April 23 gathering at the company's headquarters in Cupertino, Calif. They cited reduced latency along with the ability to scale and deploy new services on the application handling Siri queries as key reasons for switching to the open source Mesos platform.
Mesosphere, the application platform and cluster management vendor, also described Apple's custom scheduler based on Mesos called JARVIS (Just A Rather Very Intelligent Scheduler). Apple is using JARVIS as its internal platform-as-a-service (PaaS), making it easier for Apple developers to deploy services needed to handle Siri users' voice queries.
Mesosphere said that functionality is similar to its open source Marathon framework that runs on top of Apache Mesos.
"Siri’s Mesos backend represents its third generation, and a move away from 'traditional' infrastructure," the blog post noted, adding that the Apple Mesos cluster "spans thousands of nodes" while running about 100 services that make up the Siri application backend. "It's one of the largest Mesos clusters around," the open source developer claimed.
The Mesosphere blog also claimed Apple's adoption of Apache Mesos signals that the cluster manager is maturing and could help application developers leverage untapped cloud computing resources. A development partnership with Google announced last year aims to do just that. "There hasn’t yet been a great way to get those things at scale in the cloud or in your own datacenter," the blog noted. Hence, Mesos is being promoted as an open source platform that can boost scaling, flexibility and resource sharing.
Promoters also said Apple's adoption of Apache Mesos to build JARVIS illustrates how more developers are building PaaS infrastructure to launch jobs on Mesos. Along with JARVIS, Twitter built Apache Aurora, the service scheduler used to schedule jobs on Apaches Mesos.
Ultimately, the Apache Mesos community is targeting the building and scaling of applications like Siri that take advantage of containers, micro-services and "big data frameworks," Mesosphere said.
Apple's JARVIS platform is built along the same lines as Mesosphere's Marathon framework, which is shipped with its datacenter operating system. That approach aims to deliver a PaaS capability running on top of the Mesos infrastructure.
Along with Twitter and Apple, Mesosphere has also worked with search giant Google in a development partnership aimed at helping customers deploy hyper-scale infrastructure. Google, Mesosphere and container technology specialists announced plans to contribute to Google's open source Kubernetes project designed to allow customers to manage Docker software containers on the Google Compute Engine public cloud.
The Mesos framework called Aurora is intended to run applications and services across a shared pool of machines. Kubernetes is used to manage clusters of Linux containers across multiple hosts.