Private Cloudって言うな！ 混迷を極める「会社専用クラウド環境」を分類して見た

はじめに
-------

Qiita見られてる人はAWSやGCPと言ったパブリッククラウドを普段使われる人が大半かと思います。
しかし、業界によっては「クラウド使いたいけどパブリックはなぁ」と(説明)コストやしがらみでなってしまう企業も多いと思います。

そんな中で魅惑のワードが「プライベートクラウド」。
これは簡単に言ってしまえば「クラウド技術を使って企業向けの専用環境を持てる」と言うものです。

クラウド使いたいけど、他者との環境共有はなぁって思ってた所に最適です！ が、ここに大きな落とし穴が。
それは単純に各企業が言う「プライベートクラウド」がそれぞれ異なる意味を持ってるからです。「パブリッククラウドでは無い」と言うくらいしか共通の定義が無くNoSQL並みに曖昧な言葉なんです。

例えばIBMが言うPrivate CloudとOracleの言うPrivate Cloudは全く異なり、それぞれメリデメも違います。
なので、A社が言ってる「プライベートクラウド」のつもりでB社のプライベートクラウドを機能だけ見て評価導入を検討するとやばい事になります。

ついでに言えばVPCとかベアメタル環境とか、パブリッククラウドの一部だけど占有っぽい環境というのもあります。
最近、ちょっと調査したので理解の整理も兼ねて分類して見ます。

会社専用クラウド環境の一覧
---------------------

まずはリストアップ。
カテゴリは一般的にパブリッククラウドと呼ばれるか、プライベートクラウドと呼ばれるかです。特に「プライベートクラウド」と言われてる時はコンテキストによって変わるので、オンプレなのかホスティングなのかは必ず確認が必要です。

| Category         | Name                       |例|Description|
|:-----------------|:---------------------------|:---|:------------------|
| Public           | VPC(Virtual Private Cloud) |AWS VPC, その他|各サーバにグローバルIPを与えずプライベートIPを付与してネットワーク的に隔離する方式 |
| Public           | シングルテナント|AWS, GCP|単一の物理ホストを占有で契約してその上に仮想インスタンスを置く方式|
| Public           | ベアメタル|AWS, OCI, IBM|仮想環境では無くハードウェア、またはハイパーバイザを直接提供する方式|
| Private           |ホスティング|IBM, Virtustream|ホスティング業者が提供するDC環境に自社専用のクラウド環境を作る|
| Private           |オンプレ(アプライアンス)|OCI, Azureなど|クラウドスタックが入ったラックを自社DCに設置しクラウドベンダーが面倒をみる|
| Private           |オンプレ(自前)|OpenStack, VMwareなど|自前で自社DCにクラウド環境を構築する|

多いですねー。クラウドで「特定企業向けの専用環境」と言った場合はこのくらいは分類があるので注意が必要です。

### VPC

VPCはもっとも手軽な専用環境です。というか普通は使うでしょう。
各インスタンスにグローバルIPをふらない事でネットワーク的なリスクを大幅に下げます。FWをちゃんとしておけばグローバルIPでも大丈夫ですが、無意味に晒す必要はないのでVPCを作成した上でDMZや踏み台サーバを使うオンプレ時代から使ってる一般的な構成を作るのが無難でしょう。

#### メリット

低コストで必要十分な論理的な分割ができるため基本的なセキュリティの担保が可能

#### デメリット

インフラ的にマルチテナント(相乗り)なのは変わらないので、ノイジーネイバー（うるさい隣人）を防げない

### シングルテナント

