エッジでKubernetesを実装する新しいプラットフォームをIntelとSpectro Cloudが紹介
Kubernetesがサーバーサイドのコンテナオーケストレーションだとすれば、若干取り残されている感があるのが、エッジのプラットフォームだろう。エッジで使われるOS、プラットフォームは物理的に小さなフォームファクターで、メモリーやプロセッサなどのリソースに制限がある中でさまざまな使われ方が存在する。オープンソースソフトウェアだけでもLinux Foundation配下のYocto、LF Edgeが推進するAkraino、EdgeX Foundry、車載向けのAGL(Automotive Grade Linux)、医療やエネルギーなどセキュリティが重視される領域を想定したELISAから、コマーシャルベースだとRed Hatが発表したRed Hat Enterprise LinuxとMicroShiftをベースにしたRed Hat Device Edge、Canonicalが推進するUbuntu Coreなど、もはや選択するのが難しいほどの混みあいようだ。
そのような状況でIntelがSpectro Cloudと一緒に発表したSENAというプラットフォームに関するセッションと、Spectro CloudのJeremy Oakey氏のインタビューを紹介する。
Gupta氏はAWSからAppleを経てIntelへ、Malik氏も元CiscoでSpectro CloudのCTO&Co-Founderという経歴の持ち主で、プラットフォーム関連の知識と経験を豊富に持っているベテランだ。
アムステルダムで開催されたKubeConの前日に半日の共催イベントとなったKubernetes on Edge Dayだが、そのスポンサーキーノートとして行われたのが約7分の動画だ。タイトルは「Redefining the Architecture for Edge-Native Apps - Saad Malik & Arun Gupta」で、IntelとSpectro Cloudが共同で開発するSENAというプラットフォームに関する紹介となっている。7分の動画では詳しい内容が伝わらないため、Spectro Cloudのブースで説明を行っていたJeremy Oakey氏に別途インタビューを行った。Oakey氏も元Ciscoという経歴の持ち主でエンタープライズ向けのシステムについては経験豊富なエンジニアだ。
Gupta氏とMalik氏のセッションは以下を参照されたい。
●動画:Redefining the Architecture for Edge-Native Apps - Saad Malik & Arun Gupta
まず自己紹介をお願いします。
Oakey:私はSpectro CloudのVP of Field Engineeringというポジションで顧客やパートナーを担当する仕事をしています。プリセールスや顧客対応、事例なども含まれますね。顧客対応という中には24時間365日の顧客対応も含まれますので、金曜日の深夜に顧客から「助けて欲しい」というコールがあれば即対応することもあります。
それは大変ですね。開発部門は別にあるんでしょう?
Oakey:あります。私のチームにはインフラストラクチャーに詳しいエンジニアもアプリケーション側のエンジニアもいますので、多くのケースに対応できるようになっています。私のバックグラウンドとしては、主にインフラストラクチャーを担当してきました。データセンターのインフラ、ネットワークやセキュリティなども含みますが、顧客が何を求めているのかは常に注視しています。
今回のIntelとの連携ソリューションについて教えてください。
Oakey:このソリューションを開発するに至った背景、トレンドとしては、まずスキルギャップが存在するということがあります。これまでサーバーが仮想化からクラウドになり、今は、コンテナオーケストレーションに進化していますが、Kubernetesを深く理解するエンジニアというのは極少数なわけです。
次にクラウドがメガクラウド、つまり超巨大なデータセンターを複数使って実行するような形態に移行しています。それに伴ってエッジのユースケースも拡大しています。これは単に巨大な企業がエッジに最新のコンピューティングモデルを使うというだけではなく、数十台という規模から数百台、数千台という規模で各支店などの拠点にばら撒かれるようになったというのがあります。
つまりエキスパートがいないのに大量のエッジデバイスを管理運用する仕事が発生している?
Oakey:そうです。すでに数台のクラスターを管理できれば良いという時代は終わっています。その時に我々が注目したのはKubernetesのCluster APIだったのです。これを使えば複数のクラスターを同時に管理できるようになります。Spectro CloudがCluster APIのコミュニティに貢献を行っているのは、このような大量のクラスターの管理を容易にするために必要だからです。我々のソリューションは公開されているAPIを最大限に使い、プロプライエタリーなAPI、例えばAWSに特化したコールなどは使わないようにしています。これはエンタープライズがさまざまなソフトウェア、プラットフォームを使うことを前提とすれば当然ですが、なるべくオープンな仕様を採用するようにしています。そうすることで例えば「モニタリングをこれにしたい」「コントロールプレーンはこうやって使いたい」などの顧客からのリクエストに応えることができますから。
我々の最初の顧客はT-Mobileでしたが、彼らはCluster APIを使っているソリューションだけを求めていました。これはT-Mobileのネットワーク事業ではなくバックオフィス、つまり全米に拡がる店舗を支援するシステムだったんですが、Cluster APIを使って複数のクラスターを管理するというのが仕様だったんです。Spectro CloudはCluster APIを使っていましたし、貢献もしていましたので彼らが選択するベンダーに残れたというわけです。当時、Rancherもその商談に参加したがっていましたが、彼らのソリューションはCluster APIを使っていなかったんですね。なので外されてしまいました。
デトロイトで開催されたKubeCon NA 2022で発表したのですが、T-Mobileの次に顧客となったGE Healthcareは全米各地の病院にMRIなどのシステムを納入しています。そのシステムについてKubernetesで実装したいという意向がありましたが、その時の問題点はKubernetesそのものではなく「いかにDay 2オペレーション(運用の段階)を行うか?」という点だったのです。レガシーなシステムとの連携も必要でしたし、システムが稼働始めてからの毎日の運用を容易にしたいというのがニーズでした。
具体的にはどういうことですか?
Oakey:システムが稼働し始めてから、何も起こらなければ誰もがハッピーなんですが、そうはいきませんよね。電源が入らない、エラーが出る、ネットワークに繋がらない、さまざまなトラブルに遭遇します。特に支店でのシステムなどはシステムに詳しい人が操作するわけではありません。パートタイムの従業員が操作する場合もあるでしょうし、ひょっとしたらそのコンピューターが盗難に遭うことも想定しないといけないのです。そういう状況の時に時給の高いエンジニアが機材を運んで設定して準備するという方法ではなく、ハードウェアは配送、箱から出して電源とネットワークケーブルを挿せばすぐにOSや必要なソフトウェアがダウンロードされて稼働し始めるというのがDay 2オペレーションのあるべき姿です。実際、支店の条件によってはコンピューターにディスプレイがつながっていない場合すらあるので、ログインもしないでセキュアにシステムが立ち上がるという仕組みが必要なんです。
今回、Intelと一緒にやっているシステムについて教えてください。
Oakey:これはSecure Edge-Native Architecture(SENA)と呼ばれるエッジ向けシステムです。ベースにIntelのTPMやSGXというテクノロジーを使って、その上にSpectro Cloudが開発しているオープンソースのKairosというOSをコンテナイメージとして扱うためのソフトウェアを組み合わせています。これはエッジ向けのディストリビューションとしてさまざまなLinuxを、コンテナ化されたアプリケーションのように管理するための仕組みです。
●参考:Kairosのホームページ
Oakey:このシステムは数百、数千という規模でエッジデバイスを管理しないといけないような場合に最適なソリューションになっています。これについては我々とIntelは別々にそれを実現するコンポーネントを持っていました。でもセキュアに大量のエッジデバイスを管理するという目標が、IntelとSpectro Cloudのどちらも同じ方向だということに気付いたんですね。そこで2社で話をし始めたのが数か月前、それが今(2023年4月)の時点ですでに形になっています。それはレゴブロックのようにさまざまな機能を組み合わせることでシステムを組み上げることが可能になったのが背景にあります。
支店レベルのコンピューティングモデルをKubernetesとIntelのセキュアなハードウェアで実装するというシステムだと思いますが、将来計画は?
Oakey:現時点ではエッジ側のクラスターはネームスペースで分離されていますが、これを真のマルチテナンシーにしたいというのが次の計画です。マルチクラスターの管理とDay 2オペレーションはかなり実現できています。それをさらに進めて、例えばアプリケーションベンダーが独自の管理区分を作れるようにするというのがマルチテナンシーの一つの役割です。今はまだネームスペースベースなのですが。
ではSpectro Cloudのチャレンジとは何ですか?
Oakey:最初のチャレンジは、我々も知らないような新しいプロジェクト、ソフトウェアを顧客がSpectro Cloudの上で試したいと言ってきたら、それを実現できるようにすることです。つまり顧客やパートナーが新しい機能を組み込むためのレゴブロックを、自分たちで作れるようにすることです。
Kubernetesに限りませんが、OSSのコミュニティはあまりにも活発なため、新しいプロジェクトは毎日のように生まれていますよね。私が今日初めて聞いたプロジェクト、ソフトウェアは実はすでにCNCFのサンドボックスに半年前から入っているかもしれません。そういう新しいプロジェクト、ソフトウェアをすべて知ることはできないのです。
2つ目はさまざまな機能のレゴブロックが出てきた時に、それらをすべて適用しようとすれば運用はとても面倒なことになります。それぞれのベンダーが新しい機能やバグフィックスを入れたパッケージを用意してきますが、各々の仕様にそった変更を行うわけです。例えば必要なCPUコアの数が増えているかもしれません。実際に変更されたパッケージが要求するコア数を全て足しこんでみたら、必要なコア数が実際のクラスターのコア数よりも多いなんてことも起こるかもしれません。つまり複数の変更が発生した際にそれをそのまま本番環境に適用するのではなく、最適化することが必要です。別の環境でテストを行って最適なサイズやパラメータ、更新のタイミングや順番などを顧客側で確認してから行えるような仕組みを取り入れることですね。
3つ目は前にも言いましたが、マルチテナンシーです。これは例えばペプシとコカ・コーラが同じクラスター上でお互いが見えないようにするということです(笑)。そのためにVirtual Clusterという機能が導入されています。これはハードウェアの上のKubernetesクラスターの上に仮想のKubernetesクラスターを実装するというやり方でアイソレーションを実現する方法です。それを上手くCluster APIと組み合わせて、ネームスペースベースではないアイソレーションを実現できます。この仕組みのもう一つのメリットは、これが実現するとベアメタルのクラスターを立ち上げるより起動時間が圧倒的に短くなるということです。この辺りが次の製品におけるチャレンジですね。
Spectro Cloudはいわゆるシステムインテグレーションを行うベンダーだが、オープンソースコミュニティに能動的に参加することで、ベンダーロックインを避けるためには何が最適か、Day 2オペレーションをどうすべきか、を具体的に推進している企業と言えるだろう。T-MobileやGE Healthcareなどのユースケースを詳細に語るOakey氏の言葉は実際に顧客と問題点の解決のために日夜奮闘していることが感じられた。
Cluster APIを仕様に採用するT-Mobileもそうだが、エンドユーザーもシステムインテグレーターも積極的にオープンソースにコミットしながらも、解決したい問題点からはブレずにシステムを構築し運用していく姿を感じるインタビューとなった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon Europe 2024、IntelのArun Gupta氏にインタビュー
- CNCFのWebinarから、AdobeとAkamaiがwasmCloudを解説したセッションを紹介
- 写真で見るKubeCon Europe 2024 ベンダーやコミュニティプロジェクトの展示を紹介
- IntelとAT&Tが推進するEdgeプラットフォームAkrainoとは?
- 中国人のためのイベント、Open Infrastructure Summit上海開催
- Linux Foundationが語るハーモナイゼーション2.0とは?
- OpenStack Summit 2018 Vancouver開催 リアルな情報交換の場となったイベント
- KubeCon EU 2021でRed Hatが発表した複数のKubernetesを制御するkcpを紹介
- KubeCon Europe 2024に日本から参加したメンバーで座談会@桜の木の下
- wasmCloudのCosmonicのCEOが新しいデモを紹介