たくあんポリポリ

勉強したことを載せていきます。最近、技術系の記事はZennに書いています。(https://zenn.dev/chittai)

【GCP】【OCI】Computeサービスの比較

ここでは、GCPとOCIのComputeサービスについて比較を行ってみます。

Computeサービスとは

ここでいうComputeというのは、IaaSで提供するVM(仮想マシン)を指します。CPU/メモリやOSを選択し、OS以上をユーザの管理対象としています。これは、GCPもOCIも変わりありません。

2つのサービスの比較

名称について

GCPでは、IaaSのサービスをComputeEngineと名付けています。OCIではComputeと名付けれられています。サービスの形態はほぼ同じなのですが仕様やサービス内容は異なる部分があります。それを確認していきます。

提供イメージ

GCPの提供イメージ一覧は下記から確認できます。
cloud.google.com
CentOSGoogle のコンテナ用に最適化された OS、DebianRHEL、SLES、Ubuntu、WindowsServerが提供されています。

一方、OCIの提供イメージは下記から確認できます。
docs.oracle.com
REHL、CentOSUbuntu、WindowsServerが提供されています。

これをみると、GCPの方が種類が多いです。ただ、実際に業務で使用しているOSはある程度種類が限られていると思うので、RHELCentOSUbuntu・WindowsServerがあったらそこまで変わらないんじゃないかなとも思います。ただ、GCPでは"コンテナ技術に最適化されたOS"があるため、コンテナを使用するとなるとGCP一択な気がします。GCPではGKE(Google Kubernetes Engine)も提供しており、コンテナ構成が当たり前になった今日、GCPは強いんじゃないかなと思います(KubernetesのコミッターはGoogleのエンジニアがメインであることもか考えると)

ただ、今確認しましたが、OCIでもコンテナサービスは提供されているようです(前に見たときはまだ使用できなかった気がする)。まだ使用したことはないのですが、どっかで使ってみようかなと思います。
cloud.oracle.com

リソース拡張

次は、リソースの拡張についてです。GCPでは、CPUとメモリの組み合わせをマシンタイプと呼びます。同様のものをOCIではシェイプと呼びます。
cloud.google.com

docs.oracle.com

GCPでは既に作成したVMインスタンスのマシンタイプを変更することできます。停止が必要ですが、変更することができるというところが大事です。OCIではVMインスタンスはディスクサイズの変更は可能ですが、CPU/メモリのサイズは変更できません。つまり、より大きいサイズで作成し直しが必要になります。ただ、ExadataやBareMetalと呼ばれるタイプのサービスであればCPUの拡張が可能です。

インスタンスタイプ

OCIでは、VM以外にBaraMetal環境を提供しています。リソースが十分に大きく、VMよりも金額が高くなります。それでも性能が必要となる場合はVMよりもBareMetalを選択すると良いです。

cloud.oracle.com

ちなみに、BareMetalというのは下記のようにハイパーバイザを使用せずサーバをそのまま使用することができます。そのため、VMよりも性能がよくリソースも多いです。

OCIではOracleの機能を簡単に使用することができるのが特徴なのですが、DataGuardなどは現在ではBareMetalでしか使用できなかったりと制約も多くあり、BareMetalを使わざるを得ない状況もあります。(これはVMでも提供される予定と言ってたきがする)

f:id:c_taquna:20190725184932j:plain:w400

クラウドの独特なサービス

ライブマイグレーション(GCP)

GCPではライブマイグレーションができます。同じゾーンの別ホストに起動したまま移動することができます。つまり、メンテナンスが発生したとしても停止せず、業務影響なく対応することができます。これは、通知は来るようですがGCPが裏でいい感じに実行してくれるっぽいです。(機会があったらもう少し詳しく調べてみる)
cloud.google.com

Database(OCI)

これは、Oracleだからこそかもしれないですが、OracleDatabaseを使用した環境を簡単に作成することができます。Database名、バージョンやRACかどうかを選択するだけで自動でDB環境を構築してくれます。他にも自動パッチ適用やDataGuardの構築などOracleが提供するDatabaseの機能をボタン一つで使うことができます

とくに特徴的かなと思うのは、これがPaaSのサービスではなくIaaSのサービスであることです。つまり、Oracleの標準設計に加え、自分の環境の設定値を入れることができます。どんな設定値を入れてもサポート対象になると伺った記憶があります。

現在エンタープライズ環境においてOracleDatabaseを使用している方々は、自分の環境の設計を反映しつつ、構築や管理を楽にできるというメリットがあります。

まとめ

サービス形態は同じですが、メニューが異なってるかんじですね。OCI/GCPで何ができて何ができないか。もしクラウドに移行するのであればその辺りをきちんと理解する必要がありそうです。