ベアメタル 【bare metal】
概要
ベアメタル(bare metal)とは、「むき出しの金属」という意味の英語表現だが、IT分野ではコンピュータシステムを構成する物理的なハードウェアそのもののことや、ハードウェアを直に制御することなどを指す。ベアメタルサーバ
サーバの運用方式の文脈では、仮想化などが行われておらず、利用者がハードウェアを直接操作してシステムの導入や運用、管理を行う方式を「ベアメタルサーバ」(bare-metal server)という。
仮想化が普及する以前のホスティングサービスなどがこの方式で、顧客ごとに一台ずつ物理サーバを用意して貸与する。現在では仮想化されたクラウドサービスなどと区別する文脈で専有サーバ方式をこのように呼ぶ。
ベアメタルクラウド
クラウドサービスでも、仮想化を行わず利用者が直に物理サーバを操作できる方式で提供されるものがあり「ベアメタルクラウド」と呼ばれる。
通常のクラウドサービスとは異なりサーバを複数の契約者で共有せず、各利用者は物理サーバを専有して使用できる。従来型のホスティングサービスと異なり、申し込み後すぐに利用できる、時間や処理量に応じた従量課金、遠隔から物理操作が可能であるなど、クラウドサービスの特徴を備えている。
ベアメタル型ハイパーバイザ
仮想化技術の分野では、オペレーティングシステム(OS)などのソフトウェア上で動作するのではなく、ハードウェアを直に制御して仮想マシン(VM:Virtual Machine)の作成や運用を行う方式の仮想化ソフト(ハイパーバイザ)のことを「ベアメタル型ハイパーバイザ」という。
ホストOS型ハイパーバイザと異なり中間にソフトウェアを挟まないため処理効率が高いが、ホストOSがないため導入や管理には高度な知識を要する。様々なOSを動作させられるという利点はあるものの、近年ではホストOS自体を独立した区画に分割してしまうコンテナ型仮想化の方が好まれるようになってきている。
ベアメタル実装
コンピュータプログラムについてベアメタルという場合は、OSを介さずハードウェアを直に制御するプログラムのことを指す。機械語のプログラムをCPUで直接実行し、装置の制御などもプログラムから直接行う。
OSなどを介さず実行するため高速でメモリ効率もよく、消費電力なども少なくなる。通常はOSなどが用意してくれる機能などもすべてのプログラム内に実装しなければならないため、プログラムは複雑になり、移植性や互換性、開発効率なども悪くなる。
ハードウェア資源をOSが掌握してアプリケーションに直接触らせない現代的なOSが普及する以前のソフトウェアは基本的にベアメタル方式だった。現代でも、特定用途の組み込みシステムの制御プログララムやファームウェアなど、ハードウェアを直に制御する必要がある特殊な用途はこの方式で実装される。