おもしろき こともなき世を おもしろく

でぶおぷすアーキテクトのつぶやき

Red Hat on Red Hat at RHFT2019

なんか急に寒い季節になりましたねー。2019年ももぅクリスマスですよ。はやっ。こうやって日々おっさんに向かっていくんですね。
毎年恒例のAdvent Calendarの季節になりました。いつも本みたいに構成を考えてしまうので、全くブログとか苦手なんですが、この時期だけブログでも書いてみる気が起きるもんなんですね。
Advent Calendar万歳 (/・ω・)/

今回は『赤帽エンジニア Advent Calendar 2019 - Qiita』の1日目に投稿してみます。
特に話すネタもないのですが、キリ番ゲットしたので、2019/11/15に開かれたRed Hat Forum Tokyo 2019で自分が公演した内容を振り返ろうかと思っています。
使った資料はこちら↓

セッションタイトルの思案

今回もForumの1ヶ月位前にタイトルを考えて事務局に以下を提出。
毎年Red HatのSolution Architectが話すセッションが何個かあります。そのうちのOpenShiftを担当させていただきました。

セッションタイトル

The world after Kubernetes Native
-コンテナが日常化した世界-

セッション概要

Kubernetesを使いこなし、企業価値を高めている企業はどのようなプロセスを経たのでしょうか。
多くの企業がデジタルトランスフォーメーションの旗を掲げ、コンテナ化を推進しています。しかし現場では、迅速な開発体制だけでなく、ブラックボックス化したシステムの運用効率化が求められています。本セッションでは、Kubernetesデファクトになったイマ、現場は何から取り組むのかを紹介します。

タイトル付けで考えること

