はじめに
「RKSを知る!」の連載第12回目の記事としまして、RKSと他のマネージドKubernetesサービスで構築可能であるNodeの性能について比較し、RKSと他のマネージドKubernetesサービスとの違いを解説したいと思います。
本連載についてはリンクページを用意していますため、概要や連載記事は下記URLからご確認ください。
RKSを知る! 概要&連載リンク集
RKSのNodeの特徴について
RKSのNode性能は各データセンターによって、設定可能範囲が異なるという特徴を持っています。
以下の画像はこれまでの連載記事でも使用していました各データセンターの設定可能性能一覧の抜粋になります。
図1 :
図2:
上記の図1はニュージーランドのハミルトンに存在するデータセンターにて設定可能なNodeリソース一覧であり、図2はアメリカのニューヨークに存在するデータセンターにて設定可能なNodeリソースとなります。
図の内容の通りになりますが、アメリカ-ニューヨークロケーションで設定可能な最大値とニュージーランド-ハミルトンロケーションで設定可能な最大値では大きく開きがあることが分かります。
データセンターごとに設定可能なリソース値が異なるため、上記のようにアメリカ-ニューヨークロケーションに構成したクラスタの内容をスライドして、別のロケーションに設定できるかは設計段階で検討する必要があります。
Node性能比較
上記のような特徴を有したRKSと他のクラウドベンダのマネージドKubernetesサービスのNode性能はどのように違うが特徴や性能値を比較してみたいと思います。
今回も他のクラウドベンダのマネージドKubernetesサービスの比較対象としてはAWSのEKSとAzureのAKSを用いて比較を行いたいと思います。
■ロケーションごとの性能差異
RKSではローケーション、EKS・AKSではリージョンと名称が異なりますが、構築する対象ロケーションでNodeに設定できる性能に差があるのか、特徴を並べ比較してみたいと思います。
- RKS
上記で記載した内容になりますが、RKSはロケーションごとにNodeに設定可能な性能値が異なります。
これは、RidgeCloudの特徴としてデータセンターを自社で保有せず、提携したデータセンターのリソースを使用しクラウドサービスを提供しているため、設定可能性能値が提携先データセンターにより異なっています。 - EKS
EKSにて構築したNodeはEC2インスタンスにより構成されるため、Nodeに設定可能な性能もEC2インスタンスに準拠します。
EC2インスタンスの性能はローカルリージョンでない限り、リージョンごとの差異はなく、どのようなリージョンでも同じようなインスタンスタイプでの構築が可能です。 - AKS
AKSにて構築したNodeはAzureVMにより構成されるため、Nodeに設定可能な性能もAzureVMに準拠します。
AzureVMもAWSのEC2と同じく、VMサイズとしてすでに構成されたリソースをリージョンごとの差異なく、どのリージョンでも構築が可能となります。
上記の通り、ロケーションごとに性能に差が発生するのはRKSのみ特徴となっており、現在メジャーなマネージドKubernetesサービスであるEKSやAKSではリージョンごとの性能差はないことが分かりました。
これはクラウドサービスとして自社のデータセンターから提供するか、提携先のリソースにより提供しているかのサービスとしての特性がそのまま特徴として現れたものだと思います。
■Nodeに設定可能な性能
次にNodeとして設定可能な性能にどのような差異があるかを比較してみたいと思います。
ロケーション全体やリージョン全体で比較すると非常に膨大なデータの羅列となってしまいますので、料金編での比較と同じように、EKS、AKSのリージョンは東京、ないし東日本、RKSのロケーションは台湾-台北ロケーションにて比較を行ってみたいと思います。
また比較対象として、EKSとAKSのEC2インスタンス、AzureVMは設定可能範囲が非常に広いので、それぞれ、比較対象のインスタンスタイプとVMサイズは以下のタイプを抜粋し、比較したいと思います。
★EKS : 汎用インスタンスである「M5インスタンス」
★AKS : 汎用ワークロードである「Dv3 シリーズ」
- RKS
RKSの台湾-台北ロケーションにてNodeに設定可能な最小値・中間値・最大値は以下となります。
台湾-台北ロケーションはEC2インスタンスのように、リソースが決め打ちで設定されているのではなく、使用したいリソースを設定することで範囲なら好きな構成でNode性能を設定することが可能になります。
- EKS
EKSの東京リージョンにてNodeに設定可能な汎用EC2インスタンス「M5インスタンス」の最小・中間・最大値は以下となります。
EC2インスタンスは様々なタイプを持っており、以下のM5インスタンスタイプ以外にもコンピューティング最適化やメモリ最適化など、用途によってCPUコア数が多いインスタンスであったり、メモリ容量が多いインスタンスタイプであったりと、柔軟な性能を選択することが可能です。
また、ストレージはEBSを使用するため、EBSで設定可能範囲であるならば、好きな容量をNodeに紐づけることが出来ます。
- AKS
AKSの東日本リージョンにてNodeに設定可能な汎用AzureVM「Dv3 シリーズ」の最小・中間・最大値は以下となります。
AKSも今回の比較対象として抜粋したDv3 シリーズ以外にもコンピューティング最適化のFsv2 シリーズやメモリ最適化を行ったMシリーズなど、AWSと同じく用途によって柔軟にNodeの性能を選択することが可能となっています。
上記、設定可能なNode性能を見た限り、EKSの最大値が飛び抜けて大きいことが確認できますが、あくまでもEKS,AKSは汎用のインスタンスタイプを抜粋したに過ぎず、これ以上のCPUコア数やメモリサイズをNodeに設定することは可能です。
しかしながら、RKSは上記表以上の性能は設定できないため、EKS,AKSで稼働していたアプリケーションが同じように運用できるかは設計段階、ないし性能検証段階で確認する必要があると思います。
比較結果まとめ
上記比較結果をまとめますと、
- RKSはロケーションごとに設定可能なNode性能が異なるが、EKS,AKSはロケーション、リージョンによる差異はない
- RKSにEKS,AKSのようなインスタンスタイプ、VMサイズといった柔軟な性能を選択することが出来ず、データセンターにて定義されている性能のみ使用することが出来る。
- 台湾ロケーションと汎用のインスタンスタイプ、VMサイズに限定されるが、AKSとRKSのCPUやメモリサイズには差異はなく、EKSが最も大きいサイズが用意されている。
と確認することが出来ます。
再三の記載になりますが、上記比較はEKSとAKSは汎用タイプの抜粋となるため、EKS,AKSともにより大きいリソースを設定することが可能となっています。
RKSに設定可能なリソースはデータセンターにより変動し、台湾ロケーションにように自由にCPUコア数やメモリサイズを変更できるデータセンターもあれば、ニューヨークロケーションのように、決め打ちのNode性能しか使用できないデータセンターもあるため、要件段階にて展開先のロケーションを確定させて上で、性能比較を行うべきだと思います。
あとがき
今回は連載第12回目としまして、RKSと他のマネージドKubernetesサービスとのNode性能について、特徴や設定可能範囲を比較し解説しました!
比較し個人的に思ったことは、EKSやAKSに比べ、設定可能なリソースの柔軟性がRKSは低く、大規模サービスの展開や人工知能、画像処理などを実施するクラスタを構築するにはRKSは不向きであるかなと思いました。
RKSを使用する場合、全世界的にクラスタを展開できるという特性を把握し、RKSの用途が要件のスコープに当てはまっているか、きちんと考えるべきだなと思いました。
次回更新もRKSと他のマネージドKubernetesサービスとの比較から、RKSのユニークな点に迫りたいと思います!
ここまでお読みいただき、ありがとうございました!