$30 off During Our Annual Pro Sale. View Details »

CloudNative_TrailMap_クラウドネイティブの旅に出よう: Trail Mapの初心者向け解説!

CloudNative_TrailMap_クラウドネイティブの旅に出よう: Trail Mapの初心者向け解説!

本資料は次のイベントの投影資料です。

<イベント名>
クラウドネイティブの旅に出よう: Trail Mapの初心者向け解説!

<イベントページ>
https://ibm-developer.connpass.com/event/284552/

<概要>
クラウドを活用したシステム開発の思想として「クラウドネイティブ」という概念が近年主流になりつつあります。

しかし、一言でクラウドネイティブといっても、コンテナやマイクロサービス、SREなど、関連するテクノロジーが多く進歩も激しいため、なかなかキャッチアップできず一歩を進めないという方も多いのではないでしょうか。

本勉強会では、クラウドネイティブを理解して実装するためのガイドツールとして有名な「Trail Map」の内容を解説しながら、クラウドネイティブに関する理解・興味を持ってもらうことが目的となります。

また、近年CNCFがリリースしている「成熟度モデル」についても合わせて簡単にご紹介します。

これからクラウドサービスを活用してシステム開発を検討されている方や、次のステップに悩まれている方がいればぜひご参加ください。

Takahiro Esaki

June 13, 2023
Tweet

More Decks by Takahiro Esaki

Other Decks in Technology

