なんでRed Hat OpenShift Service on AWS(ROSA)がある一方で、ECS/EKS Anywhereとか出てきたのかしら？

プロフィールにも記載しておりますが、投稿内容は個人の見解であり、所属する組織の公式見解ではありません。

[AWS Containers Advent Calendar 2020](https://qiita.com/advent-calendar/2020/aws-containers) の 15 日目の記事です。

本当は**「OpenShift on AWS(ROSA)を触ってみた」**みたいなレビュー記事を書きたかったのですが、
プレビューに(たぶん)はずれたのと、
そもそもプライベートプレビューだからGAになるまで中身について書けんわということで、ポエムでお茶を濁すことに致しました。誠に申し訳ございません。

## re:Inventにおけるコンテナ関連の個人的サプライズ

[re:Invent](https://reinvent.awsevents.com/)におけるAndy Jassyのキーノート、今年もたくさんのサプライズがありましたね！

[Macインスタンスの発表](https://aws.amazon.com/jp/blogs/news/new-use-mac-instances-to-build-test-macos-ios-ipados-tvos-and-watchos-apps/)には度肝抜かれましたが、
個人的には、[ECS Anywhere](https://aws.amazon.com/jp/blogs/news/introducing-amazon-ecs-anywhere-jp/)/[EKS Anywhere](https://aws.amazon.com/jp/blogs/news/amazon-eks-distro-the-kubernetes-distribution-used-by-amazon-eks/)が発表されたことにすごく驚きました。

というのは、2020年5月に、[マネージド型のRed Hat OpenShift service on AWSをリリース予定](https://aws.amazon.com/jp/blogs/containers/aws-and-red-hat-extend-collaboration-annoucing-new-managed-red-hat-openshift-service-on-aws/)という発表があったことから、

**「なるほど、AWSのハイブリッドクラウド戦略として、オンプレやマルチクラウドのKubernetes部分については、3rd PartyのRed Hat社との連携を強化・活用する(要するにRed Hatにお任せする)のね～？」**

と認識していたからです。

なので、えっ、EKS Anywhereとか出されたら、OpenShiftが持ってるオンプレマーケットとバッティングしますやん、
て一瞬思いましたが、少し考えてそれは間違いな気がしてきました。

たぶん、2つのサービスは排他ではなく、補完関係にあります。


## OpenShiftとは

AWSのコンテナ界隈(JAWS-UGコンテナ支部とか)では、あまりOpenShiftの話題に触れる機会がない気がするので、一応簡単に触れておきます。
詳しい方もたくさんいらっしゃるかと思いますので、その場合は読み飛ばして下さい。

OpenShiftは、Red Hat社がKubernetesにエンタープライズ向けの機能やサポートサービスを追加し、商用のコンテナ管理プラットフォームとしてサブスクリプション販売している製品です。

オンプレミス環境で(も)利用できる商用コンテナ管理製品としては、[一番売れてる](https://www.openshift.com/blog/enterprise-kubernetes-with-openshift-part-one)と思われます。
※リンク先ページ末尾の「What's next?」にある円グラフ参照

ユーザーコミュニティとして[OpenShift Japan Community](https://openshift.connpass.com/)があり、
[OpenShift MeetupやOpenShift.Runなどのイベント](https://openshift.connpass.com/event/)を通じ、
Red Hatの中の方々やOpenShiftユーザーの方々が活発に活動していらっしゃいます。

わたしも、OpenShiftは2016年頃からSNS等でちらほら目にしていましたが、
2019年にv4がリリースされた頃から、エンタープライズ向けの案件でもかなり検討の遡上に上がるようになりました。

## AWSとOpenShift

2020年11月に[Red Hat OpenShift Service on AWS(ROSA)](https://aws.amazon.com/jp/blogs/containers/announcing-red-hat-openshift-service-on-aws/)のプレビュー提供が始まる前から、
OpenShiftはAWS上で利用可能でしたし、なんならマネージドサービスも既にありました。

AWSでOpenShiftを利用するオプションとしては、以下のものがあります。

| OpenShiftオプション | 提供形体 | 特徴 |
|:-----------|:------------|:------------|
| Red Hat OpenShift Container Platform | Self-hosted | 利用者はIaaS(EC2)の環境を用意し、**利用者自身が製品をインストール・運用**する。[クイックスタート](https://aws.amazon.com/jp/quickstart/architecture/openshift/)でCloudFormationテンプレートが提供されていたりする。 |
| Red Hat OpenShift Dedicated | マネージド | 利用者は[OpenShiftのポータル](https://cloud.redhat.com/openshift)からクラスタを作成。クラスタ作成時にAWS Region、ネットワークのCIDR等を指定可能。**クラスタの運用は、Red HatのSREチームが担当**する。 |
| Red Hat OpenShift Service on AWS(ROSA) | マネージド | 利用者はAWSマネジメントコンソールまたは専用CLI(rosaコマンド)を利用しクラスタを作成(予定)。**クラスタの運用は、Red HatのSREチームとAWSが共同で担当**する。(予定) |
※参考: [OpenShift Products - Red Hat OpenShift](https://www.openshift.com/products)

ROSAがリリースされることで、今まで以上にAWS上でOpenShiftの環境を立ち上げ、利用しやすくなります。OpenShiftのサブスクリプションと運用の料金は、AWS利用料に含まれて請求されます。

## コンテナ管理プラットフォームの使い分け

前置きが長くなりましたが・・

AWSがRed Hatと連携強化してROSA出してきたのも、
EKS Anywhereみたいなサービス出してきたのも、
AWSがハイブリッドクラウド/マルチクラウドの流れを強く意識してのことと理解しています。

「EKSの方が優れてる」とか、「OpenShiftの方が使いやすい」とか、そういう話ではないと思います。

既にAWSへのクラウドマイグレーションができている組織とか、コアビジネスがAWS上のアプリケーションと基盤で動いてる組織なんかは、Kubernetes使いたいならEKSは1つの有力な選択肢です。

**(もちろん、そもそもなんのためにKubenetesを使う必要があるの？という検討は絶対に必要です)**

一方で、パブリッククラウドの活用に興味はあるんだけど、既存システムの移行となるとなかなか難しい組織もあります。主にエンタープライズです。

難しい理由はいろいろあります。

- メインフレームがあり、長年塩漬けしてきているレガシーアプリケーションがある。コストと期間をかければオープン化できることはわかっているが、ROI考えると実行に移せない
- オンプレに、極めて短いレイテンシーが求められるシステムがある(工場とか)
- クラウドでオンプレと同等の性能を出すことが難しいシステムがある(E〇〇DATAで動かしている赤いDBとがっつり密結合してるシステムとか)

パブリッククラウドがエンタープライズでも使われるようになって数年経ちますが、
具体的な数字は手元にないものの、相当量のサーバーが依然としてオンプレで稼働し続けている印象があります。メインフレーム上のワークロードもたくさん残っています。

こういった組織でも、オンプレでコンテナを活用したい、Kubernetesのエコシステムの恩恵を受けたい(なんなら貢献したい)、短いアップグレードサイクルに耐えられる運用体制も構築できる、という場合、OpenShiftは1つの有力な選択肢と言えるでしょう。

結局、組織の状況や、将来的に組織全体のシステムをどう進化させていきたいかという要件に応じた、
**コンテナ管理プラットフォームの使い分けの選択肢を、AWSが複数提供してくれている**、という話かと思います。

## まとめ

2014年のre:InventにおけるAndy Jassyのキーノートでのキーワードは、**「The New Normal」**でした。

2014年というと、その2年前にRedshiftが発表されて、オンプレのDWHアプライアンスがばんばんRedshiftに置き換えられていた時期です。
この頃のAWSからは「**よっしゃー！ぜんぶクラウドに持っていくぞオラァ！！！**」という熱量をすごく感じました。(今もそうかもしれませんが)

ただ、Andyは同じキーノートで、「All-in」と「ハイブリッド」両方に言及してるんですよね。

>ここで**データセンターをすべてクラウドへ移行する「All-in」**タイプの事例紹介ということで、Intuit がゲストスピーカーとして登場。
(中略)
>再び Andy がステージに戻ると、AWS はオンプレミスとの連携を実現するためのサービスも提供しており、AWS Storage Gateway や AWS Cloudtrail、Identity And Management や System Center との統合も**ハイブリッドを可能とするサービス**として提供されていると紹介。
[AWS re:Invent 2014 現地レポート Part 1.（11/12） | AWS](https://aws.amazon.com/jp/about-aws/events/reinvent_report_2014_pt1/)

「All-in」に対応するソリューションがEKS、
「ハイブリッド」に対応するソリューションがEKS AnywhereやROSA、
ということで、AWSが利用者の要望に常に応えていくというポリシーは変わっていないのだと思います。

正直EKSだけおっかけるのも大変なんですが・・AWSさんやRed Hatさん、コミュニティの方々の知見も拝見しながら、各種コンテナ管理プラットフォームにがんばってキャッチアップしていきたいと思います。