AWSの[Dedicated Hosts](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)やGCPの[単一テナントノード](https://cloud.google.com/compute/docs/nodes/)が該当します。
こちらはパブリッククラウドの特徴の一つであるマルチテナントはせずに物理サーバ単位で占有を行いその上で仮想環境を動かす方式です。

コストは増えますがホストマシンのコア課金する某DB製品を筆頭とした商用ライセンスの絡みや、コンプライアンスの関係でマシンを占有する必要があるときに有効です。

ただし、その特性上コンピュート以外はシングルテナント化されないと思うのでデータの置き先になるObject Storage等は共有インフラだ、ということは意識して置きましょう

#### メリット

パブリッククラウドでありながら物理マシンを占有できるのでライセンス、コンプライアンスの問題がクリアでき、ノイジーネイバー問題の発生もほとんど無くなります。

#### デメリット

クラウドベンダー的に非効率なので割高です。またストレージやネットワークを始めとして完全に共有リソースがなくなるわけではありません。

### ベアメタル

仮想環境では無くハイパーバイザへの直接アクセスを提供しハードウェアを直接占有して利用できる方式です。
AWSの[ベアメタルインスタンス](https://aws.amazon.com/jp/ec2/instance-types/i3/)やOCIの[Bare Metal](https://cloud.oracle.com/compute)、IBMの[ベアメタルクラウド](https://www.ibm.com/cloud-computing/jp/ja/ibm-cloud_iaas/bare-metal/)が該当します。

シングルテナントと似ていますが仮想環境では無いというのが大きな差分かと思います。
その為、セキュリティというよりは性能面で採用するケースが多いかと思います。vmwareのような別な仮想環境を載せたり、SAPのようなワークロードの巨大なミドルを入れるのに適しています。

#### メリット

ハイパーバイザーを直接叩けるので性能面の優位があります。またVMwareのような仮想マシンも動くので、既存の環境を移行させやすいです

#### デメリット

仮想インスタンスに比べて高いのと、シングルテナント同様にコンピュート以外には通常は共有環境になります。

### プライベートクラウド(ホスティング型)

DC上に専用環境を構築しクラウドを利用する方式です。多分エンタープライズの文脈で一番欲しいのはこれ。
IBMの[プライベート・クラウド・ソリューション](https://www.ibm.com/cloud-computing/bluemix/ja/private-cloud)やVirtustreamの[Virtustream Enterprise Cloud](https://www.virtustream.com/cloud/virtustream-enterprise-cloud)などが当てはまります。

自社で何も所有する事なく完全占有のクラウド環境が作成できますが、この中でもさらにバリエーションがあります。

クラウドコンソールから操作できるものから、契約やリソース変更のたびに担当者に連絡が必要なほとんど単なるDCホスティングと同様なものまで色々です。
大手がIBM以外ではあまり手を出してない領域でもあるので、必然的にそこまでメジャーでは無い会社がプロバイダとなるので詳細は良く確認して契約するべきかと思います。

#### メリット

ストレージも含めて完全占有でのクラウド環境が構築可能。ただし、会社によって内容のばらつきが大きいので詳細をきちんと調べることが必要。

#### デメリット

課金方式やスピード感が単なるDCホスティングと遜色がない場合もあるので自分達に必要なものかは調査する必要がある

### プライベートクラウド(オンプレ - アプライアンス型)

自社で所有するDC上にベンダーがマネージドする機器をリースで配置してクラウド環境として利用する方式。
Microsoftの[Azure Stack](https://azure.microsoft.com/ja-jp/overview/azure-stack/)やOCIの[Oracle Cloud Machine](https://cloud.oracle.com/en_US/cloud-at-customer)などです。

オンプレ環境に配置するのでコンプライアンス周りは心配ありません。また、Azure, OCIとそれぞれ親和性が高いのでハイブリッドクラウドを作るための環境としても適しています。

一方で、IaaS部分が従量課金じゃないケースもありますし、リソースが足りなくなったからといってラックをすぐに追加で導入はできないのでElastic性の課題があります。

#### メリット

コンプライアンスの心配がない形で導入が可能なので、一部だけをオンプレに残したハイブリッドクラウド時の環境として有用です

#### デメリット

DCを所有する必要がありますしElastic性もかなり低いです

### プライベートクラウド(オンプレ - 自作型)

自社で所有するDC上に自前でクラウド環境を構築する方式です。
既存の仮想化との線引きは困難ですし区別の意味があるかも不明ですが、個人的にはOpenStackなどを使いIaaSやPaaSレイヤーをインフラチームが見ないならクラウドな感じがします。

VBlockやNutanixのようなハイパーコンバージドインフラや、HPEの[HPE GreenLakeフレックスキャパシティ](https://www.hpe.com/jp/ja/services/flexible-capacity.html)やDellの[DFS Flex on Demand](https://www.dellemc.com/en-us/flexibleconsumption/flex-on-demand.htm)のような従量制のハードウェアを使えばElastic性もある程度確保が可能

#### メリット

インフラのライフサイクルとアプリのライフサイクルを切り離すことで、インフラ投資の最適化ができます。※ サービス毎に５年後のキャパシティ予想をする事を緩和できる

#### デメリット

DCを所有する必要がある。また、集約度でペイするだけのサービス規模とインフラに強いエンジニアを雇う必要。

まとめ
----------

Private Cloudはキャッチーな名前なのでつい使いがちですが、その種別は多様です。
もちろん、どの方式にもそれぞれのメリットがあり目的に応じて採用すれば良いのです。
DCを所有してる状態なのか、そうでない状態ないのかで事情も変わりますし。

ただ、「Private Cloudはこういうもの。以前○○で読んだし！」とかだとそれは今貴方が検討しているPrivate Cloudとは別物かもしれないのでベンダーとは良く詳細を話して考えましょう。

それではHappy Hacking!