Upgrade to Pro — share decks privately, control downloads, hide ads and more …

物語から入るCloud Nativeな世界(CNCF Cloud Native Landscape編) / CloudNative Days Spring 2021 ONLINE

物語から入るCloud Nativeな世界(CNCF Cloud Native Landscape編) / CloudNative Days Spring 2021 ONLINE

Cloud Nativeって言葉に対してどんなイメージをお持ちでしょうか?
私は先人と現在の実務者が積み重ねているありがたい「ベストプラクティス」のイメージがあり、事例/コード/ドキュメント/ブログなどを通して学んでいます。
一方で、絶えず研鑽と実践を積んでいかなければならず「果ての無い旅に出ている」気持ちになることがあります。
そんなCloud Nativeな世界への旅に親しみをもって気軽に入っていけるように、Cloud Nativeにまつわる物語から学んでみませんか?

このセッションでは、主にCNCF Cloud Native Landscapeを通してCloud Nativeを定義しているCNCF(Cloud Native Computing Foundation)のTOC(Technical Oversight Committee)などの動きやトレンドを紹介していきます。

セッションは下記のURLにてアカウント登録頂ければ3/12(金)15:30-16:00に配信されますので、以降視聴できます。
https://event.cloudnativedays.jp/cndo2021/talks/961

Yoshiki Fujiwara

March 09, 2021
Tweet

More Decks by Yoshiki Fujiwara

Other Decks in Technology

