SpringOne Virtual SpringOne は、VMware CEO の Pat Gelsinger 氏が、同社と Microsoft のパートナーシップ (Azure Spring Cloud は本日より一般提供開始) によって、数十年にわたる「互いの争い」が終結したと宣言して幕を開けました。
では、Springの世界では何が起こっているのでしょうか?SpringはオープンソースのJavaフレームワークで、Pivotalが管理していましたが、昨年PivotalはVMwareに再買収されました。「PivotalをVMwareに統合し、ファミリー全体を一つにしました」とゲルシンガー氏は語りました。
VMwareはSpringを「エンタープライズJavaの事実上の標準」と呼んでおり、これに異論を唱える人は少ないでしょう。2014年に導入されたSpring Bootは、フレームワークをJavaアプリケーションサーバーやその他のサードパーティ製ライブラリとパッケージ化し、すぐに実行できるバンドルとして広く採用されています。
Virtzilla がスポンサーとなって 1,024 人の「アクティブな Spring Boot 開発者、アーキテクト、マネージャー」を対象に実施した調査では、この点に関して次のような注目すべき点がいくつか挙げられました。
- Springアプリケーションで最も一般的なのは、Webアプリケーションではなく、内部APIまたは外部APIです。テストと実験に次いで一般的なのは、モバイルバックエンドです。
- コンテナ化は現在では標準となっており、開発者の 95% がコンテナにデプロイしているか、デプロイする予定です。
- これらのコンテナは主に Kubernetes 上に展開され、44% がすでに Kubernetes 上に展開されており、31% が今後展開する予定です。
- 開発者の 83% はマイクロサービスを構築していると考えています。33% はリアクティブ アーキテクチャを使用しており、32% はサーバーレスを使用しています。
- 回答者の 18 パーセントはオープンソース プロジェクトに積極的に貢献しています。67 パーセントは貢献に多少興味はあるものの、難しすぎる、または怖いと感じています。
マイクロソフトのAzure Spring Cloudが一般公開されましたが、最も魅力的な機能の1つである自動スケールはまだプレビュー段階です。
ゲルシンガー氏:マイクロソフトとの提携は国際平和協定のように感じた
SpringOne 2020は、ニュースとしては大きなイベントではない。マイクロソフトはAzure Spring Cloudの一般提供を開始したと発表し、ゲルシンガー氏は長年にわたる同社とWindowsの巨人との関係の揺らぎを振り返った。
Azure Spring Cloud は、Spring Boot アプリケーション用の管理されたプラットフォームです。
ゲルシンガー氏は基調講演で、他のクラウドについても慎重に言及しました。「Amazonとの関係は私たちにとって非常に大きく、真のモダンクラウド企業へと進化するペースを決定づけました。その後、他のハイパースケーラーとも提携してきました。(昨年)サティア(ナデラ氏)と共に壇上でパートナーシップを発表した時は、まるで国際平和協定を結んだかのようでした。何十年もの間、私たちは互いに争い、唾を吐きかけ、闘い合ってきましたが、今、私たちは一つにまとまろうとしています。」
「さらに、Googleとの提携もありました。IBM、Oracle、Alibab、Tencent、そして第2層のクラウド企業すべてです。」
MicrosoftのサービスはGA版ですが、その主要機能の一つは現在プレビュー段階にあります。これは自動スケール機能で、CPU使用率などの指標に基づいて、アプリケーションをオンデマンドでスケールアップできます。
VMwareは、2020年6月からベータ版として提供されていたTanzu Build Serviceを本番環境で利用できるようになったと発表しました。このビルドサービスは、ソースコードをOCI(Open Container Initiative)準拠のコンテナイメージにパッケージ化し、主にKubernetesへのデプロイを伴う自動ワークフローの一部として利用されます。
Tanzu Build Service は本番環境に対応しており、コードから Kubernetes へのデプロイまでの DevOps ワークフローの一部としてコンテナ構築を自動化します。
Kubernetes に移行しますか? VMware を気にする必要はありません。
アプリケーション導入の選択肢が数多く存在する世界において、VMware製品の特徴は何でしょうか? 副社長のクレイグ・マクラッキー氏に話を伺いました。マクラッキー氏はこれまで、GoogleでのKubernetesの共同設立、Google Compute Engineチームのリーダー、Cloud Native Computing Foundationの設立、そして2018年末にVMwareに買収されたKubernetes管理専門企業Heptioの共同設立など、様々な経歴を持っています。
マクラッキー氏によると、これはミドルウェアの進化にかかっており、従来のミドルウェアは「極端に回転している」と彼は述べた。
「私たちが目にしているのは、多くの従来型ミドルウェア機能が、Kubernetesのような多言語対応でより先進的な環境に移行しつつあることです。一部はSpringの世界に引き上げられ、一部は多言語対応オーケストレーション技術の世界に押し下げられています。」
開発とは、ビジネスロジックをコードにカプセル化することです。エンジニアリングとは、そのコードを本番環境に導入するために必要な、あらゆる複雑な作業を実行する仕組みです。開発環境の構築から、継続的インテグレーションとデリバリーパイプラインの構築といった重労働、そしてそれらすべてが確実に連携するようにすることまで、あらゆることを網羅しています。
「私たちの視点のユニークな点は、これら2つの世界をエレガントな方法で融合させようとしている点です。私たちが取り組んでいるのは、開発者が必要とするすべてのものをvSphereに直接プロビジョニングするための、よりAPI中心の手法を導入することです。これにより、KubernetesはvSphereプラットフォームの一部となりました。開発者は、これらの機能をプロビジョニングするために、一連の最新APIを利用できます」と彼は述べた。
目標はこれまで通り、「開発者がコードの実行に集中できるようにすることです。開発者のIDEからプリプロダクション環境にアクセスし、それをインフラ環境に配信する厳格な継続的デリバリープロセスを構築できます。」
これは、オンプレミスの vSphere の世界に精通している開発者や管理者にとっては理にかなっています。しかし、特に Amazon の EKS、Azure の AKS、Google の GKE などのパブリック クラウド サービスでは、Kubernetes にコンテナをデプロイする方法が他にも多数ある現在、これはまだ正当化されるのでしょうか。
マクラッキー氏はThe Regに対し、継続性が重要な要素だと語った。「重要なのは、ワークロードをクラウドサービスの価値に結びつけることであり、全面的な見直しを強いることではありません」と彼は述べた。「そして、私たちの進むべき道は、クラウドプロバイダーのIAASインフラ上で直接価値を生み出すことです。私たちは、クラウドの未来にコミットしている組織と多くの時間を費やして協業しています。」
「しかし、非常に難しいのは、実際のワークロードをクラウド環境に取り込むことです。多くの組織は依然として、ポートフォリオの一部がオンプレミスの施設に、一部がクラウド施設に置かれているという、中間の世界に生きています。
「したがって、エクスペリエンスの一貫性が重要であり、Spring は開発者が基盤となるインフラストラクチャについて考えることを減らし、アプリケーション レベルのプリミティブにもっと依存する方法を提供しますが、それでも運用の観点からメカニズムについて考える必要があります。」
彼はまた、TanzuがvSphereだけに対応しているわけではないことを強調しています。「TanzuはvSphereを念頭に構築されており、vSphereスタックを通じた垂直統合を通じて価値を創造することに取り組んできました。しかし、TanzuのビジョンはvSphere環境に限定されるものではありません。Kubernetes向けのTanzuアプリケーションサービスなどに関する私たちの野望について語るとき、それがvSphereに限定されていると考えるべきではありません。」
「これは AKS、EKS、GKE にも完全に関連しており、これらの問題はこれらの環境にも同様に存在します。つまり、開発者が IDE から本番環境に移行できるようにする、非常にクリーンで制御された環境を作成するプロセスとは何でしょうか?」
答えはAnthosです、とGoogleのOnAirビデオガズムは叫ぶ。しかし、問題は一体何なのか?
続きを読む
Tanzu Application Serviceは、以前はPivotal Application Serviceと呼ばれていました。Cloud Foundryプラットフォームの実装で、開発者はcf pushコマンド1つでコードをデプロイできます。Tanzu Application ServiceはSpring Bootコードのデプロイに適していますが、最新の調査ではKubernetesにデプロイしている開発者の数が多く、Kubernetesでの実行に適したサービスへの適応作業へのプレッシャーが高まっていると考えられます。この点について何か新しい情報はありますか?
「SpringOneでは具体的な発表はしていません。しかし、これらのツールの統合に向けて着実かつ大きな進歩を遂げていることはお伝えできます」とマクラッキー氏は述べた。
Kubernetesの共同創設者として、マクラッキー氏は現在のKubernetesの状況をどう振り返っているのでしょうか?「Kubernetesは多くの点で私の期待を上回っています。大きな可能性を秘めたものを持っていることは分かっていましたが、多くの点で夢が実現しました。K8sエコシステムの観点から見ると、Kubernetesが新たなIAAS抽象化になりつつあることは間違いありません」と彼は述べています。
もう一人の共同創業者であるブレンダン・バーンズがKubernetesオペレーターとカスタムリソース定義のアイデアを提案した時、「皆、彼はちょっと頭がおかしいと思った」そうですが、マクラッキー氏は今やこれを画期的な進歩と捉えています。「Kubernetesとは何かを考えてみると、単なるデータベースといくつかのスマートコントローラーです。コントローラーは、あなたが望む世界がどのような形になるかをデータベースから読み取り、スコープ境界を設定します。そして、コントローラーの知識と実行可能な範囲に基づいて、世界をその形に導こうとします。
Kubernetesはもはやコンテナを実行するだけではありません。APIを使って仮想マシンインスタンスをプロビジョニングしたり、その他あらゆる機能を使うことができます。私たちが仕事を正しく進めていけば、5年後にはKubernetesについて話すことはもうなくなるでしょう。Kubernetesについて話すのはちょっと疲れました。Kubernetesの上にどんな価値が構築できるのかについて話したいのです。
Linuxアプリケーションのコンテナオーケストレーションには非常に効果的ですが、その機能を解放し、スマートコントローラーを使ってあらゆるものを効果的にその形に制御できるようになることが、ますます強力になっています。そのため、Kubernetesの抽象化を利用して、Kubernetesの境界を越えてあらゆるものを制御する組織が増えています。Kubernetesは、コントローラー、リコンサイラー、そしてシステム構築における進歩的な考え方全体です。
実際、KubernetesとvSphereの統合を構築した方法を見れば、まさにそのコンセプトを体現していることがわかります。Kubernetesはもはやコンテナを実行するだけでなく、APIを使って仮想マシンインスタンスをプロビジョニングしたり、その他ほぼあらゆることを行うことができます。
「Kubernetesは、インフラストラクチャサービスの抽象化としてだけでなく、ワークロードを駆動するための主要なコントロールプレーンとして台頭しつつあります。ワークロードがLinuxアプリケーションコンテナで実行されているか、あるいはほぼあらゆる場所で実行されているかは関係ありません。これは本当に喜ばしいことです。」
欠点は「凝ったシステムであり、非常に鋭い刃がいくつかある」ことです。これは、開発者エクスペリエンスを簡素化するという目標に戻ります。「システムのパワーを最大限に活用し、常に鋭い刃を扱わなくても済む快適な環境を作ることが非常に重要です」とマクラッキー氏は言います。
「もし私たちが仕事を正しく行えば、5年後にはもうKubernetesについて話すことはないでしょう。Kubernetesについて話すのはちょっと疲れました。Kubernetesの上にどんな価値が構築できるかについて話したいんです。」
Kubernetes: 破壊的イノベーションを起こすために構築されたが、Google だけのためではない
Kubernetesは今でも、その発祥の地であるGoogle Cloud Platformで最も良く動作すると言う人たちはどうでしょうか?「ご自身の意見をまとめる必要があるでしょう」とマクラッキー氏は言います。「Kubernetesを開発していた当時、私たちはこのことを非常に意識していました。コミュニティを築くことに熱心に取り組んでいました。友人のジョー(ベダ)と私はGoogle Compute Engineを開発していましたが、それはあまりにも遅く、規模が小さすぎました。Amazonはすでに脱出速度を達成していました。私たちの野望は、ワークロードを獲得するための第二の機会を創造し、破壊することだったのです。」
「重要なのは、より広範なISVコミュニティを我々の仲間に加えることでした。そのため、プロジェクト開始時に最初に頼ったのはRed Hatでした。IBMやIntelをはじめ、様々な組織と多くの時間をかけて協力してきました。」
「Kubernetesはコミュニティによって所有されています。ベンダーはそれぞれ独自の視点を持ち込んでいますが、Kubernetesの最大の目的はユビキタス性をもたらすことです」と彼は語った。
「Googleには確かに優秀なエンジニアがいますが、Amazonのボブ・ワイズ氏やMicrosoftのブレンダン・バーンズ氏のような人々の努力を軽視するのは愚かだと思います。彼らは誰よりも長くこの道を歩んできたのです。」®