BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AppleがSiriのバックエンドをApache Mesosで再構築

AppleがSiriのバックエンドをApache Mesosで再構築

原文(投稿日:2015/05/03)へのリンク

Appleは,人気のiOSベースのインテリジェント・パーソナルアシスタント・アプリケーションであるSiriのバックエンドとして,オープンソースのクラスタマネージャであるApache Mesosを利用していることを発表した。Meososphereブログには,同社がJ.A.R.V.I.S.という名のプロプライエタリなPaaSライクのスケジュールフレームワークを新たに開発して,スケーラブルで高可用性な方法でのSiriサービスのデプロイを可能にしている,ということが述べられている。

Apache Mesosクラスタマネージャは,(物理および仮想)マシンのCPUやメモリ,ストレージなどのコンピュータリソースを抽象化することにより,フォールトトレラントでエラスティック(elastic)な分散システムの構築と,その効率的な稼働を可能にする。Linuxカーネルと同じ思想を使って構築されていて,異なるのは抽象化のレベルのみだ。Mesosカーネルはすべてのマシン上で稼働し,データセンタとクラウド環境全体を対象としたリソース管理やスケジュールのためのAPIを通じて,アプリケーションフレームワークを提供する。Appleは,J.A.R.V.I.S.という名称のプロプライエタリなスケジュールフレームワークを独自に開発して,Siriのバックエンドサービスを運用している。

J.A.R.V.I.Sは ‘Just A Rather Very Intelligent Scheduler’ の頭文字語で,映画“アイアンマン”に登場するインテリジェントコンピュータアシスタントにちなんで名付けられた。AppleではJ.A.R.V.I.S.を,社内向けのPaaS(プラットフォーム・アズ・ア・サービス)として使用している。Siriのバックエンド開発に従事する開発者は,これを使って,iOSユーザのパーソナルアシスタントアプリケーションへの音声クエリに応答する,スケーラブルでレジリエント(resilient)なサービスのデプロイを行うことができる。

Mesosphereブログによると,Appleの開発者たちは,カリフォルニアのクパティーノにある本社で行われたミートアップの席で,同社が数千台のノードを持ったMesosクラスタを運用していることを話したという。Siriアプリケーションをサポートするバックエンドは,およそ100種類のサービスで構成されている。そのアプリケーションデータは,HDFS(Hadoop Distributed File System)のデプロイメント内にストアされる。Mesosの利用は,Siriのインフラストラクチャ面でのスケール性と可用性に寄与すると同時に,iOSアプリケーション自体のレイテンシも改善している。

このMesosバックエンドは,Siriの第3世代プラットフォームとして,これまでデプロイされてきた“従来型”インフラストラクチャから移行したものだ。Mesosphereブログには,AppleのMesosでの開発とJ.A.R.V.I.S.が,Mesosphere MarathonMesosphereデータセンタオペレーティングシステムの一部,あるいはTwitterインフラストラクチャチームによって当初開発されGoogleのBorgプロジェクトと同じコンセプトを持つApache Auroraなどといった,長時間稼働するアプリケーションサービス用のPaaSライクなフレームワークのオープンソース化に先行したものであることが示唆されている。

Mesosphere Inc.のシニアリサーチアナリストであるDerrick Harris氏は,Mesosphereブログの中で,SiriがApache Mesosクラスタマネージャを使用しているという公式発表は,Mesosの完成度が認められたものだ,と述べている。

AppleがSiriという,数億のiPhoneやiPadユーザが毎日発する,Appleのみが知る数のクエリを処理する複雑なアプリケーションの土台としてMesosを信頼するのであれば,それはMesosの完成度の高さと,あらゆる業種の企業に対して大きな影響を与える存在であることを,何よりも雄弁に語っています。

InfoQはMeosphere副社長のMatt Trifiro氏に連絡を取り,今回の発表がMesosへのアプリケーション展開を検討中の業界や,ソフトウェア技術者に与える影響について聞くことにした。

InfoQ: Appleの発表がMesosやMesosphereにとって重要なのはなぜでしょう?

Trifiro: Appleの発表は,同社がSiriを再構築して,すべてをMesos上で動作するようにした,というものです。繰り返しますが,これは,大規模なコンテナのオーケストレーションや新たな分散システムの構築において,Mesos — Mesosphoere DCOS内の分散カーネル — が代表的な存在になったことを実証するものです。

InfoQ: 誰もがAppleではありません。他にもMesosを採用した従来型企業はあるのでしょうか?

Trifiro: AppleやTwitterといった企業は,インフラストラクチャの大部分をこのテクノロジに移行しようとしています。SiriやTwitterを支える技術であるMesosの信頼性がどれ程のものなのか,考えてみてください。しかしながら,オープンソースであるApache Mesosは,非常に先端的なテクノロジです。実際にそれを運用するには,オープンソースを使った手作業によるスタック構築という,非常に難しい作業が必要になります。そしてそこに,Mesosphereの活躍の庭があるのです。歴戦で鍛え上げられたこのテクノロジに基づいた,完全なDCOS(Datacenter Operation System)を構築するにあたって,私たちはそれを,どのような組織でも利用可能なものとして完成させています。TwitterやAppleが利用しているものと同じパワーとオートメーションを,TwitterやAppleでなくても活用できるのです。

InfoQ: AppleはMesos API用のスケジューラ(J.A.R.V.I.S.)を直接開発しました。これはどういうことでしょう?

Trifiro: Mesosの最もパワフルな面のひとつとして,新たな分散システム構築のためのプリミティブを提供する,というものがあります。Mesosより前に開発されたHadoopのような分散システムを検討しているのであれば,数十万行のコードが必要な上に,その大部分は既存の機能の再開発に他なりません。すべてのフェールケース,すべてのネットワーク,すべてのメッセージ転送やリソースアロケーションを処理するコード - このようなものは,何度も書くべきではないのです。Mesosカーネルの一部としてこれらを提供することによって,高可用性と柔軟性を備えた新しい分散システムを,基本的な機能をすべて複製することなく,短期間に開発可能になります。開発者はビジネスロジックに専念すればよいのです。

InfoQ: MesosとMesosphere DCOSには,どのような関係があるのですか?

Trifiro: Mesosphere DCOSは,データセンタないしクラウドの全マシンを対象とする,新しいタイプのオペレーティングシステムです。すべてのマシンをプールして,あたかもひとつの巨大なコンピュータのように動作します。一方のMesosはApacheのオープンプロジェクトで,このオペレーティングシステム内のカーネルです。私たちはこのカーネルを,initシステム(marathon)やファイルシステム(HDFS),アプリケーションのパッケージとデプロイを行うシステム,グラフィックUI,CLIといった,たくさんのコンポーネントでラップしました。これらのものすべてが,DCOSを形成しています。AppleのYosemiteや,あるいはAndroidなどOSを見れば,それらがカーネル(それぞれBSDとLinux)を持ち,その周辺にすべてのシステムサービスやツーリングを加えることによって,カーネルをラップトップやスマートフォンとして価値のあるものにしている,ということが理解できるでしょう。これと同じことを,私たちはデータセンタのために行ったのです。

Siriのバックエンド稼働にMesosを利用しているという,Appleの発表のさらなる情報は,Mesosphereブログで見ることができる。

この記事に星をつける

おすすめ度
スタイル

BT