Cloud Native 2021 and Beyond by Chris Aniszczyk, CNCF キーノートセッションの日本語まとめ
※オリジナルの資料はこちら:
https://docs.google.com/presentation/d/1LLaF5y-_OsFCmkB6YWVTKT-hrWfN8zP84uE0JaYYxzY/edit#slide=id.g77b1705055_0_304
はじめに
こんにちは。CNDT2020実行委員の@inductor & @antiberialです。
CNDO 2021 Springが始まりましたね!今回も、Cloud Nativeなカンファレンスを飾るにふさわしいゲストとして、CNCFのCTOであるChris Aniszczyk氏からキーノートセッションとしてクラウドネイティブな最新動向をお話いただいています。
運営の都合上日本語の字幕をご用意するのが難しく、今回はMediumで同氏のセッションを日本語でまとめたエントリーを同時公開します。セッション拝聴のお供に、またあとから見返すためにもお使いください!
挨拶
みなさんこんにちは。CNDOでお話の機会をいただけることを光栄に思います。願わくば、近い将来にオフラインでお会いしたいところですが、ひとまずはこのバーチャルな環境でどんなことができるか、頑張ってみましょう。
今日は、CNCFやクラウドネイティブのエコシステムが過去1年間でどのように変化してきたかのアップデートをお伝えするほか、ここ最近私が力を入れている特定の技術領域である「Cloud Native IDE(統合開発環境)」についてお話したいと思います。
早速プレゼンに入っていきましょう。みなさんがこの状況下でもうまくやれていることを祈っています。
アジェンダ
さて、まずはCNCFの組織及びクラウドネイティブなエコシステムに関する基本的なアップデートのご紹介です。過去1年の動向や、今後の動向予測についてお話ししたうえで、Cloud Native IDEの未来の話をし、最後にまとめを皆さんに共有します。
自己紹介
私のことを知らない方のために自己紹介すると、私はChris Aniszczykといいます。CNCFのCTOをしています。(親組織である)Linux Foundationに様々な形で関わっており、OCI(Open Container Initiative)の取りまとめやGraphQL FoundationやMobile Native Foundationなどの新しいオープンソース組織の立ち上げなどにも関わっています。
Twitter, Red Hat, IBMなどおよそ20年間様々な企業でオープンソースに関わってきており、世界中のオープンソース開発者たちの助けとなるべく動き回っています。
Cloud Native Computing Foundation(CNCF)
CNCFはおかげさまで設立から5年以上経っており、600を超えるメンバー企業に参加いただき、KubernetesだけでなくPrometheusのほか、ストレージ、テスト関連など様々なレイヤにまたがるクラウドネイティブを実現するためのオープンソースプロジェクトを80個以上ホスティングしています。
新しい動き:Tech Rader
みなさんが関心を持つであろう新しいCNCFからのコンテンツの1つに、Tech Radarがあります。これはCNCFに加盟するユーザー企業がそれぞれのカテゴリにおいてどんなツールを使っているかを示すレーダーで、フィードバックをもとに何が実際に動いていて、より安全に動く(枯れている)のかを示すものです。ASSESS(評価)、TRIAL(試行)、ADOPT(採用)の3段階に別れており、エコシステム全体でどのツールが実際に採用され動いているのかを確認することができます。
新しい動き:Kubernetes Community Days
他に良いお知らせというと、このパンデミックの中ではありますが、Kubernetes Community Daysというイベントを再度動かすことにしました(訳注: これは日本ではKubeFest Tokyo 2020として開催されたイベントと近いものですが、KubeFestについてはコロナの関係で”CNCFのイベントとして”開催ができなかったためCommunity Daysの名前を借りられなかったという背景があります)。
直近はアフリカとインドのバンガロールで開催を予定しており、日本でも東京や大阪のような都市で開催されることを楽しみにしています。このイベントは、CNCFと一緒にみなさんがイベントを開催できる非常に良い試みです。最終的にはオフラインにしていきたいですが、現状はオンライン開催のみを予定しています。
新しい動き:KubeCon共同開催イベント(Rust, Wasmなど)
もう1つご紹介するニュースはKubeCon EUの共同開催イベントです。新しく動き始めたRust DAY、Wasm DAYなど合わせて8つのイベントをKubeConと共同で行います。KubeConに参加されるみなさまは、ぜひこちらの共同開催イベントについても奮ってご参加ください!
2021年のクラウドネイティブとこれから
ここからは今後の動向についてお話します。まずはクラウドネイティブ関連の企業の買収についてお話していきます。興味深いことにコロナ禍であっても買収の速度が衰えることはなく、技術的な側面で面白いことをやっている企業が様々な形で動いています。近い将来パンデミックが収束した暁には、より多くの動きが見られるものと予測しています。
クラウドネイティブ + オープンソース + パンデミック下での成長!
パンデミックによって多くの会社・環境において在宅業務などが行われるようになったことから、様々な企業、専門家によって、クラウドへのシフトが加速しているという分析がなされました。地理的要因に関わらずコンテナやクラウドネイティブ技術の使用率もそれに応じて高まっています。
FinOps + クラウドの財務管理 + Chargeback
その変化の1つの結果として、クラウド利用におけるコスト管理を行う動き「FinOps」の重要性が高まってきました。様々なクラウド環境のコスト管理や、開発者に対する財務的啓蒙などを含め、Linux FoundationではFinOps Foundationを立ち上げて活動を行っています。
Kubernetes、クラウドだけでなくエッジ、IoTにも!
Kubernetesにおける大きな動きの1つとして、エッジや5Gなど様々な環境でKubernetesを動かすための取り組みが盛り上がりを見せています。k3s、KubeEdge、k0sなどがさまざまな企業によって開発されています。これまでデータセンターで動いていたクラウド技術をそういった新しい環境で動かすための動きとして注目すべきでしょう。
ユーザー駆動のオープンソースのイノベーション(ベンダーに限らず)
これまでのソフトウェアの使われ方として、ベンダーではないユーザー企業の多くはパッケージにライセンスを支払って使う方式をとるのが伝統的なやり方でした。近年ではNetflixやSpotifyといった大きなユーザー企業が自らイノベーターとなりOSSをホスティングし、競合含め世界中に公開するような動きを見せています。
Kubernetes APIによるマルチクラウド、クロスクラウドワークロードが可能に
マルチクラウドに関しても、現実的な形が見えてきました。面白いポイントとして、多くの企業は当初からマルチクラウドを意識しているというわけではなく、企業の成長の過程で別企業との買収を経ることによって、新しい会社で別のクラウド環境を使っているために結果としてマルチクラウドな構成になる、といったケースが多くあります。
Kubernetesにおける未来の形として、Crossplaneがあります。これはKubernetes APIを使いつつも、裏側で複数のクラウドを動かすためのオープンソースプロジェクトで、CRDとの組み合わせによってどのクラウドで何を動かすかを定義することができる、というものです。
ARMは組み込みだけでなく、「サーバー」にも!
2020年における大きなイノベーションには、AWS Graviton2やAppleのM1を始めとした、ARMの利用加速があります。AppleのM1チップ搭載 MacBookAirはとても動きが速く、全く熱を発しません。私も気に入っていて、このプレゼンテーションに使っています。
AWSだけでなく、他の会社でもARMの採用が進んでおり、Ampereのようなスタートアップの会社も登場しています。
サーバーとしてのARM利用が加速し、ワークロードがx86だけが動くという暗黙的な認識も近いうちに変化があることでしょう。
未来のランタイム: Web Assembly(WASM) + Kubernetes
Kubernetesの進化の1つの形に、さまざまな形式のワークロードを動かすというものがあります。例えばKubeVirtでは、Kubernetesの上でコンテナではなく仮想マシンを動かすための仕組みを作ることができます。もう1つ起きている新しい取り組みに、KubernetesにおけるWASMの利用があります。WASMはもともとブラウザでネイティブコードを動かす仕組みでしたが、今はWASIのようにWebだけではなくランタイムによって様々な環境で動かすための仕様が作られつつあります。KubernetesにおいてはマイクロソフトがPoCとしてWASMを動かすためのKubelet実装であるKrustletを作ったように、今後どうなっていくかエンジニアとして注目の技術です。
次世代のモダンなブラウザベースの事前にビルドされたクラウドネイティブなIDE環境
私は開発者の体験に対して非常に強い情熱を持っていて、約10年間Eclipseの開発環境に関わってきたのですが、トレンドを見ながら今後のポテンシャルに期待しています。一例として、複数のプロジェクトを取り上げます。Codespaces、GitPod、Eclipse Cheなどのプロジェクトがあり、モダンなブラウザベースの環境で、すぐに動かせます。
この後、さまざまな例やデモもお見せします。
クラウドネイティブIDEの時代?
変化の時が来ました!
なぜ今なのでしょうか?クラウドネイティブによって、業界の様相は変わりました。Kubernetesはあらゆるパブリッククラウドで利用可能になり、コンテナ技術は標準化され、成熟しています。DevOpsの文化は変更を高速にし、パイプラインを自動化してきました。現実には多くの開発環境で複数の言語を利用する環境を設定することは大きな痛みを伴います。環境が変わると、環境構築に膨大な時間を費やす必要があり、その過程は複雑でした。より重要なことに、この問題の原因はVS Codeのような次世代のIDEがブラウザ上で利用できなかったことにあります。ソフトウェア技術の開発でこうした課題を解決する時です。
2021年現在、、新しいコントリビューターの体験はまだひどく悪いものです。
新しいコントリビューターがプロジェクト、会社に参加するには、ビルドとテストに多くの時間がかかり、それが終わってようやくコードが書けます。1日目で準備が整うことは稀です。
開発環境をコードで記述したらどうなるでしょう?
ブラウザ上でセキュリティーポリシー、Kubernetesのシステムの状態などをYAMLなどのコードで書き、開発者でシェアし、立ち上げることができます。
クラウドネイティブなIDEを今日体験しましょう!
いいニュースとして、GitHubのCodespaceなどのプロジェクトを利用すれば今日そうした環境が手に入ります。今日はクラウドネイティブのIDEとしてGitPodというツールを紹介します。例えばGitPodをGitLab、GitHubのリポジトリから入手可能です。
GitPodの簡単なデモをPrometheusでお見せします。Promethusのリポジトリで、GitPodのバッジ(アイコン)をクリックします。裏側ではGitPodはリポジトリだけでなくビルドに必要なYAMLファイルを読み取ります。生産的なビルド済みの環境が手に入ります。初回はビルド済みの環境の起動に若干時間がかかりますが、次回以降は利用可能でシェアが可能な状態ですぐに立ち上がります。あと数秒でVS Codeの環境が立ち上がると思います。
来ました。基本的にプロジェクトをビルドして、編集ができます。
このようにブラウザ上でPrometheusのUIを変えられますし、グラフも作成/変更/保存できますし、変更をプルリクエストを通してシェアできますし、CI/CDパイプラインを使えます。
私にとっては未来の開発環境です。開発者がクラウドベースの開発体験を得られます。
まとめ
本セッションではCloud Native IDEを紹介しました。GitPodは今日見た通りでCodespacesはベータ版でGitHubでどこでも入手可能です。すぐに商用利用可能になっていきます!クリックするとすぐに使えます。Kubernetesはエッジ、IoTなどの他の環境にも拡張されていています。Kubenetes APIによりマルチクラウドがクロスクラウド以上に採用が進んでいます。Uber, Lyft, Spotifyなどのエンドユーザーによるエンドユーザー駆動のオープンソースのイノベーションが進んでいます。このプレゼンで皆さんにとって、新しい学びを得られたら幸いです。
コントリビュートしていきましょう
CNCFには、コードに関するもの(CODE)として多くのプロジェクト、SIG(Special Interest Gropus)、WG(Working Groups)などがあり、コード以外の活動(NON CODE)としてブログ、オンラインプログラム、ミートアップなどがあります。是非ご確認頂き、より多くの方がどんな方法であれ参加頂けると嬉しいです。
コミュニティに集まりましょう!
KubeCon EUがバーチャル開催されます。多くの種類のセッションがあり、そこで多くの方にお会いできればと思います。
そして10月のKubeCon NA、ロサンゼルスでは直にお会いできればと思います。
ワクチンが人々に行き渡り、勝利できたら、物理的な部分とオンラインの部分を組み合わせたハイブリットなイベントになる予定です。日本にまたすぐ行ければと願っています。
改めてお時間を頂きありがとうございます。引き続き連絡をとっていきましょう。Twitterなどで気軽に声をかけてください。多くの方と再来月のKubeCon EUでお会いできたらと思います。