
仮想化は過去10年間で大きく変化しました。クラウドコンピューティングといった流行語と密接に関連していますが、仮想化は長年にわたり共有サーバーの基盤技術として機能してきました。仮想化されたマシンは、パブリックな共有クラウドとは異なり、プライベートなものです。今日では、サーバーの統合やアプリケーションのテストによく利用されています。これにより、企業は複数のシステムタイプでレガシーアプリケーションを継続的に利用しつつ、サーバーをパーティション分割することが可能になります。
参照: 採用キット: クラウド エンジニア (TechRepublic Premium)
仮想化はいつ使用すべきでしょうか?
これには多くの利点があり、物理ハードウェアのスペースとコストを節約できる可能性や、一貫性と信頼性の向上などが挙げられます。今日の仮想化は、多くの場合コンテナ化によって実現されます。コンテナ化とは、オペレーティングシステムのライブラリとアプリケーションの依存関係をコンテナにパッケージ化し、あらゆるインフラストラクチャで実行できるようにすることです。コンテナ化は「ポータブル」であるため、作成、設定、展開にかかる時間を短縮できます。
しかし、物理的な環境の方が適しているものもあります。これらを理解することで、物理的な環境とデジタル環境をどのように分割するかを決めるのに役立ちます。
仮想化すべきでない9つのこと
小規模なITチームによるプロジェクト
キッチンに料理人が多すぎることがあるように、キッチンが多すぎて料理人が少なすぎることも考えられます。仮想化を決定する前に、既存の人員とリソースを慎重に評価してください。
インフラネット・テクノロジーズ・グループの副社長兼最高営業責任者であるジョン・リヴセイ氏は、「ITスタッフが少なく、セキュリティ上の懸念も少ない」企業は、仮想化を自力で進めるよりもクラウドプロバイダーを利用した方がよいかもしれないと述べています。仮想マシンを作成しても、チームが既に抱えている過剰な負担の問題を解決できるわけではありません。
最高性能システム
仮想化はストリーミングなどの比較的高パフォーマンスなプロセスに対応できる能力を備えて進化してきましたが、メモリを大量に消費するプロジェクトには適していません。メモリ不足や、利用可能なメモリをオーバーコミットすると、パフォーマンスの問題が発生する可能性があります。サーバー仮想化は物理的なスペースを節約しやすくなりますが、それでも大量のメモリを必要とします。
冗長性を十分に持たないほど新しいもの
電源に関しては、常にバックアップを用意しておくのがベストプラクティスです。サーバーの仮想化についても同様です。仮想化に踏み込みすぎて、元のサーバーが備えていた冗長性を損なうような事態は避けましょう。元に戻せない変更を行う前に、仮想サーバーとそのバックアップが正常に動作するか必ずテストしてください。
物理的環境の要石
修復しようとしているVMが、建物への入室に必要な網膜スキャナーも制御していたらどうでしょうか?ここで2つ目の問題が発生します。VM上のソフトウェアは、物理的な制御へのアクセスに唯一の手段であってはなりません。特に、それらがミッションクリティカルな場合や、サーバー上で作業する人々に問題を引き起こす可能性がある場合はなおさらです。また、高パフォーマンスによって古いサーバーで物理的なジッタが発生する可能性についても考慮する必要があります。
高セキュリティ情報
VMは物理VMほど安全ではありません。なぜでしょうか?VMを実行するには何らかの接続が必要であり、権限を制限した場合でも、社内の誰かがVMを本来の意図よりも広範囲のユーザーに公開してしまう可能性があるからです。
解決策の一つとして、すべてのセキュリティ規制やガイドラインを常に把握し、VMがそれらを回避できないようにすることが挙げられます。組織内に必ずしも悪意のある人物がいるとは限りません。利便性を狙った抜け穴によって権限が回避される可能性もあります。支社など、特定のグループに情報を公開する必要がある場合は、読み取り専用のドメインコントローラーを使用するのも良いでしょう。
循環依存を生み出す可能性のあるもの
VMは循環依存関係にある場合、注意深く管理する必要があります。VMが別の仮想化サービスに依存している場合、そのサービスが予期せずオフラインになり、制御不能になる可能性は避けたいものです。良好なコミュニケーションはこうした状況の回避に役立ちますが、緊急事態は考慮されていません。ローカルログオンや、仮想システムと物理システム間の制御の分割は、こうした事態を防ぐのに役立ちます。ここでの共通のテーマは、一般的なベストプラクティスでもあります。単一障害点を作らないように努めてください。
アプリケーションが多すぎる
Microsoftは、Hyper-Vサーバーをセットアップする際に、他のアプリケーションを追加しないことを推奨しています。これは、稼働中のアプリケーションやサービスが少ないほど、メインイベントのパフォーマンスが向上するためです。また、これはセキュリティ対策としても有効であり、攻撃対象領域の縮小という観点からも有効です。結局のところ、利用可能なアプリケーションやサービスが少ないほど、攻撃者が悪用できる範囲も狭まるのです。
ハイパースレッディング
特にSQLサーバーにおいては、ハイパースレッディングはメリットにもデメリットにもなり得ます。ハイパースレッディングを介して仮想コアをループさせると、スレッドがSQLサーバーと領域を競合するため、パフォーマンスの問題が発生する可能性があります。SQL Serverの仮想化は既にリソースを大量に消費するため、ハイパースレッディングの有無にかかわらず、必要な仮想CPUを必要とします。
仮想マシンの拡散リスクがあるシステム
物理システムと同様に、新しいプロジェクトを開始する前に、実際に何が存在するかを把握することが重要です。異なるソフトウェアや物理的な場所に分散したVMが存在すると、VMスプロール(必要なVM数に対してVMが多すぎる状態)に陥りやすくなります。これは効率を低下させ、行き過ぎるとパフォーマンスの問題を引き起こす可能性があります。