ホーム エッジ コンピューティング エッジコンピューティングにおける可用性について

エッジコンピューティングには高可用性が必須条件です。ここでは、可用性とは何か、可用性を高めるためにはどうすればよいか、そして、なぜエッジコンピューティングにおいて高可用性が必須といわれるのかについてお伝えします。

可用性とは何か

皆さんは、使っているPCがトラブルを起こし、困った経験はありませんか?  このような場合、本来の目的のためにPCは修理するまで使えなくなってしまいます。直るまでの間、PCは使うことができません。このようなケースで稼働率が低くなったPCを「可用性が低い」といいます。逆に、壊れにくく安定稼働を続けている状況であったり、故障したとしてもすぐに修理できる体制が整っていたりするなどにより稼働率が高いシステムを「可用性が高い」といいます。すなわち、可用性とはシステムをどれだけ「使いたいときに使えるか」だと考えることができます。ここで注意が必要なのは、「信頼性」、「保守性」といった意味が似ている言葉があることです。「信頼性」とは主にシステムの壊れにくさを表しています。壊れにくさとは「立ち上げてからどれくらいトラブルを起こさず動作するか」ということ。一般的に信頼性は平均故障間隔(「Mean Time Between Failure」を略してMTBFともいいます)という指標を使って時間ベースで表されます。このMTBFの数値が大きい方が故障するまでの間隔が長くなるため、信頼性が高いということです。

もう1つの「保守性」は、メンテナンスや修理の容易さを表しています。すなわち、「トラブルが発生してからどれくらいで回復するか」ということです。これも時間ベースで考えることが一般的で、こちらは平均修理時間、あるいは英語でMTTR(Mean Time To Recovery)という指標が使われています。MTTRはMTBFと反対に、数値の小さい方が良いです。つまり、復旧までの時間が短いほど保守性が高いといえます。
可用性は一般に「稼働率」といい、MTBFをMTTRとMTBFの和で割った値となります。つまり、信頼性や保守性を向上させると可用性も向上するという関係が成立するのです。
生産システムも含めて、どんなシステムでもコストの許す限り可用性は高い方が良いので、可用性を上げるための様々な工夫がなされています。具体的に見ていきましょう。

可用性を上げるためにはどうすればよいか

  1. 冗長性を持たせる
    可用性を上げるために、システムに「冗長性」を持たせることがよく行われます。冗長性を持たせる例の1つは、同じシステムを2つ用意するというケースです。2つのシステムを交互に動かせば、もし片方が止まってしまっても、もう一方のシステムで稼働を継続できます。稼働システムは1つになってしまいますが、常に同様のシステムを使い続けられるようになるのはメリットが大きいといえます。身近なところでは、旅客機は必ず2つ以上のエンジンがついているのも、冗長性を持たせて可用性を確保するためです。
  2. 情報システムの場合
    情報システムの場合、多くの実績があり、安定したバージョンのOSやソフトウェアを使うことも一つの方法です。これらのソフトは、不具合があってもベンダーの対応が早く、バグやトラブルの原因があってもすぐに解消されることが多く、比較的安定した動作が期待できます。
  3. 生産システムの場合
    生産システムの場合、保守性の向上を図るというアプローチも可用性を上げる1つの手法です。最近では、保守にかかる時間を短縮し、故障の発生を予知することを目的として、製造装置にセンサを設置することが多くなっています。製品や装置の不自然な動きをセンサで検出し、それをエッジサーバーで処理し、すばやく修理担当者に通知する仕組みを構築しておけば、不具合が発生してから修理開始までの時間を短縮することが可能です(遠隔監視)。また、エッジサーバーに学習能力を持たせれば、故障の予知を行うことが可能となります。これを予知保全といい、エッジコンピューティングはこの実現に大きく貢献する技術とされています。

エッジコンピューティングにおける可用性の高さの必要性

ここまでに見た可用性に関する基礎知識をもとに、高い可用性が求められる具体的なシーンとして半導体製造ラインについて考えて見ましょう。半導体製造ラインの大敵はチリやホコリです。なぜかというと、半導体はナノメートル(10億分の1メートル)単位で設計されており、当然製造においても大変微細な作業を行うことになります。このため、人間の目には見えないようなチリやホコリでも、ナノメートルの世界では大きな影響が出ることがありえるのです。

ホコリやチリは空気に乗って動くので、空気の流れが乱れると拡散していきます。このため、空気の流れも常に制御する必要があり、クリーンルームではダウンフローと呼ばれる必ず上から下へ空気が流れる仕組みになっています。さらには、ドアの開閉でも空気は乱れるので、クリーンルームの出入り口を2重ドアにすることで極力影響が出ないようにするといった徹底ぶりです。

しかし、こうした厳重な仕組みを破ってしまう要素となるのが人間です。人間はどうしても動くので空気の流れを乱します。また、汗や呼吸によって半導体ウェハを汚染してしまう可能性もあります。これらの人体由来の汚染物質は、人間が活動している限りどうしても出てしまうもので、止めることはできません。

このため、クリーンルーム内には、ラインの立ち上げや、メンテナンス以外は極力、人を入れずに無人稼働を行うことが多くなっています。先にも挙げたエッジコンピューティングを用いた遠隔監視は、こうした環境で非常に効果的と考えられています。

また、ラインの総価格が極めて高額であることも高い可用性が求められる理由の1つです。半導体の製造は非常に微細な加工を行うため、極限に近い精度を求められることが多く、それが可能なラインは数百億から場合によっては1,000億円を超すことも珍しくありません。加えて、需要の波が大きく変化する市場構造でもあるため、製造ラインを一気に立ち上げるために設備投資を行うことが普通です。そして、行った設備投資の早期回収を目的として、24時間365日稼働することになります。こうした環境で、製造装置の可用性が高いレベルで要求されることは、ある意味では当然のことなのです。

このような、高いレベルの可用性を有している製造ラインに可用性の低いエッジコンピューティングを導入したらどうなるでしょうか。本来、エッジサーバーに求められる機能は、製品のデータを収集することだけなく、製造装置の突然停止や不具合を監視し、担当部署に通知することです。ということは、いつ発生するかわからない不具合やトラブルを常に監視することが求められます。常時監視を続けなくてはならないエッジサーバーが頻繁に止まっていては、製造装置のトラブルを拾うという必要な役目を果たせません。つまり、エッジサーバーの高可用性は、エッジサーバーに求められる基本的な機能ということができるでしょう。

コストの許す限り、エッジサーバーには高可用性のものを選ぶべき。

最近では、さまざまな製品の販売サイクル寿命が短くなってきています。そのため、生産ラインを素早く立ち上げ、一気に設備投資を回収するというスタイルはもはや製造業にとってそれほど珍しいことではなくなりました。これは、無人稼働や24時間365日稼働がどんどん当たり前になっているということでもあります。こうした環境で要求される高可用性を実現するために、生産システムにエッジコンピューティングを導入することが考えられるでしょう。ただし、エッジサーバー自体にも生産システムに見合うだけの高可用性がなくてはなりません。したがって、コストの許す限り、エッジサーバーの可用性は高いものを選ぶのがベストな選択だといえるのです。

関連記事