はい。タイトルかっこいいですね。(なにが
いや、大きなセッション内容を考えるときは、まず本屋に行ってビジネス書を開く。これを毎回しています。 最近どんな本が流行っていて。なにが注目されているのかというのを知ったかしておくのが重要ですよね。
今回のタイトルはチョット前に流行っていた「アフターデジタル」をもじってみました。
ただし、よくあることなんですが、タイトルをイベントのかなり前に設定した挙げ句に、資料を前日に書き始めるので、結局なんやっけ?みたいな日々を過ごしています。今回も前日にイベントサイトでタイトルを見直す前までは、「The Day after Tomorrow」みたいなタイトルやったことくらいしか覚えてません。

セッションでお伝えしたかったこと

この内容としてお伝えしたかったのは、OpenShiftは「迅速に変わるビジネス要求に対して、開発者が環境を全く意識せずにコアビジネスのアプリ開発に集中できる世界」を創り出しているのだよ。というお話。
以上です。

みんなKubernetesの運用をしたいのか

Kubernetesって難しいじゃないですか。それを頑張って行く人材を社内で育てるんですっ!って言うのも素敵だと思うんです。
ただし、全企業がそうなるってわけでもないと思っていて。ビジネスのコアがサービス開発なのであれば、開発者は煩雑な運用に時間を割くよりも、開発に時間を割いたほうがいいんですよ。そしてKubernetesを導入するステップでいちばん重要なのが、その判断。この判断を失敗するとだいたいKubernetes導入も失敗する。
Kubernetes導入の全体的な成功を決定するメトリックを定義し、事前に十分に理解すること」

↓そんな話の詳細がこちら。

今後のKubernetesの運用はどうなるのか

でもって、運用者はもっと動的に運用できるツールを作る。かっこよく言うと運用ノウハウをコード化できるSRE(Site Reliability Engineering)みたいに。という未来があるはずなんです。
もちろん、コアビジネスが運用じゃないのなら、マネージド・サービス化ってのも選択肢の一つになるはず。
そこでOpenShiftにはOpenShift Dedicated(OSD)やAzure Red Hat OpenShift(ARO)というマネージドの選択肢があります。そして、KubernetesにもAKSやEKS、GKEなどもあります。
こうしたものが当たり前になっていくと、いままでIaaSをおもりをしてきた運用者は、SREになるかマネージドを管理する役割に意識を変えていかないといけなくなるんですよね。これがいわゆる「DX(Digital Transformation)」(話飛躍したな…)。要は人間のモチベーションや運用プロセスが変わらないと、運用なんてのは変わらないんですよ。

f:id:shkitayama:20191130013233p:plain
運用者の役割変更

Kubernetesの技術的な変化

もちろん、Kubernetes自体もそういった世界を見越して、大きく機能を改善しています。
Kubernetesアーキテクチャでは、コントローラーがコンテナの状態を監視し、実行中の各ワークロードを「望ましい状態」に可能な限り近づけます。つまり、コントローラは、Kubernetes上におけるコンテナやネットワークを始めとする各ワークロードのリソースを管理しています。KubernetesではこれをReconciliation loopとも呼んでいます。   

f:id:shkitayama:20191130205718p:plain
Reconciliation Loop

このように、これまではKubernetes固有のリソースだけを取り扱っていました。しかし、今後はCustom Resource Definition(CRD)を使うことで、Kubernetes以外の「リソース」を管理していきます。それがCRDであり、Operatorの役割です。
Kubernetes以外のリソースには、IaaS上の仮想マシンも含まれます。これまでは仮想マシンの上でコンテナを管理していたのが、仮想マシンもOperatorを使ってKubernetes上から制御します。例えば、Cluster Autoscalerを活用することで、負荷に応じたWorker Nodeの動的なスケールアウトなども、Operatorを活用した運用自動化です。
こうした、Operatorは多くのベンダーによって活用されており、その中核機能となるCRDはKubernetesの次世代のプラットフォーム管理を担う重要な要素であり、Kubernetes1.16から正式にGAとなりました。

www.zdnet.com

もちろん、これまでもCRDを応用した話はありましたが、やっとこれらがエンタープライズの世界にも来たということでしょうか。

Operatorは運用者が苦労してきた運用を自動化する

OpenShiftでは、こうしたOperatorを各ベンダーが作って公開できる場として、「OperatorHub.io」を提供しています。これまで、ここにはDatabaseやKVSなどを始めとする、Kubernetes上のステートフルなミドルウェアが多く公開されていました。
しかし、今後はKubernetesの外にあるリソースまでもOperatorによって管理できることになります。
例えば、Nvidiaが提供しているGPU Operatorは、GPUのリソースを取り扱います。 devblogs.nvidia.com

また、OpenShiftでは「Cluster Node Tuning Operator」が動いており、指定された条件内でWorker NodeのOSのチューニングを実施し、コンテナのワークロードに合わせて、カーネルの設定変更を動的に行います。 blog.openshift.com

さらに、IaaSレベルの制御だけではありません。Operatorによって業界ごとの規制をコード化してしまえば、コンプライアンスさえも動的に監視管理できます。

f:id:shkitayama:20191130221152p:plain
Compliance

こうした運用を人間が判断するのではなく、より自動化して品質を上げることが安定なKubernetes運用には必須なのです。

OpenShiftのエコシステム

OpenShiftはエコシステムを作り上げています。これまでは、OpenShiftのサポートを重視してきましたが、これからはそれらを含めOperatorをISVとしてエコシステムを広げていきます。その他にもサービスをサポートして行くことがOpenShiftの強みだと言えます。

  • Managed Service (Managed OpenShift)
  • Service Catalog (Operator ISV)
  • Integration Service (Open Innovation Labs)

これはもともとRed HatRHELを提供してきたときに築き上げてきた世界です。
よくOpenShiftと他のKubernetesとの違いはなんですか。と言われるのですが、こうした運用に関わるエコシステムをサポートとして提供できることこそが、OpenShiftの強みなのではないでしょうか。

f:id:shkitayama:20191130223405p:plain

Red Hat on Red Hat-- Red Hatはこれまで築き上げてきたRed Hatプロダクトの上で、次世代の市場を描く

現場からは以上です。
OpenShiftは「迅速に変わるビジネス要求に対して、開発者が環境を全く意識せずにコアビジネスのアプリ開発に集中できる世界」を創り出しているのだよ。というお話。
.oO(えらく壮大だな。

登壇の感想とお知らせ

当日の様子はこんな感じ。
セッションレポートも見れるようになったらしいです。
Red Hat Forum Tokyo 2019 - Session Report

https://pbs.twimg.com/media/EJZisbaUwAAo8yQ?format=jpg&name=small

資料作成で考えること

最近思うのは、技術的なことよりもそうじゃない発表シナリオを考えるほうが大変。
いつも何を聞きに来てくれているのかなぁー。なんて考えていますが、正直答えはなく。
「そもそも万人に受けよう」なんてことは考えないことですね。
自分が伝えたいことを、ちゃんと絞って伝えることがいい登壇なのかなと。
あと、最低限資料はちゃんと書こうね。みたいな。

色々なおしらせ

なんとですよ。OpenShift User Group Tokyoのミートアップがグローバルのコミュニティ担当にハイライトされました。
OpenShift User Group Tokyoは、Twitterなどもやっているので、気ままに見てください。

www.linkedin.com

あと、冬なんで忘年会をしようと思っています。是非×3!!!遊びに来てくださいねー。
https://www.openshift.run/www.openshift.run

まとめ

ということで、壮大な話から始まりましたが、『赤帽エンジニア Advent Calendar 2019 - Qiita』の1日目の投稿でした。
Advent Calendarの中でもOperatorの話が盛り沢山なので、是非見てねー。