筆者は間違っていた。Canonicalが「Docker」コンテナと軽量なLinuxディストリビューションを独自に組み合わせた「Ubuntu Core」を発表することを最初に知ったとき、Ubuntu Coreはおそらく純粋なサーバ向けOSだろうと筆者は思った。それは見当違いだった。「Ubuntu Linux」の親会社であるCanonicalは、Ubuntu Coreをモノのインターネット(Internet of Things:IoT)のためのOSにしたいとも考えている。
UbuntuとCanonicalの創始者であるMark Shuttleworth氏はブログ投稿で次のように述べている。
「標準的なプロセッサを基に構築された、素晴らしい技術革新からもたらされる、『インターネットに接続された、さまざまなスマートなモノ』によって、私たちの自宅や仕事、遊びが再定義されようとしている。そうしたプロセッサは、ほぼすべての『モノ』をスマートなモノに変えることが理にかなう程度までに、消費電力と価格が低下した。Ubuntuは既に、自動運転車から宇宙プログラム、ロボット、さらに時には空港のディスプレイまで、さまざまなデバイスに広く普及している。私は、当社が次の技術革新の波を支えられることに興奮を覚えているが、同時にそれに伴う諸々の責任についても十分に考えている。それを踏まえて、われわれは今日、多種多様なボードやチップ、チップセットで利用できる「Snappy Ubuntu Core」を発表する。この機敏なシステムとUbuntu Coreは、OSおよびアプリケーション向けのセキュリティアップデートを必要とするだけでなく完全な信頼性と自己修復能力も備えていなければならない、分散型のコネクテッドデバイスに最適だ」
Ubuntu Coreが自己修復可能なのは、大半のOSと異なり、変更を施す必要があるときに、OSやアプリケーションにパッチを当てるのではなく、コンテナ化された軽量なスタック全体が取り替えられるからだ。さらに、Ubuntu Coreでは、個々のOSファイルとアプリケーションファイルが読み取り専用のイメージなので、マルウェアにも感染しづらくなっている。
元々クラウドを想定して開発されたUbuntu Coreをさまざまなデバイスと効率的に連携させるため、Canonicalはハードウェア抽象化レベルをこの新しいUbuntuのバージョンに追加した。今回の初めてのベータリリース「Ubuntu Core on Internet Things」では、ARMv7アーキテクチャとx86-64アーキテクチャの両方がサポートされている。
アーキテクチャに関係なく、Ubuntu Coreはクラウドでも、デバイスでも、同一のアプリケーションプログラミングインターフェース(API)とセキュリティアップデートを備えた、全く同じ単一のプラットフォームを提供する。Canonicalでデバイスエンジニアリング部門を率いるAlexander Sack氏は声明の中で、「組み込み型デバイス向けの開発がかつてないほど容易になった。クラウド上のUbuntu Coreは、テストと開発に理想的なプラットフォームだ。自分のデバイスをオンラインでシミュレートして、シミュレートされたデバイスを必要に応じて何千台も起動することができる」と述べた。
Canonicalのデバイスエンジニアリング部門担当バイスプレジデントであるVictor Palau氏は、それをx86で試したければ、「余っているノートPCやPCが最初の開発ボードになる」と主張している。「古いPCを家庭用のストレージサーバに変えたり、余っているノートPCや仮想マシン上でロボットアプリのプロトタイプを作ったりすることも可能だ」(Palau氏)
ARMv7側では、Ubuntuは多種多様なARMボードで動作する。Ubuntu Coreの最低動作要件は、600MHzのプロセッサと128MバイトのRAMだ。さらに、デバイスには、工場出荷時の状態へのリセットとシステムのロールバック用に4Gバイトのフラッシュも必要だ。Ubuntu Core自体は40MバイトのRAMしか利用しないため、残りのストレージはアプリケーションに使うことができる。CanonicalはARM開発者向けに、55ドルの「BeagleBone Black」と35ドルの「ODROID-C1」を推奨している。BeagleboneでUbuntu Coreをセットアップする方法について、Canonicalは詳細な手順を説明している。
CanonicalのInternet Things部門担当バイスプレジデントであるMaarten Ectors氏は、「Ubuntuで、Internet Things向けのアプリストアがオープンした。Ubuntuによって、ノートPCで優れたデバイス向けに素晴らしいアプリを開発し、クラウド上でテストして、多様なデバイスで構成される世界市場に直接公開する一連の作業を容易に行うことができる」と語っている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。