開発の生産性と楽しさを向上させるDevOpsの実行手段として
もう少しPaaPを深掘りしていこう。柳原氏は興味深い視点で話を進める。「先ほどPaaPのエンジニアはSREの上位互換かもしれないという話をしました。SREを提唱したGoogleでは、DevOpsの実装版がSREであると述べていますよね」(柳原氏)。
Javaアプリケーションのように見てみよう。DevOpsというインターフェースがあり、そこで仕様が決まっていたとする。そのDevOpsという仕様を実装したものがSREやPaaPになるという考え方だ。
Googleは巨大なサービスを安定稼働させるためにBorgを構築していくなかで、SREを育ててきたと柳原氏は見ている。ただしBorgとPaaPは位置づけが異なっている。GoogleのBorgは全世界のユーザーが対象となり、各社で運用するPaaPは自社ユーザーが対象となる。
多少違いはあるものの、アプリケーション開発者がプロダクトに向かうのと似たようなマインドセットでインフラエンジニアやSREがプラットフォームと対峙していると考えることができる。
DevOpsと似ているゆえに、罠や解決策も共通しているところがありそうだ。DevOpsを実現しようとして「DevOpsエンジニア」を掲げて募集し、うまくいかずに頓挫してしまうパターンがあると柳原氏は指摘する。「もともとDevOpsは開発者(Dev)と運用者(Ops)が仲良く幸せな世界を作りあげていこうとするものなのに、(DevとOpsの両方できる人を求めてしまうと)難しくなってしまいます。本来のDevOpsのマインドセットに基づき、チームやポストを作って進めていかないと成功しないと思います」(柳原氏)
同様に、SREも高い素養が求められがちだ。もちろんSREは運用のオペレーターではなく、自ら(インフラのための)ツールをどんどん開発していきつつ、インフラ運用の効率化を図っていかなくてはならない。先に挙げた「DevOpsエンジニア」のように重責になってしまいかねない。
ただしVMwareのPaaPにおいては、アジャイル開発のようにチームを組んで実装していくので(GoogleやKubernetesの世界における)SREほどの高い素養やプレッシャーは少なくなりそうだ。
なぜか。VMwareの考え方を知ると理解できてくる。VMwareは「Abstract things and make things simple(あらゆるものを抽象化し、シンプルに)」というメッセージを掲げている。これはかつてVMwareがインフラ領域で仮想化技術を推し進めてきたなかで、達成した成果とも言える。数多くのサーバーのハードウェアがあるなかで、VMwareはソフトウェアを用いて仮想化を実現してきた。これは抽象化とも言い換えられる。いまVMwareはこのアプローチをそのままアプリケーションの世界に適用していこうとしている。
またVMwareはKubernetesにも目を向けている。柳原氏は「インフラをずっとやってきたエンジニアならネットワーク、ストレージ、コンピュータリソースの扱いは長けています。インフラエンジニアなら、ですよ。これをアプリケーション開発者に求めてはいけません。そのためにはシンプルにしていく必要があります。だからVMwareはKubernetesをシンプルにしていこうとしているのです」と力を込める。
具体的にはVMware Tanzuのポートフォリオの1つ、「VMware Tanzu Application Platform(以下、TAP)」を通じて実現していく。TAPはKubernetesが稼働するプラットフォームではあるものの、アプリケーション開発者からするとKubernetesを意識する必要がない。もちろんYAMLで悩むこともない。
「やはりアプリケーション開発者というのは、企業が本来注力すべきサービスの中身を作りあげるのが本来の仕事です。TAPはそこにフォーカスできるようにするためのプラットフォームです。またKubernetesしかない世界では、アプリケーション開発者とインフラ(プラットフォーム)エンジニアの境界線が曖昧になりますが、TAPがあることにより責任分解点が明確になり、両者はWin-Winの関係になれるのです」(柳原氏)
これまでVMware Tanzu製品を導入した企業では、Tanzu製品をプロダクトとして接している。ユーザーとなるアプリケーション開発者たちに対して、プラットフォームを使いこなせるようにトレーニングも行うこともある。またプラットフォームは「Tanzu」や「コンテナ基盤」などと呼ばず、組織独自の名前(例えば、BeeHive)をつけて、ロゴやノベルティを作りブランディングのための社内マーケティング活動も実施する。こうした活動を通じてプラットフォームは組織内で愛でられ、育てられていく。
どうだろう。アプリケーション開発者が使う開発プラットフォームがKubernetesの恩恵を享受しつつも、難しさは排除できて、なおかつ組織内で成長していく存在だとしたら。開発生産性だけではなく、開発の楽しさも向上するのではないだろうか。
関連情報
ヴイエムウェアは3月3日に、Tanzu Application Platformについてのセミナーを開催しました。デベロッパーとオペレーター、それぞれの視点から解説されています。アーカイブ動画はこちらから!