Transcript

  1. - 1 -
    - 1 -
    クラウドネイティブの旅に出よう:
    Trail Mapの初⼼者向け解説︕
    ー企業がクラウドネイティブを始めるにあたっての道標ー
    2023/06/13

    View Slide

  2. - 2 -
    - 2 -
    アジェンダ
    1 Φʔϓχϯά
    2 Trail Mapͷ͝঺հ
    3 ࣭ٙԠ౴ɾΫϩʔδϯά

    View Slide

  3. - 3 -
    - 3 -
    アジェンダ
    1 Φʔϓχϯά
    2 Trail Mapͷ͝঺հ
    3 ࣭ٙԠ౴ɾΫϩʔδϯά

    View Slide

  4. - 4 -
    - 4 -
    はじめに
    n 当イベントは⽇本IBMおよび⽇鉄ソリューションズの有志エンジニアによって企画された勉強会です
    • クラウドネイティブやマイクロサービスなどのテーマを中⼼に、今後も⾊々な勉強会・イベントを開催する予定です
    n 本勉強会の内容は、エンジニア個⼈の⾒解であり、所属する企業の公式⾒解ではありません
    n セッション中はミュートでの参加にご協⼒お願いします
    n 質問はWebExのチャットにて受け付けます
    n 本イベントは録画してアーカイブ公開する予定ですので、その点ご了承ください
    n 本発表で利⽤している製品の名称およびロゴは下記の組織または企業の商標となります
    • CNCFおよびCNCFロゴデザインはCloud Native Computing Foundationの登録商標です
    • Kubernetes, k8s, fluentd, Prometheus, Jenkins, Tekton, Helm, OpenTelemetry, ArgoCDおよびそれらのロゴはLinux Foundationの登録商標です
    • Docker および Dockerロゴは、⽶国および/またはその他の国におけるDocker, Inc.の商標または登録商標です
    • Microsoft Visual Studio Codeは⽶国Microsoft Corp.の⽶国およびその他の国における登録商標です
    • IntelliJ および IntelliJのロゴは、⽶国JetBrainsの登録商標です
    • NS(ロゴ)、NSSOL、NS Solutionsは、⽇鉄ソリューションズ株式会社の登録商標です
    • その他本⽂記載の会社名及び製品名は、それぞれ各社の商標⼜は登録商標です

    View Slide

  5. - 5 -
    講師紹介
    ⽇本アイ・ビー・エム株式会社
    テクノロジー事業本部
    Customer Success Manager
    江﨑崇浩
    ⽇鉄ソリューションズ株式会社
    技術本部 システム研究開発センター
    クラウドネイティブアーキテクチャグループ
    ⻘⽊洋輔
    ⽇鉄ソリューションズ株式会社
    技術本部 システム研究開発センター
    クラウドネイティブアーキテクチャグループ
    原 伸樹

    View Slide

  6. - 6 -
    アンケートやご質問も積極的にお願いします
    アンケートはこちらから
    https://app.sli.do/event/gLbA1jHZM7BHzDkajEgWAF

    View Slide

  7. - 7 -
    - 7 -
    本⽇の内容
    n ⽬標
    • クラウドネイティブの重要性は認知されつつあるものの実際の企業レベルではなかなか浸透しない現状で、具体的な
    技術テーマを勉強しながら、前向きなアクションをとってもらいたい
    • CNCFが出している「Trail Map」をベースにして、クラウドネイティブに関する知識・興味を深めてもらう
    n 対象者
    • パブリッククラウドを活⽤してシステム開発を実施していきたいと考えている⽅
    • コンテナ/マイクロサービス/SREなどのキーワードに興味があるけど具体的に何のことか分からない⽅
    • クラウドネイティブについて全体像的な知⾒を獲得したい⽅
    n ご依頼
    • イベント後に、SNSやアンケートなどでフィードバックをください︕
    ü 特に、クラウドネイティブに関する興味領域やお悩みについて教えてください
    • 紹介したリソースを読んでみてください or 技術を触ってみてください︕
    • 他にも企画中の勉強会があるので、そちらもチェック&参加してください︕
    ࣭͝໰΍ίϝϯτΛͲΜͲΜ͓ئ͍͠·͢ʂ

    View Slide

  8. - 8 -
    - 8 -
    アジェンダ
    1 Φʔϓχϯά
    2 Trail Mapͷ͝঺հ
    3 ࣭ٙԠ౴ɾΫϩʔδϯά

    View Slide

  9. - 9 -
    - 9 -
    クラウドネイティブとは︖
    n CNCFの紹介
    2015年に設⽴された、クラウドネイ
    ティブコンピューティングの持続可能な
    エコシステム構築を⽬指したLinux
    Foundation配下のプロジェクト
    出典︓https://landscape.cncf.io/
    2023年6⽉5⽇現在、1,184 のプロジェ
    クトがCNCFによってホストされている。

    View Slide

  10. - 10 -
    - 10 -
    クラウドネイティブとは︖
    n クラウドネイティブの定義
    CNCFによるクラウドネイティブの定義
    クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルな
    アプリケーションを構築および実⾏するための能⼒を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イ
    ミュータブルインフラストラクチャ、および宣⾔型APIがあります。
    これらの⼿法により、回復性、管理⼒、および可観測性のある疎結合システムが実現します。 これらを堅牢な⾃動化と組み合わせることで、エンジニアはインパ
    クトのある変更を最⼩限の労⼒で頻繁かつ予測どおりに⾏うことができます。
    API Gateway
    製品管理
    製品検索
    製品
    レビュー
    注⽂
    追跡
    オーダー
    管理
    チェック
    アウト
    ギフト
    カード
    配達⼿配
    カート
    ⽀払い
    税⾦管理
    カード
    管理
    クーポン
    詐欺検知
    顧客
    サポート
    返品管理
    推薦
    店舗管理
    特集
    お気に⼊
    りリスト
    購⼊履歴
    コンテナオーケストレーター
    ⾃動化
    可観測性
    回復性
    セキュリティ
    管理性
    エンドポイント管理
    ⼿段の例︓API Gateway
    アプリケーション層
    ⼿段の例︓マイクロサービス
    インフラ層
    ⼿段の例︓宣⾔的API、
    コンテナ、
    サービスメッシュ、
    パブリッククラウド、
    プライベートクラウド、
    SaaS、PaaSなど
    ⾮機能品質
    クラウドシステム
    堅牢な⾃動化
    ⼿段の例︓IaC, CI/CD
    アジリティ
    出典︓https://github.com/cncf/toc/blob/main/DEFINITION.md#%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88
    ▼⼩売業におけるデジタル/店舗のオムニチャネルによる販売管理システムの例

    View Slide

  11. - 11 -
    - 11 -
    クラウドネイティブとは︖
    n クラウドネイティブ成熟度モデル
    領域 説明 Level1 Build Level2 Operate Level3 Scale Level4 Improve Level5 Optimize
    People 開発者、組織のあり⽅、
    セキュリティ⽅針など
    技術的な理解を持つ新し
    い⼈々。クラウドネイ
    ティブが技術的・ビジネ
    ス的な⽬標になっている。
    トレーニングやスキルに
    積極的に投資。⼀部のク
    ラウドネイティブエキス
    パートが開発者の中にい
    る状態。組織変⾰中
    開発、運⽤、セキュリ
    ティからコミットメント
    を得ている。CoEを中⼼と
    した専⾨知識の標準化
    開発チームにコンピテン
    シーをシフトし、開発
    チームはコンテナを構築
    している状態
    DevOps, DevSecOpsが機
    能している。チームは新
    しい技術やサンドボック
    スでの実験に慣れている
    Process ログ取得、CI/CD、変
    更管理、セキュリティ
    などのプロセス導⼊状

    CI/CDの導⼊・使い始め
    変更管理は未導⼊。
    セキュリティ対策未成熟
    ログ取得は⼿動
    CI/CDプロセス成熟
    CI/CDによる変更管理
    CIでのコンテナスキャン
    ログ集約
    CI/CDにCoE導⼊
    頻繁なCI、テストの成功
    ⾃動継続スキャン
    アラート、監査
    リリース速度の測定/改善
    継続的デプロイメント未
    セキュリティ修復⾃動化
    監査とアラートが主流
    ビジネス効果の可視化
    品質チェック⾃動化
    セキュリティ監視
    監査の強制
    Policy シフトレフトセキュリ
    ティを受け⼊れるため
    のポリシーの受⼊状況
    限定的に⽂書化されてい

    初期ポリシーは標準とし
    て合意されており、ほと
    んどが⽂書されている
    ポリシーをコードとして
    実装てしいる
    ポリシーと修復に関する
    SLAを定義している
    学習した内容をもとに組
    織の成熟度に合わせて機
    械学習を活⽤しながらポ
    リシーを洗練している
    Technologies CI/CD、GitOps、可観
    測性、セキュリティな
    どの技術導⼊状況
    Kubernetesの初期導⼊検
    証。基本的なツールの導
    ⼊。⾃動化は限られてい

    Prometheusを導⼊し、標
    準的なメトリクスでクラ
    スタを監視。トレースは
    必要性の評価を⾏ってい

    特定の機能に対して標準
    化されたツール群が登場。
    組織全体が賛同しツール
    利⽤が拡⼤している
    未知のものはなく、環境
    を完全にコントロールし
    ている。キャズムを超え
    ている
    スキャン、セキュリティ、
    テスト、オペレータなど
    機能的・⾮機能的な領域
    全てで⾃動化が進んでい

    Business
    Outcomes
    ビジネスリーダー、
    CxO、取締役会との関
    わり状態
    PoCが成功し、何らかのメ
    リットが認識されている
    状態
    ⽂書化されたビジネス⽬
    標を⽤いてビジネス上の
    成果を検証し、ビジネス
    上の利害関係者と議論し
    ている
    定期的なモニタリングを
    実施し、施策を⾒直して
    いる状態
    ビジネス⽬標とより連動
    している状態。コンプラ
    イアンス、セキュリティ、
    パフォーマンス、コスト
    のなどに関するレポート
    が作成
    ビジネス上の成果を達成
    し、ビジネス上の利害関
    係者に⽰せるデータがあ
    る状態。ワークロードの
    最適化が⽬標に合わせて
    ⾏われ続けている状態
    出典︓https://maturitymodel.cncf.io/
    評価済み 本番環境 ⼤規模化 ガバナンス強化 成熟期

    View Slide

  12. - 12 -
    - 12 -
    Trail Mapとは︖
    n CNCFは全10ステップに分けて、導⼊するべきクラウドネイティブ技術を紹介しており、
    GitHub上で公開されています。
    1. CONTAINERIZATION
    - アプリケーションのコンテナ化
    2. CI/CD
    - 継続的インテグレーション/継続的デリバリー
    3. ORCHESTRATION & APPLICATION DEFINITION
    -オーケストレーションとアプリケーションの定義
    4. OBSERVABILITY & ANALYSIS
    - 可観測性と分析
    5. SERVICE PROXY, DISCOVER & MESH
    - サービスディスカバリー、サービスメッシュ
    6. NETWORKING, POLICY & SECURITY
    - ネットワークポリシー、ネットワークセキュリティ
    7. DISTRIBUTED DATABASE & STORAGE
    - 分散データベース、分散ストレージ
    8. STREAMING & MESSAGING
    - ストリーミング、メッセージング
    9. CONTAINER REGISTRY & RUNTIME
    - コンテナレジストリ、コンテナランタイム
    10.SOFTWARE DISTRIBUION
    - ソフトウェア分配
    出典︓https://github.com/cncf/trailmap

    View Slide

  13. - 13 -
    - 13 -
    Trail Map ~⾷品⽣産で考える~
    Step1
    CONTAINERIZATION
    Step2
    CI/CD
    Step3
    ORCHESTRATION&
    APPLICATION
    DEFINITION
    Step4
    OBSERVABILITY
    ANALYSIS
    Step6
    NETWORKING
    POLICY &
    SECURITY
    Step5
    SERVICE PROXY
    DISCOVERY &
    MESH
    Step7
    DISTRIBUTED
    DATABASE &
    STORAGE
    Step8
    STREAMING &
    MESSAGING
    Step10
    SOFTWARE
    DISTRIBUTION
    Step9
    CONTAINER
    REGISTRY &
    RUNTIME
    商品を作る ⽣産ラインを作る
    ⽣産ラインを
    増加・管理する
    ⽣産状況を
    監視する
    より最適な⽣産⽅法を
    活⽤する
    より安全・確実な
    ⽣産ラインにする
    より安全に
    仕様書/設計書を管理する
    より需要を踏まえた
    ⽣産⽅法を利⽤する
    より安全に在庫を
    管理する
    ⾷品の品質を
    より⾼くする

    View Slide

  14. - 14 -
    - 14 -
    Trail Map ~⾷品⽣産で考える~
    Step1
    CONTAINERIZATION
    Step2
    CI/CD
    Step3
    ORCHESTRATION&
    APPLICATION
    DEFINITION
    Step4
    OBSERVABILITY
    ANALYSIS
    Step6
    NETWORKING
    POLICY &
    SECURITY
    Step5
    SERVICE PROXY
    DISCOVERY &
    MESH
    Step7
    DISTRIBUTED
    DATABASE &
    STORAGE
    Step8
    STREAMING &
    MESSAGING
    Step10
    SOFTWARE
    DISTRIBUTION
    Step9
    CONTAINER
    REGISTRY &
    RUNTIME
    商品を作る ⽣産ラインを作る
    ⽣産ラインを
    増加・管理する
    ⽣産状況を
    監視する
    より最適な⽣産⽅法を
    活⽤する
    より安全・確実な
    ⽣産ラインにする
    より安全に
    仕様書/設計書を管理する
    より需要を踏まえた
    ⽣産⽅法を利⽤する
    より安全に在庫を
    管理する
    ⾷品の品質を
    より⾼くする
    成熟度Level1は
    ここまで

    View Slide

  15. - 15 -
    - 15 -
    Trail Map ~⾷品⽣産で考える~
    Step1
    CONTAINERIZATION
    Step2
    CI/CD
    Step3
    ORCHESTRATION&
    APPLICATION
    DEFINITION
    Step4
    OBSERVABILITY
    ANALYSIS
    Step6
    NETWORKING
    POLICY &
    SECURITY
    Step5
    SERVICE PROXY
    DISCOVERY &
    MESH
    Step7
    DISTRIBUTED
    DATABASE &
    STORAGE
    Step8
    STREAMING &
    MESSAGING
    Step10
    SOFTWARE
    DISTRIBUTION
    Step9
    CONTAINER
    REGISTRY &
    RUNTIME
    商品を作る ⽣産ラインを作る
    ⽣産ラインを
    増加・管理する
    ⽣産状況を
    監視する
    より最適な⽣産⽅法を
    活⽤する
    より安全・確実な
    ⽣産ラインにする
    より安全に
    仕様書/設計書を管理する
    より需要を踏まえた
    ⽣産⽅法を利⽤する
    より安全に在庫を
    管理する
    ⾷品の品質を
    より⾼くする
    成熟度Level2を⽬指すなら
    まずはここ
    ຊ೔͸4UFQ·Ͱʹ͍ͭͯઆ໌͠·͢ʂ

    View Slide

  16. - 16 -
    - 16 -
    1. CONTAINERIZATION
    n ⼤まかな⽇本語訳
    • コンテナ化は基本的にDockerコンテナで
    実現する
    • どんなサイズのアプリや依存関係でもコ
    ンテナ化できる
    (PDP-11のようなエミュレーターで動く
    古いコードであっても)
    • マイクロサービスを実現するために、時
    間をかけて適切にアプリを分割し、将来
    に向けた機能性を定義すべき
    Ωʔϫʔυɿʮίϯςφʯʮ%PDLFSʯʮϚΠΫϩαʔϏεʯ
    商品を作る

    View Slide

  17. - 17 -
    - 17 -
    コンテナとは︖
    n コンテナ
    • 仮想化技術の1つで、OS内の空間を分けてCPUやメモリなどのリソースを隔離し、仮想的な空間内でアプリケーショ
    ンを独⽴に動作させることが可能(プロセスレベルで仮想化を実現)
    ෺ཧαʔόʔ
    ϋʔυ΢ΣΞ
    ϋΠύʔόΠβʔ
    ϋʔυ΢ΣΞ
    04
    ίϯςφΤϯδϯ
    ίϯςφʹΑΔ
    OSͷԾ૝Խ
    ϋʔυ΢ΣΞ
    04
    ϋΠύʔόΠβʔԾ૝Խ
    Ծ૝Խͳ͠
    ΞϓϦ
    ΞϓϦ
    ΞϓϦ
    ΞϓϦ
    Ծ૝Ϛγϯ 7.

    ήετ04
    ΞϓϦ
    ΞϓϦ
    ίϯςφ
    CJOMJC
    ΞϓϦ
    ίϯςφ
    CJOMJC
    ΞϓϦ
    ίϯςφ
    CJOMJC
    ΞϓϦ
    ίϯςφ
    CJOMJC
    ΞϓϦ
    Ծ૝Ϛγϯ 7.

    ήετ04
    ΞϓϦ
    ΞϓϦ
    CJOMJC CJOMJC
    CJOMJC
    ϗετ04
    n コンテナの特徴は︖
    • 仮想マシンに⽐べて軽量で⾼速、ポータビリティーが⾼い、スケールアウトが容易
    →マイクロサービスとの親和性が⾼い

    View Slide

  18. - 18 -
    - 18 -
    マイクロサービスとは︖
    n マイクロサービス
    • アプリケーションを⼩さな機能ごとに分割し、独⽴したサービスとして連携・動作して価値提供するアーキテクチャ
    Ϋϥ΢υωΠςΟϒΛ໨ࢦ͢͜ͱͰɺϚΠΫϩαʔϏεͷ࣮ݱʹۙͮ͘͜ͱ͕Մೳ
    ड஫
    Χλϩά
    ࢓ೖ
    ܦཧ
    ࢧ෷
    ഑ૹ
    Ωϟϯϖʔ
    ϯ
    ސ٬
    ϞϊϦγοΫ
    bin/lib
    ϚΠΫϩαʔϏε
    Χλϩά
    bin/lib
    ड஫
    bin/lib
    ࡏݿ
    bin/lib
    ࢧ෷
    bin/lib
    ސ٬
    bin/lib
    Ωϟϯ
    ϖʔϯ
    bin/lib
    ഑ૹ
    bin/lib
    ܦཧ
    bin/lib
    • サービス同⼠が疎結合
    • 独⽴してデプロイ可能
    • ビジネス機能を中⼼に編成
    • スケーリングが容易
    • 障害影響が限定的
    • 保守とテストが簡単
    • 開発サイクルの短縮
    • ビジネス要求への
    迅速な対応
    ϚΠΫϩαʔϏεͷಛ௃

    View Slide

  19. - 19 -
    - 19 -
    Dockerとは︖
    n Docker
    • コンテナ化するための代表的な技術の⼀つ(他にはPodmanなど)
    • Docker社が開発・提供しているコンテナ化のためのソフトウェアプラットフォーム
    n Dockerを使ったコンテナ開発・実⾏の流れ
    Dockerfileなど Docker
    イメージ※など
    DockerHub
    など
    マニフェストでコン
    テナ⾃体の詳細を記

    開発者
    コンテナー
    イメージ作成
    レジストリー
    へ登録
    アプリ実⾏
    コンテナ
    コンテナ
    コンテナ
    開発環境
    テスト環境
    本番環境
    ※Dockerイメージにアプリケーションに
    必要なものを全て含んでいる(コード、
    ランタイム、システムツール、システム
    ライブラリ、設定など)

    View Slide

  20. - 20 -
    - 20 -
    2. CI/CD
    n ⼤まかな⽇本語訳
    • ソースコードの変更する際、次の⼀連の
    プロセスを実現するためにCI/CDで⾃動
    化しなさい
    ü ソースコードの変更→コンテナのビルド→テ
    スト→検証環境/本番環境へのデプロイ
    ü CI = Continuous Integration (継続的イン
    テグレーション)
    ü CD = Continuous Delivery (継続的デリバ
    リー)
    • ロールアウトやロールバックも⾃動化し
    なさい
    • ArgoがKubernetesネイティブのツール
    ü GitOpsに則った、ジョブ・アプリ・イベン
    トのデプロイや実⾏
    ü Continuous Delivery(継続的デリバリー)、
    Progressive Delivery(連続的デリバリー)、
    MLOps などを実現
    Ωʔϫʔυɿʮ$*$%ʯʮࣗಈԽʯʮ"SHPʯ
    ⽣産ラインを作る

    View Slide

  21. - 21 -
    - 21 -
    CI/CDとは︖
    n CI/CDは次のことを⽰す
    • CI = Continuous Integration (継続的インテグレーション)
    • CD = Continuous Delivery (継続的デリバリー) / Continuous Deployment (継続的デプロイメント)
    n どういうこと︖︓アプリ開発のビルド〜デプロイを⾃動化して、絶え間なく実施できるようにすること
    n ⽬的は︖︓エンドユーザへのアプリケーションの提供リードタイムを短縮して更改頻度を⾼めるため
    主な
    ツール
    コーディング リポジトリ CI/CDパイプライン
    ビルド テスト マージ デプロイ
    CI CD
    開発の
    流れ
    GitLab CI/CD Argo CD

    View Slide

  22. - 22 -
    - 22 -
    3. Orchestration & Application Definition
    n ⼤まかな⽇本語訳
    • Kubernetesはデファクトのコンテナ
    オーケストレーター
    • CNCFによって認定されたKubernetes
    サービスを使うべきである
    • Helmチャートを使うことで複雑な
    Kubernetesアプリケーションの管理を簡
    単にできる
    Ωʔϫʔυɿʮ,VCFSOFUFTʯʮ)FMNʯ
    ⽣産ラインを
    増加・管理する

    View Slide

  23. - 23 -
    - 23 -
    Kubernetesとは︖
    n 略してk8s、データベース(etcd)を使った⾃⽴運⽤型のコンテナ実⾏管理システム
    • 複数のコンテナをPodにまとめ、Podのライフサイクル全体を管理する
    • クラウドネイティブアプリケーションのOSとしての機能を果たしている
    kubelet
    kube-
    proxy
    ワーカノード
    kube API
    server
    kube
    scheduler
    Kube-controller
    manager
    Cloud
    Controller
    manager
    etcd
    コントローラノード
    (マスターノード)
    Cloud
    アプリケーション
    コンテナが動く場所
    クラスタを管理するコンテナ
    が動く場所
    kubelet
    kube-
    proxy
    クラスタ、コンテナに
    関するデータを格納する
    データベース
    コンテナを配置する
    ワーカノード
    を決定する
    オブジェクトを
    処理するコントローラ
    を実⾏・管理する
    各種コンポーネントと
    通信し処理全体の
    司令塔
    kube api serverから
    指⽰を受けワーカノード
    上での処理を実⾏
    Pod間のネットワーク
    通信を制御
    Kubernetesクラスタ



    Pod
    コンテナ
    コンテナ
    ・・・
    APIリソースとして
    アプリケーションを実⾏
    する
    Pod
    コンテナ
    コンテナ
    ・・・

    View Slide

  24. - 24 -
    - 24 -
    Helmとは︖
    n ⼀⾔で⾔うと、 Kubernetesのパッケージマネージャー
    • KubernetesではAPIリソースを組み合わせてアプリケーションを構築する
    • APIリソースはyamlファイルと呼ばれる設定ファイルで定義され、アプリは通常複数のAPIリソースで構成される
    • アプリを作るたびにyamlファイルを毎回作っていると⼤変なので、そのyamlファイルをパッケージとしてまとめて、
    デプロイできるようにするための仕組みとしてHelmというソフトウェアが使われる
    Helmチャート
    リポジトリ
    Wordpress のHelmチャート
    $helm repo add my-repo https://charts.bitnami.com/bitnami
    $helm install my-release my-repo/wordpress --set wordpressPassword=password
    Helmチャートが置いてある
    リポジトリを追加
    Kubernetesにデプロイ
    yaml
    yaml
    yaml
    yaml
    yaml
    yaml
    開発環境向けリリース
    本番環境向けリリース
    Workloadリソース
    Serviceリソース
    Config & Storageリソース
    Policyリソース
    xxx リソース
    簡単︕
    APIリソースの
    管理が⼤変^^;
    $kubectl apply woakload.yml
    $kubectl apply service.yml
    $kubectl apply config.yml
    $kubectl apply storage.yml
    $kubectl apply policy.yml
    $kubectl apply xxx.yml
    Helmがない場合 Helmがある場合
    Wordpress で必要なAPIリソース
    例︓WordpressアプリをKubernetesで構築する

    View Slide

  25. - 25 -
    - 25 -
    4. Observability & Analysis
    n ⼤まかな⽇本語訳
    • モニタリング、ロギング、トレーシング
    のソリューションを採⽤すべき
    • CNCFでは、モニタリングにPrometheus、
    ロギングにfluentd、トレーシングに
    Jaegerがあるよ
    • トレーシングに関しては、Jaegerのよう
    にOpenTracing互換のものを探すといい

    ΩʔϫʔυɿʮϞχλϦϯάʯʮϩΪϯάʯʮτϨʔγϯάʯ
    ⽣産状況を
    監視する

    View Slide

  26. - 26 -
    - 26 -
    Observabilityとは︖
    n アプリケーションの内部の挙動を、外部から⾒たときにどれくらい把握できるか︖という性質
    n クラウドネイティブアプリケーションは複雑で動的な構成のため、Observabilityの確保が⾮常に重要
    システム内部から直接
    取得するデータのこと
    (CPU使⽤率など)
    システム外部から取得する
    データのこと
    (レスポンスタイムなど)
    Observabilityのシグナル
    ・メトリクス=状態が数値化された情報
    ・ログ=発⽣した事象を記録した情報
    ・トレース=⼀連の処理結果を追跡した情報
    ・プロファイル=詳細なパフォーマンス情報
    分析の質を⾼めるための
    メタデータ
    出典︓https://github.com/cncf/tag-observability/blob/main/whitepaper.md

    View Slide

  27. - 27 -
    - 27 -
    Observability 代表的なツール
    n 代表的なツールとしてPrometheus、OpenTelemetry、Fluentdをご紹介
    Prometheus https://prometheus.io/
    OpenTelemetry https://opentelemetry.io/
    Fluentd https://www.fluentd.org/
    • Kubernetes内部でも利⽤されている監視システム
    • 多次元データモデル、HTTPプルモデルなどの特徴を有する
    • クラウドネイティブでのデファクトツール
    • OpenTracingとOpenCensusという2つのプロジェクトが統合
    • Observabilityのシグナルの計測、取得、変換、送信の標準化を⽬
    的としている
    • PrometheusやJaegerに対してシグナルを送信する機能をサポート
    • ログの収集、集約、転送、変換、保存などを実現するソフトウェア
    • 拡張性、信頼性に優れ、統合ログ基盤に必要な機能を提供
    Monitoring
    Tracing
    Logging
    出典︓https://landscape.cncf.io/guide#observability-and-analysis

    View Slide

  28. - 28 -
    - 28 -
    アジェンダ
    1 Φʔϓχϯά
    2 Trail Mapͷ͝঺հ
    3 ࣭ٙԠ౴ɾΫϩʔδϯά

    View Slide

  29. - 29 -
    - 29 -
    (まとめ︓再掲)Trail Map ~⾷品⽣産で考える~
    Step1
    CONTAINERIZATION
    Step2
    CI/CD
    Step3
    ORCHESTRATION&
    APPLICATION
    DEFINITION
    Step4
    OBSERVABILITY
    ANALYSIS
    Step6
    NETWORKING
    POLICY &
    SECURITY
    Step5
    SERVICE PROXY
    DISCOVERY &
    MESH
    Step7
    DISTRIBUTED
    DATABASE &
    STORAGE
    Step8
    STREAMING &
    MESSAGING
    Step10
    SOFTWARE
    DISTRIBUTION
    Step9
    CONTAINER
    REGISTRY &
    RUNTIME
    商品を作る ⽣産ラインを作る
    ⽣産ラインを
    増加・管理する
    ⽣産状況を
    監視する
    より最適な⽣産⽅法を
    活⽤する
    より安全・確実な
    ⽣産ラインにする
    より安全に
    仕様書/設計書を管理する
    より需要を踏まえた
    ⽣産⽅法を利⽤する
    より安全に在庫を
    管理する
    ⾷品の品質を
    より⾼くする
    成熟度Level2を⽬指すなら
    まずはここ
    ຊ೔͸4UFQ·Ͱʹ͍ͭͯઆ໌͠·͢ʂ

    View Slide

  30. - 30 -
    アンケートのご協⼒・他のイベントご参加もお願いします︕
    <次回勉強会予定>
    2023/06/22(⽊) 18:00 〜 19:00
    マイクロサービス始めてみよう︕
    <アンケート>
    ぜひフィードバック
    をお願いします︕
    https://app.sli.do/event/gLbA
    1jHZM7BHzDkajEgWAF
    https://ibm-
    developer.connpass.com/event
    /285630/

    View Slide

  31. - 31 -
    - 31 -
    We are hiring!!
    n ⽇鉄ソリューションズでは、クラウドネイティブ技術を⽤いてお客様のDXを推進する仲間を募集中です
    n ご興味ある⽅は、ぜひお問い合わせください。弊社⼈事より、ご連絡を差し上げます
    NSSOL キャリア採⽤
    採⽤ページ︓
    https://www.nssol.nipponsteel.com/
    recruit/careers/

    View Slide