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

OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!

loftkun
July 29, 2022

 OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!

IBM Cloud Festa Online 2022 Summer
https://ibmcloudfesta.github.io/online2022summer/index.html

私たちは Red Hat OpenShift のトラブルシューティングや技術QAなどの製品サポートサービスの提供や、リリースノートに記載されている新機能、拡張機能、バグ修正、セキュリティーなどに関する更新情報を、コンポーネント単位などの扱いやすい形式に整理しお客様へデリバリーするサービスを提供しています。 OpenShiftのようにリリースサイクルが短く頻繁に機能拡張が行われるプロダクトに関して、迅速かつ高品質のサービスを提供するためには、キャッチアップを継続的に続けることが重要となります。

キャッチアップをより効果的に行えるようにするための私達の取り組みとして、高頻度なリリースサイクルに追従できる形でのドキュメントの分解やラベル付けによる整理の仕組みづくりや、組織で理解を共有していくための取り組みについてポイントをご紹介します。

本発表をご視聴いただく皆様にも、オープンソースプロダクトなどのキャッチアップを効果的かつ継続的に行うために役立てていただける情報を提供することができましたら幸いです。

loftkun

July 29, 2022
Tweet

More Decks by loftkun

Other Decks in Technology

Transcript

  1. © 2022 IBM Corporation 2 自己紹介 甲斐 新悟 • IT

    Specialist at IBM® • Red Hat® OpenShift® を始めとする OSS の製品サポート業務に従事 • 個人のキャッチアップ結果を組織の共有知とできる仕組みづくり( 今回の発表テーマ ) • 開発運用チームの立ち上げ • リリースノートを分解・ラベリングし整理するツール開発と運用自動化 • キャッチアップチームの立ち上げ • 伝道師によるキャッチアップ分担とノウハウのシェア会 • OSS & コミュニティ活動 • Staff of VS Code Conference Japan 2021 • Contribute to Minikube、etc • 🍶蒸留酒 & 🎹Piano & ☗観る将&指す将
  2. © 2022 IBM Corporation 3 Agenda 1 私達のミッション 2 キャッチアップの課題解決のための取り組み

    1. 整理 ツールによるドキュメントの分解・ラベリング・バージョン管理 2. 分担と共有 伝道師によるキャッチアップ分担、シェア会 3. 継続 自動化の導入 マイルストーンイベントの開催 OpenShift® に関するサービスの提供 個人のキャッチアップ成果を組織の共有知にしていく取り組み
  3. © 2022 IBM Corporation 4 Agenda 1 キャッチアップの課題 2 私達の取り組み

    ドキュメントを読む 構築・検証する イベントを開催する 輪読会 ハンズオン 発表会 私達のミッション
  4. © 2022 IBM Corporation 5 サービス 概要 高品質な製品サポート トラブルシューティング 技術QA

    更新情報を分かりやすくご提供 リリースノート記載の更新情報を コンポーネントやバグの重要度などでラベリングし バージョン間横断して絞り込める形式でご提供 安全なアップデートを支援 OpenShift®のバージョンアップを行う際に、 移行先バージョンで非推奨/削除となる機能について アプリケーションへの影響や対応策をご案内 Red Hat® OpenShift® に関するサービスを 高品質、分かりやすく、安全に提供する 私達のミッション
  5. © 2022 IBM Corporation 6 “エンタープライズ対応 Kubernetes コンテナ・プラットフォーム” GA(General Availability

    ) リリース日 OpenShift® バージョン Kubernetes バージョン 2020/10/27 4.6 1.19 2021/02/24 4.7 1.20 2021/07/27 4.8 1.21 2021/10/18 4.9 1.22 2022/03/10 4.10 1.23 多岐にわたるコンポーネント、エコシステム 対象プロダクト : Red Hat® OpenShift® 高頻度なリリースサイクル https://www.redhat.com/ja/technologies/cloud-computing/openshift レイヤー コンポーネント Manage Workloads CI/CD pipelines GitOps、etc Cluster Service Operator モニタリング、etc コンテナプラットフォーム Kubernetes OS Red Hat® CoreOS ( RHCOS ) https://www.redhat.com/en/whats-new-red-hat-openshift 4 5 3 5 高品質なサポートやサービスを提供するために 組織でキャッチアップしていくことが重要 https://access.redhat.com/documentation/ja-jp/openshift_container_platform/
  6. © 2022 IBM Corporation 7 個人のキャッチアップ成果を共有知にするための仕組みづくりに取り組んでいます キャッチアップの壁 3つの取り組み 物理量 多岐にわたる

    インプット材料 1. 整理 ドキュメントの分解・ラベリング・バージョン管理 2. 分担・共有 “伝道師”を交代で担当し、シェア会を開催 時間軸 高頻度な リリースサイクル 3. 継続 ドキュメント更新(by Red Hat®)の検知&整理の自動化 マイルストーンイベントの開催 リリースノート ストレージ クラスター の更新 CI/CD Operator モニタリング ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 高頻度で更新されるプロダクトを組織でキャッチアップするために 高頻度なリリースサイクルへの追従
  7. © 2022 IBM Corporation 8 Agenda 1 キャッチアップの課題 2 私達の取り組み

    ドキュメントを読む 構築・検証する イベントを開催する 輪読会 ハンズオン 発表会 1.整理の取り組み
  8. © 2022 IBM Corporation 9 リリースノート ストレージ クラスター の更新 CI/CD

    Operator モニタリング ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 共有知を形成するための取り組み 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従
  9. © 2022 IBM Corporation 10 リリースノート ストレージ クラスター の更新 CI/CD

    Operator モニタリング ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 共有知を形成するための取り組み 分解とラベリング 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従
  10. © 2022 IBM Corporation 11 インプット材料の現状確認 例として OpenShift® 4.10 の

    リリースノートをブラウザで見てみましょう https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報 : 432件 セクション : 226個 ・この単位で把握しキャッチアップしたい ・この単位で整理した情報をお客様に提供したい
  11. © 2022 IBM Corporation 13 ブラウザでの閲覧の課題 「リリース情報」の単位で更新箇所を把握していくことはブラウザでの閲覧では難しい 432件のリリース情報がある。 暗記することは難しい。 外部記憶とし、いつでも取り出

    せるようにする必要がある Red Hat® によって不定期に更 新(追記/編集/挿入/削除)される。 読み終わった箇所にも変更が入 ることがある いつどのリリース情報が更新さ れたか記録したい、確認漏れを なくしたい 既読/未読/新着 を時系列で把 握・記録しながら読み進めたい が、ブラウザで閲覧するだけで は難しい https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報 : 432件
  12. © 2022 IBM Corporation 14 ブラウザでの閲覧の課題 「リリース情報」の単位で更新箇所を把握していくことはブラウザでの閲覧では難しい 432件のリリース情報がある。 暗記することは難しい。 外部記憶とし、いつでも取り出

    せるようにする必要がある コンポーネント毎に リリース情報を知りたい 例えばCoreOSに関するリ リース情報は何件? ブラウザの検索機能では、 HITするキーワード順で閲覧 はできるが、リリース情報 の単位でまとめて一気読み することは難しい Red Hat® によって不定期に更 新(追記/編集/挿入/削除)される。 読み終わった箇所にも変更が入 ることがある いつどのリリース情報が更新さ れたか記録したい、確認漏れを なくしたい 既読/未読/新着 を時系列で把 握・記録しながら読み進めたい が、ブラウザで閲覧するだけで は難しい https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報 : 432件
  13. © 2022 IBM Corporation 15 ブラウザでの閲覧の課題 「リリース情報」の単位で更新内容を把握していくことはブラウザでの閲覧では難しい 432件のリリース情報がある。 暗記することは難しい。 外部記憶とし、いつでも取り出

    せるようにする必要がある コンポーネント毎に リリース情報を知りたい 例えばCoreOSに関するリ リース情報は何件? ブラウザの検索機能では、 HITするキーワード順で閲覧 はできるが、リリース情報 の単位でまとめて一気読み することは難しい このドキュメント以外にも 複数のインプット材料がある ドキュメント間の横断、バー ジョン間の横断で確認するのは 煩雑な作業となる Red Hat® によって不定期に更 新(追記/編集/挿入/削除)される。 読み終わった箇所にも変更が入 ることがある いつどのリリース情報が更新さ れたか記録したい、確認漏れを なくしたい 既読/未読/新着 を時系列で把 握・記録しながら読み進めたい が、ブラウザで閲覧するだけで は難しい https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報 : 432件
  14. © 2022 IBM Corporation 16 「整理」の取り組み 目標 実現策 ドキュメントの章よりも小さい単位で把握できる (

    リリース情報の単位など ) 分解しラベルを付ける ( データベース化 ) 不定期で更新が発生するため時系列の変遷も把握できる 定期的にGitでcommitする ドキュメント間・バージョン間を横断して把握できる 複数ドキュメントの分解 結果を横断検索可とする ドキュメント 分解 ラベル付け、バージョン管理 ラベルで絞り込み → → → 実際は複数のラベルが付きます インプット材料を適切な粒度に分解し、更新履歴も把握できる形でデータベース化 横断検索可能
  15. © 2022 IBM Corporation 17 整理 : 分解とバージョン管理 「リリース情報」の単位でファイルに分解し、分解後のファイルをGitでバージョン管理 リリースノート

    GitHub 「リリース情報」を単にコピーしたものではなく、 時系列方向の変更履歴情報も残せる外部記憶(データ ベース)として活用 「リリース情報」のある特定の瞬間でのリスト 今後もどこかが更新される可能性があるものとなります 定期的に 分解・保存( commit ) https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報
  16. © 2022 IBM Corporation 18 整理 : ラベル付けによる分類 「リリース情報」単位のファイルに検索性を持たせるためにラベルを付与 GitHub

    ( 「リリース情報」単位のファイル ) リリースノート 本文 ラベル 付与するラベルは、”バージョン”、”セクション( ドキュメントのど の章か )”、”コンポーネント名”、その他頻出キーワード https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index リリース情報
  17. © 2022 IBM Corporation 19 整理の結果 : ドキュメント間・バージョン間の横断検索が可能 • キーワードがHITした箇所は分かるが、リリース情報の個数

    はすぐには分からない • HITした箇所は様々な箇所に点在している • 複数ドキュメント間の検索結果の確認は作業が煩雑になる ブラウザでの閲覧 • 一瞬で115件のリリース情報があることが分かる • キーワードに関連するリリース情報のみに絞り込めている • 複数ドキュメント(複数バージョン) の情報を横断検索できている GitHubでの検索例 : “rchos” で検索 https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index CoreOS( RHCOS ) の更新内容を確認したい場合の例 リリース情報
  18. © 2022 IBM Corporation 20 整理の結果 : ラベルで絞り込むことが可能 ブラウザでの閲覧 GitHubでの検索例

    : ラベル“4.10”がついている情報のみに絞り込み https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html-single/release_notes/index さらに、検索結果を OpenShift® 4.10 の更新内容に絞り込みたい場合の例 • 一瞬で18件のリリース情報を絞り込める リリース情報 • 18件のリリース情報がHITしていることはすぐには分からない
  19. © 2022 IBM Corporation 21 再掲) 「整理」の取り組み 目標 実現策 ドキュメントの章よりも小さい単位で把握できる

    ( リリース情報の単位など ) 分解しラベルを付ける ( データベース化 ) 不定期で更新が発生するため時系列の変遷も把握できる 定期的にGitでcommitする ドキュメント間・バージョン間を横断して把握できる 複数ドキュメントの分解 結果を横断検索可とする インプット材料 分解 ラベルで絞り込み → → → インプット材料を適切な粒度に分解し、更新履歴も把握できる形でデータベース化 横断検索可能 ラベル付け、バージョン管理 Red Hat® によって1文字でも変更があった リリース情報はここで気づける
  20. © 2022 IBM Corporation 22 Agenda 1 キャッチアップの課題 2 私達の取り組み

    ドキュメントを読む 構築・検証する イベントを開催する 輪読会 ハンズオン 発表会 2.分担と共有の取り組み
  21. © 2022 IBM Corporation 23 ストレージ クラスター の更新 CI/CD Operator

    モニタリング ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 共有知を形成するための取り組み リリースノート 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従
  22. © 2022 IBM Corporation 24 リリースノート ストレージ CI/CD Operator モニタリング

    ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 共有知を形成するための取り組み クラスター の更新 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従 伝道師として分担する
  23. © 2022 IBM Corporation 25 「分担と共有」の取り組み 目標 実現策 多岐に渡るインプット材料をできるだけ網羅したい 各自キャッチアップ対象を選び、伝道師として分担する

    分担したキャッチアップ結果を共有知としたい “伝道師”を交代で担当しシェア会を開催する 伝道師としてキャッチアップを担当し、“伝道師”によるシェア会を開催する 伝道師によるシェア会 伝道師は事前準備の上、シェア会を開催 録画も公開 自由参加も可能とする 事前準備不要、リードオンリー可 参加障壁を下げ、裾野を広げる 非同期コミュニケーションを活用し、スケジュール調整を極力なくす • Slackを活用して、資料共有や質問などの会話は非同期で行う • 録画を公開しいつでも参照可能とすることで、リアルタイムでの参加を必須としない • シェア会開催の厳密なスケジュール調整は不要となる ドキュメントリーディング(輪読会) 環境構築 機能検証 質問や見解をフィードバック キャッチアップ状況をシェア 共有知(=アウトプット にフィードバックがか かったもの)を育てる 来週は私が伝道師 をやります 他部門の者ですが、 興味があって参加し ています
  24. © 2022 IBM Corporation 26 Agenda 1 キャッチアップの課題 2 私達の取り組み

    ドキュメントを読む 構築・検証する イベントを開催する 輪読会 ハンズオン 発表会 3.継続のための取り組み
  25. © 2022 IBM Corporation 27 リリースノート ストレージ CI/CD Operator モニタリング

    ネットワーク インストール 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 多岐にわたるインプット材料 共有知を形成するための取り組み クラスター の更新 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従 伝道師 伝道師
  26. © 2022 IBM Corporation 28 リリースノート ストレージ CI/CD Operator モニタリング

    ネットワーク インストール 多岐にわたるインプット材料 共有知を形成するための取り組み クラスター の更新 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース 自動化ツールが人間のキャッチアップをアシスト インプット材料の整理(分解とラベル付け)の自動化 伝道師 伝道師
  27. © 2022 IBM Corporation 29 リリースノート ストレージ CI/CD Operator モニタリング

    ネットワーク インストール 多岐にわたるインプット材料 共有知を形成するための取り組み クラスター の更新 1.整理 → 2.分担と共有 → 3. 継続 高頻度なリリースサイクルへの追従 2021/02/24 4.7 GAリリース 2021/07/27 4.8 GAリリース 2021/10/18 4.9 GAリリース 2022/03/10 4.10 GAリリース マイルストーンイベントの開催 インプット材料の整理(分解とラベル付け)の自動化 自動化ツールが人間のキャッチアップをアシスト 伝道師 伝道師
  28. © 2022 IBM Corporation 30 「継続」のための取り組み 目標 実現策 インプット材料の更新を自動で検出整理 ドキュメント整理ツールの動作を自動化(取組み中)

    短期~長期の見通しを持って継続する 期間別にマイルストーンとなる発表イベントを設定 イベントに向けて伝道師としてキャッチアップを継続 自動化によるキャッチアップのアシストとイベント開催によるマイルストーン設定 自動化 ドキュメントの 更新を検知 マイルストーンイベント 分解・ラベル付け バージョン管理 → トリガー イベント できれば毎週、月に数回 交代制の伝道師によるシェア会 OpenShift®のリリース ( 数ヶ月に1度 ) OpenShift®ソリューション研究会にて、 ”リリースノートを読み解く”テーマで発表 IBM Cloud® 無償使用プログラム ( 半期ごと ) 環境構築検証によるキャッチアップ成果を 社外発表 ( 登壇、OSS貢献、ブログ公開 ) 半期ごと 伝道師による発表会(開催予定) 常にマイルストーンとなるイベントが控えている状態 発表に向けて伝道師としてキャッチアップを継続できる 整理されたドキュメントが自動生成される ことで人間はキャッチアップに専念できる
  29. © 2022 IBM Corporation 31 Agenda 1 キャッチアップの課題 2 私達の取り組み

    ドキュメントを読む 構築・検証する イベントを開催する 輪読会 ハンズオン 発表会 まとめ
  30. © 2022 IBM Corporation 32 個人のキャッチアップ成果を共有知とするための3つの取り組みをご紹介しました 高頻度で更新されるプロダクトを組織でキャッチアップするために 共有知(=アウトプットにフィードバックがかかったもの)を組織みんなで育てる仕組みを作ることが重要 オープンソースプロダクトなどのキャッチアップを 効果的かつ継続的に行うために役立てていただける情報となりましたら幸いです

    シェア 共有知 フィードバック キャッチアップの壁 3つの取り組み 物理量 多岐にわたる インプット材料 1. 整理 ドキュメントの分解・ラベリング・バージョン管理 2. 分担・共有 “伝道師”を交代で担当し、シェア会を開催 時間軸 高頻度な リリースサイクル 3. 継続 ドキュメント更新(by Red Hat®)の検知&整理の自動化 マイルストーンイベントの開催
  31. © 2022 IBM Corporation 33 ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報 提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むも のでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗 示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害 が生じた場合も、IBMは責任を負わないものとします。

    本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかな る保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したもので もなく、またそのような結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示 するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっ ていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講 演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示すること を意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用し た測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラ ミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、 個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示された ものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、 IBM Cloud は、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名および サービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、 www.ibm.com/legal/copytrade.shtmlをご覧ください。 Red Hat, OpenShift は、Red Hat, Inc の商標または登録商標です。