商用Linux OS付属のDockerがもたらすメリット
myLoc社が省電力で高集約のカートリッジ型のサーバを導入し、物理サーバホスティングを行った背景には、電力削減、サーバ集約以外に、ゲストOSの数と仮想化ソフトウェアの初期費用の関係が挙げられます。有償の仮想化ソフトウェアは、同時に稼働できるゲストOS数によって価格が大きく異なるものが存在します。また、仮想化の機能を提供するサーバ向け商用Linux OS製品によっては、同時に稼働できる最大ゲストOS数を制限したものが存在します。
では、ゲストOS数の制限に縛られずに仮想化基盤を構築するにはどうすればよいのでしょうか?一般的に、同時に稼働できる最大ゲストOS数を無制限にしたい場合は、無償のLinux OSを採用するという方法もありますが、ベンダーの保守サポートが必要な場合は、Red Hat Enterprise Linux Virtualization(通称RHEV)で代表されるような商用の仮想化専用製品や、OpenStackなどのクラウド基盤ソフトウェア製品が検討されます。
多くの場合、仮想化ソフトウェアは、同時に稼働させるゲストOSの数が増えると、OSの購入費用が増える傾向にありますが、このような仮想化ソフトウェアにおけるゲストOSの数による購入費用の増加は、ホスティング事業者にとって、新規事業の立ち上げの足かせになりかねません。実際、myLoc社では、ソフトウェアに掛かる費用を抑えるため、CentOSやUbuntu Serverと呼ばれる無償のLinux OSをユーザーに提供しています。これらのLinux OSには、仮想化の機能が搭載されており、ゲストOSを無制限に利用できます。
では、無償のLinux OSでも仮想化専用製品でもクラウド基盤ソフトウェアでもなく、有償の保守サポートを受けられる通常の商用Linux OSを使って無制限にゲストOSを利用することは不可能なのでしょうか。このようなニーズに応える解決策の1つの候補がDockerです。実は、一般的なサーバ向け商用Linux OSに付属するDockerエンジンでは、同時に稼働できるDockerコンテナ数が無制限のため、Dockerコンテナをいくら増やしてもホストで稼働する商用Linux OSの追加費用は発生しません。このことから、商用Linux OSに付属のDockerを導入することで、ベンダーの保守サポートが得られ、さらに高集約コンテナ基盤の実現が期待できます。
Dockerならば、同時稼働コンテナ数は無制限
カートリッジ型サーバとDockerの関係
myLoc社が採用している超省電力のAtomプロセッサを搭載したカートリッジ型サーバのスペックは、CPUが8コア、メモリが32ギガバイトです。最近では、仮想化環境において、1つのゲストOSあたり、1人のユーザーで、4コア以上のCPUや数ギガバイトから数十ギガバイトのメモリを利用することも当たり前になっています。そのような状況において、8コアのCPUと32ギガバイトのメモリ容量しか搭載していないサーバでKVMやRHEVを使った仮想化によるゲストOSの提供は非現実的です。
もし、導入済みのAtomプロセッサのカートリッジを使って、さらに集約度を高めた基盤に変えたいならば、Dockerの採用が検討されてもおかしくありません。Dockerであれば、計算資源の消費を抑えた軽量なコンテナ環境を提供できますので、低スペックのカートリッジでも、複数のOS環境やアプリケーション環境をDockerコンテナとして稼働させることができ、システム全体の利用率と集約度向上が期待できます。
また、ベアメタルクラウドサービスを提供しているホスティング事業者は、サービスレベルに応じて異なるスペックのハードウェアを顧客に提供するために、旧式のサーバ群もサービス基盤に組み込んでいるケースが多く見られます。そのため、myLoc社でも導入済みのAtomプロセッサを今後も活用することが大いに考えられます。myLoc社のホスティング基盤は、CentOS、Ubuntu Serverなどの無償のLinux OSが稼働していますが、CentOSやUbuntu ServerでもDockerは稼働できますので、現状のAtomプロセッサで稼働するOS環境をそのまま活用し、Dockerを活用したホスティング環境を構築することができます。
2016年現在、サーバ用の16コアのXeonプロセッサと128ギガバイトのメモリ容量を搭載したカートリッジ型サーバも登場していますので、KVMによる仮想化で集約度をあげることも可能ですが、旧式の低スペックのカートリッジ型サーバにはDockerが有用といえるでしょう。カートリッジ型サーバは、高密度設計による集約度向上や省電力設計が重視されるため、汎用のラックマウント型サーバに比べると、どうしてもハードウェアスペックが限定されてしまいます。そのため、ハイパーバイザ型の仮想化ソフトウェアで大量のゲストOSを稼働させるといった使用には不向きですが、Dockerのような新しい技術を駆使すれば、低スペックのカートリッジ型サーバでもうまくシステムを効率よく稼働させることができます。
クラウドコンピューティングといえば、ハードウェアを排除したIT基盤というイメージがあるかもしれませんが、実は、多くのホスティング事業者において、ライセンスコストや集約率、電力の問題を解決するために、カートリッジ型サーバなどを駆使したベアメタルクラウド基盤が提供されています。汎用のx86サーバに比べ、ハードウェア資源が限られるカートリッジ型サーバだからこそ、仮想化ではなくDockerによるハードウェアの有効利用が期待できるのです。
カートリッジ型サーバとDocker
- 古賀政純
- 日本ヒューレットパッカード オープンソース・Linuxテクノロジーエバンジェリスト
兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバのSE及びスーパーコンピュータの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレットパッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は、日本ヒューレットパッカードにて、Linux、FreeBSD、Hadoop、Dockerなどのサーバ基盤のプリセールスSE、文書執筆を担当。Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「Docker実践ガイド」「OpenStack 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。