Transcript

  1. 物語から入るCloud Nativeな
    世界(CNCF Cloud Native
    Landscape編)
    株式会社エーピーコミュニケーションズ
    プロフェッショナル職
    藤原 善基

    View Slide

  2. 本日のメニュー
    話すこと
    𝥷自己紹介
    𝥷Cloud Nativeとは?
    𝥷Cloud Native Landscapeとは?
    𝥷実は色々あるLandscape
    𝥷CNCFの動きとトレンド
    話さないこと
    𝥷技術の詳細/実践的な内容
    2

    View Slide

  3. 本日のメニュー
    このセッションの想定リスナー
    𝥷Cloud Nativeな世界線に興味がある方
    𝥷これからCloud Nativeな世界に入って来られる方
    𝥷CNDOで視聴するセッション選びに迷われている方
    このセッションのゴール
    𝥷ご自身が興味を持っている領域とCNCFの活動をマッピングできる
    𝥷Cloud Nativeな世界に親しみが持てるようになる
    3

    View Slide

  4. 自己紹介
    名前: 藤原 善基(ふじわら よしき) / Twitter: @antiberial
    𝥷所属:株式会社エーピーコミュニケーションズ
    クラウド事業部 兼 エンジニアリングメンター室
    𝥷経歴(IT業界前): 物理コンテナの営業 (国際貨物運送業)など
    𝥷帰国子女: ギリシャ育ち(生後10ヶ月~7才)
    𝥷自然言語/文化/雑学オタク
    𝥷全国通訳案内士(英語)資格保有
    →物事を調べたり、ガイドするのが好き
    4

    View Slide

  5. 自己紹介
    𝥷コミュニティー活動 (2021年)
    𝥷Cloud Native Days Spring 2021 ONLINEの実行委員
    𝥷July Tech Festa 2021winterのプログラム委員...など
    𝥷SRE/ DevOps/Kubernetesに関する3つの英語のメルマガをまとめたブログを毎週執筆
    𝥷はてなブログ(土-日) 𝥷英語ブログ(Medium)(月-水) 𝥷Clubhouseでふりかえり(月)
    5

    View Slide

  6. 𝥷Cloud Native物語
    ~話は遡る~
    ・2014年、Googleは、コンテナのオーケストレーションに使用していた「 Borg」という内部プロジェクト
    をオープンソース化した。
    ・プロジェクトを着地する場所がなかったため、
    GoogleはThe Linux Foundationと提携してCloud
    Native Computing Foundation(CNCF)を世に送り出した。
    ・これにより、Kubernetesやその他のCloud Native Solutionの開発とコラボレーションが促進され
    た。
    ~プロローグ~
    6

    View Slide

  7. 𝥷Cloud Native物語
    ~話は続く~
    ・Borgの実装はGoで書き直され、Kubernetesに名前が変更され、始まりのプロジェクトとして
    CNCFに寄贈された。
    ・Kubernetesはほんの始まりに過ぎず、新しいプロジェクトの群れが CNCFに加わり、Kubernetes
    の機能が拡張されることが早い段階で明らかになった。
    (~The beginner’s guide to the CNCF landscape、The history of the CNCFより拙訳~)
    ~プロローグ~
    7

    View Slide

  8. 𝥷Cloud Native物語
    ~話は続く~
    ・Borgの実装はGoで書き直され、Kubernetesに名前が変更され、始まりのプロジェクトとして
    CNCFに寄贈された。
    ・Kubernetesはほんの始まりに過ぎず、新しいプロジェクトの群れが CNCFに加わり、Kubernetes
    の機能が拡張されることが早い段階で明らかになった。
    (~The beginner’s guide to the CNCF landscape、The history of the CNCFより拙訳~)
    ・こうして新たな時代が始まった。
    ・世は正に「Cloud Native時代」!!
    ~プロローグ~
    8

    View Slide

  9. 𝥷Cloud Native物語
    ~話は続く~
    ・Borgの実装はGoで書き直され、Kubernetesに名前が変更され、始まりのプロジェクトとして
    CNCFに寄贈された。
    ・Kubernetesはほんの始まりに過ぎず、新しいプロジェクトの群れが CNCFに加わり、Kubernetes
    の機能が拡張されることが早い段階で明らかになった。
    (~The beginner’s guide to the CNCF landscape、The history of the CNCFより拙訳~)
    ・「Cloud Native時代」!!←って、言いたかっただけ。
    巷でバズワードの様に扱われている「
    Cloud Native」について、発端となった出来事を物語の形でプ
    ロローグとして取り扱いました。
    ・以降、「Cloud Native」な世界について、今出てきた「CNCF」を軸に触れていきます。
    ~プロローグ~
    9

    View Slide

  10. 𝥷~誰が定義しているのか?~
    CNCFのTOC(Technical Oversight Committee)が
    定義しています。
    𝥷CNCFはThe Linux Foundation傘下のコミュニティー
    ・The Linux Foundationは複数のコミュニティーを運営しており、コミュニティーごとにホストしている
    プロジェクトがあり、本セッションでは複数のコミュニティーが登場します。
    𝥷CNCF Overview 2021
    ・これから私が説明する内容の大部分を見やすい資料で、まとめているのでオススメです。
    「A Brief History of the Cloud」など、よく引用されている資料も含まれています。
    Cloud Nativeとは?
    10

    View Slide

  11. 𝥷~CNCFはどんな構成なのか?~
    Cloud Nativeとは?
    11
    Governing
    Board
    Technical
    Oversight
    Committee
    End User
    Community
    Marketing
    Committee
    Special
    Interest
    Groups
    End User
    SIGs and
    User Groups
    • Mainly vendors
    • Fund the organization
    • Marketing and strategic
    direction
    • 11 to technical architects
    • Admit new projects
    • Acts as a resource to
    projects
    • Real end users of these technologies
    • Communicate back requirements
    • and good and bad experiences

    View Slide

  12. 𝥷〜TOCの役割とは?〜
    ・CNCFの技術的ビジョンを定義および維持する
    ・理事会(GB/Governing Board)によって設定された CNCFの範囲内で新しいプロジェクトの承認
    ・プロジェクトの概念アーキテクチャを作成し、プロジェクトを調整し、プロジェクトを削除またはアーカ
    イブする
    ・エンドユーザー理事会 (End User Board)からのフィードバックを受け入れ、プロジェクトにマップす

    ・管理下のコンポーネントへのインターフェイスの調整 (標準化する前のコードリファレンス実装
    )、お
    よびCNCFプロジェクト全体に実装される一般的なプラクティス (存在する場合)を定義する
    Cloud Nativeとは?
    12

    View Slide

  13. 𝥷〜TOCの指針とは?〜
    ・CNCF TOC Principles
    𝥷TOC Operating Principles
    𝥷We Are Project-Centric
    𝥷Projects Are Self-Governing
    𝥷What We're Looking For
    𝥷No Kingmakers & One Size Does Not Fit All
    𝥷Not a Standards Body
    𝥷We Want a Comprehensive Toolchain
    𝥷Above All We Want To Help Projects
    Cloud Nativeとは?
    13

    View Slide

  14. 𝥷〜TOCの指針とは?〜
    ・CNCF TOC Principles
    𝥷No Kingmakers & One Size Does Not Fit All
    「TOCは、広く使用される可能性のあるプロジェクトを選択するが、各カテゴリの勝者を選択するわけ
    ではない。類似または競合するプロジェクトは、重複の理由で除外されない。」 (一部抜粋した拙訳)
    →エンドユーザー側の多くの異なるサイズ、ユースケース、ニーズに応じた選択ができる様にする、
    一つのサイズ(プロジェクト/プロダクト)に全てを当てはめない。
    Cloud Nativeとは?
    14

    View Slide

  15. 𝥷CNCF Cloud Native Definition v1.0日本語版(1/3)
    ・クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代
    的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力
    を組織にもたらします。
    このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラ
    ストラクチャ、および宣言型 APIがあります。
    Cloud Nativeとは?
    15

    View Slide

  16. 𝥷CNCF Cloud Native Definition v1.0日本語版(2/3)
    ・(コンテナ、サービスメッシュ・・・) これらの手法により、回復性、管理力、および可観測性のある疎結合
    システムが実現します。
    これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で
    頻繁かつ予測どおりに行うことができます。
    Cloud Nativeとは?
    16

    View Slide

  17. 𝥷CNCF Cloud Native Definition v1.0日本語版(3/3)
    ・Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシ
    ステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。
    私たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。
    Cloud Nativeとは?
    17

    View Slide

  18. この定義では、「疎結合」「回復力」「管理性」「可観測性」「自動化により、堅牢かつ期待通りに、最小
    限の労力で更新できる」といった点が、クラウドネイティブの特性として挙げられています。
    クラウドなどを使う際のベストプラクティスを文言化したものが、クラウドネイティブだと思います

    あくまでも、ベストプラクティスとしての属性を表現したものです。それを達成するために、技術やコン
    セプト、考え方があります。これらについては、現在とは別のものが、今後新たに出てくる可能性があ
    ります。
    「どうやってスケーラブルなアプリケーションを作れるようにしていくか」がテーマ なので、それを目指
    していくことによって、クラウドの使い方のベストプラクティスとか、適切なアプリケーションの設計が
    できるようになっていくと私は信じています。
    Cloud Nativeとは?
    18
    引用: 「クラウドネイティブ」はどう誤解されている

    View Slide

  19. 𝥷どう捉えれば良いか?
    「クラウドなどを使う際のベストプラクティスを文言化したもの 」
    「どうやってスケーラブルなアプリケーションを作れるようにしていくか 」がテーマ
    ...と捉えることができる。
    𝥷では、エンジニアとしてどう向き合っていくか?
    ・何から手を付ければ良い?
    ・キーワードが多く、アップデート情報を追うだけでも大変
    ・「果ての無い旅に出ている」気持ちになる
    →CNCFが道標となる「Cloud Native Landscape」を用意している。
    Cloud Nativeとは?
    19

    View Slide

  20. Cloud Native Landscapeとは?
    𝥷Cloud Native Landscape
    ・CNCF Cloud Native Landscapeはこれまで未知の領域である Cloud Native Technologyを通過
    する企業や開発者を支援するリソースマップとなることを意図している。
    ・Cloud Nativeなアプリをデプロイするためには多くのルートがあり、ここでは CNCFプロジェクトと共
    に特によく通過される道筋を表している。
    Redpoint VenturesおよびAmplify Partnersと共同で作成
    されている。
    20

    View Slide

  21. Cloud Native Landscapeとは?
    𝥷Cloud Native Landscapeは以下の階層構造。
    𝥷Trail Map
    𝥷Interactive Version
    𝥷New Entries
    𝥷Logos
    𝥷SVGs with Embedded Text
    𝥷Corrections
    𝥷External Data
    𝥷Best Practices Badge
    𝥷Non-Updated Items
    𝥷License
    𝥷Formats
    𝥷Installation
    𝥷Vulnerability reporting
    𝥷Adjusting the Landscape View
    21

    View Slide

  22. Cloud Native Landscapeとは?
    𝥷Trail Map
    Cloud Native Journeyを開始する企業に概
    要/ステップを提供するもの。
    22

    View Slide

  23. Cloud Native Landscapeとは?
    𝥷Interactive Version
    「Cloud Native
    Landscape」と呼ぶ時には、
    これを指す場合もあります。
    InteractiveにCNCF
    Relation、Licenseなどのさ
    まざまな条件でプロジェクト
    をソートができます。
    23

    View Slide

  24. Cloud Native Landscapeとは?
    𝥷画面操作にて案内(デモ)
    ソート条件例:
    𝥷CNCF Relation
    𝥷Not Open Source(グレーアウト)
    𝥷CNCF Member Products/Projects
    𝥷Non-CNCF Member Products/Projects
    𝥷License
    𝥷Not Open Source
    𝥷Open Source
    𝥷Apache License 2.0
    𝥷...and more!!
    24

    View Slide

  25. Cloud Native Landscapeとは?
    𝥷オススメ情報ソース(英語)
    The New Stack社のCNCF Landscapeの概観、各レイヤーを
    紹介しているシリーズの記事。
    An Introduction to the Cloud Native Landscape
    𝥷The Application Definition and Development Layer  𝥷The Runtime Layer Explained
    𝥷The Orchestration and Management Layer  𝥷The Provisioning Layer Explained
    25

    View Slide

  26. 実は色々あるLandscape
    𝥷デモで案内したもの
    𝥷Serverless landscape(Interactive Landscapeのタブ操作、もしくは(png, pdf))
    𝥷Member landscape(Interactive Landscapeのタブ操作、もしくは (png, pdf) )
    𝥷LF AI & Data Foundation Interactive Landscape
    GitHubの「Landscapeapp」で先述のCNCF Cloud Native Interactive Landscapeと同じくWeb
    ページをサポートしている。
    𝥷Continuous Delivery Landscape
    CNCF Cloud Native Interactive Landscapeをモデルにしていて、同じオープンソースコードに基づ
    いている。Continuous Delivery Landscapeを運営しているThe Continuous Delivery Foundation
    (CDF) はThe Linux Foundation傘下のコミュニティー。
    26

    View Slide

  27. 𝥷~CNCFはどんな構成なのか?~(再掲)
    CNCFの動きとトレンド
    27
    Governing
    Board
    Technical
    Oversight
    Committee
    End User
    Community
    Marketing
    Committee
    Special
    Interest
    Groups
    End User
    SIGs and
    User Groups
    • Mainly vendors
    • Fund the organization
    • Marketing and strategic
    direction
    • 11 to technical architects
    • Admit new projects
    • Acts as a resource to
    projects
    • Real end users of these technologies
    • Communicate back requirements
    • and good and bad experiences

    View Slide

  28. 𝥷TOCのメンバーは2年任期。選挙制。
    CNCFの記事: Welcome to our 5 new TOC members!
    理事会(GB/ Governing Board)から任命された以下の 3名が選出
    ・Erin Boyd, Apple (@erinaboyd) – Currently an Engineer at Apple.
    ・Cornelia Davis, Weaveworks (@cdavisafc) – As the CTO at Weaveworks
    ・Lei Zhang, Alibaba (@resouer) – Co-maintainer of Kubernetes community, and co-chair of CNCF App Delivery SIG.
    エンドユーザー理事会 (End User Board)から任命された以下の 2名が選出
    ・Dave Zolotusky, Spotify (@dzolotusky) – Software engineer on Spotify’s Platform team in Stockholm, Sweden.
    ・Ricardo Rocha, CERN (@ahcorporto) – Computing engineer at CERN currently part of the CERN cloud team, focusing
    primarily on networking, containers, and more recently machine learning infrastructure.
    ・以下のメンバーが退任
    Brendan Burns (@brendandburns), Matt Klein (@mattklein123) and Xiang Li (@xiangli0227)
    CNCFの動きとトレンド
    28

    View Slide

  29. CNCFの動きとトレンド
    𝥷CNCF End User Technology Radarとは?
    ・一連の新しいテクノロジーへの独創的なガイド。
    ・エンドユーザーがクラウドネイティブで使用するソリューションと推奨するソリューションを理解したい
    技術者が対象。
    ・ソリューションを次の 3つのレベル(Adopt/Trial/Assess)のいずれかに配置している。
    過去取り上げているカテゴリーは以下
    𝥷Secret management, January 2021
    𝥷Database Storage, November 2020
    𝥷Observability, September 2020
    𝥷Continuous Delivery, June 2020
    29

    View Slide

  30. CNCFの動きとトレンド
    𝥷KubeCon + CloudNativeCon NA 2020にて
    𝥷TOC chairのLiz Rice氏より
    𝥷2021年に注目する技術「5 technologies to watch in 2021」として紹介。
    𝥷Chaos Engineering
    𝥷Kubernetes Edge
    𝥷Service Mesh
    𝥷WASM and eBPF
    𝥷Developer & Operator Experience
    ・5個目は技術と言うよりも、技術がフォーカスするポイント?
    ・KubeCon + CloudNativeCon EU 2021のCo-Located Eventsもほぼこれに沿っている。
    30

    View Slide

  31. ~エピローグ~
    話したこと
    𝥷Cloud Nativeとは?
    →TOCが定義している。
    「クラウドなどを使う際のベストプラクティスを文言化したもの」と捉えることができる。
    𝥷Cloud Native Landscapeとは?
    →Cloud Native Technologyを通過するためのリソースマップとして、企業や開発者を支援すること
    を意図としたもの。Trail Map、Interactive versionなどがある。
    𝥷実は色々あるLandscape
    →LF AI & Data Foundation Interactive Landscape、Continuous Delivery Landscapeなど。
    𝥷CNCFの動きとトレンド
    →TOCのメンバー入れ替え、CNCF End User Technology Radar、5 technologies to watch in
    2021。
    31

    View Slide

  32. このセッションのゴール
    𝥷ご自身が興味を持っている領域と CNCFの活動をマッピングできる
    𝥷Cloud Nativeな世界に親しみが持てるようになる
    →こちらをゴールとして設定させて頂きましたが、いかがでしたでしょうか。
    CNDOの他のセッション、CNCFの発信している情報に興味を持って頂けたら幸いです。
    Before After
    ~エピローグ~
    32

    View Slide

  33. 今後のアクションについて
    𝥷コミュニティーに参加していきましょう
    Slackのコミュニティーにこれから入られる方は、以下から登録が可能です。
    ・Kubernetesはslack.kubernetes.ioから。
    →Kubernetesのドキュメント翻訳に興味がある方は「
    #kubernetes-docs-ja」チャンネルからご参
    加ください(ドキュメントサイトのローカライズ (k/website)など)。
    ・CNCFはslack.cncf.io/から。
    ~エピローグ~
    33

    View Slide

  34. 今後のアクションについて
    𝥷「英語は敷居が高い!」という方は
    Slackのコミュニティーなどは日本語での情報があり、教え合う文化があります。
    安心してお入りください。Kubernetesであれば、#jp-events、#jp-usersチャンネルなど。
    𝥷情報を発信している方や組織をフォローしましょう
    Twitter: CNCF/CNCFの各プロジェクト、各プロジェクトの Maintainerなど
    CNDOは日本語で発信されている方が集っているイベントなので絶好の場ですね!
    𝥷私も週刊で情報をまとめています
    SRE/ DevOps/Kubernetesに関する3つの英語のメルマガをまとめたブログを毎週執筆
    𝥷はてなブログ
    ~エピローグ~
    34

    View Slide

  35. ご参加をお待ちしています!
    𝥷CNCFとは?→「コミットする人達の集まり」「学ぶこともコミット」
    Keynote: End to End: The Foundation of Doers - Priyanka Sharma, General Manager, CNCF
    ~エピローグ~
    35

    View Slide

  36. 36
    ご静聴
    ありがとうございました!
    See you soon!!

    View Slide