Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ChatOpsで回す、クラウドネイティブな組織運営
Search
Kazuto Kusama
December 30, 2023
Technology
1
200
ChatOpsで回す、クラウドネイティブな組織運営
ツナカン(TUNA-JP Conference) #9 で登壇した資料です
https://tuna-jp.connpass.com/event/283859/
Kazuto Kusama
December 30, 2023
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
Grafana x PagerDuty Better Together
jacopen
1
370
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
26
6.9k
いろんな外資、いろんなロールで働いてみた話
jacopen
14
4.7k
サービスの危機に立ち向かうリーダーシップ~インシデントコマンダーの役割と戦略~
jacopen
20
6.2k
5分でわかる(かもしれない)Platform Engineering
jacopen
4
790
2024年のPlatform Engineeringはこうなる(なってほしい)
jacopen
7
3.8k
技術の洪水に立ち向かう: 開発者の心を軽くするプラットフォームエンジニアリングの話
jacopen
12
6.4k
プラットフォーム名決めるのも、ロゴ作るのも、プラットフォームチームの仕事です
jacopen
3
200
CNCFが考えるPlatform - Platforms White Paperについて
jacopen
2
1.1k
Other Decks in Technology
See All in Technology
Domain-driven Design: A Complete Example
ewolff
2
270
知識と実践を紡ぐGenAI / Connecting Knowledge and experience with GenAI
aki_moon
2
190
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
10
1.8k
Password cracking: past, present, future
openwall
0
300
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
QA Engineer Life @ LINE
line_developers_tw
PRO
0
150
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
パフォーマンス最適化のベストプラクティス
databricksjapan
0
210
動画配信サービスのフロントエンド実装に学ぶ設計原則
yud0uhu
1
140
SWC Transformerから見るTypeScript関数記述ベストプラクティス
fujiyamaorange
1
180
Security Hubのセキュリティスコアはどうやって計算されるか
toru_kubota
0
110
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Git: the NoSQL Database
bkeepers
PRO
423
63k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Producing Creativity
orderedlist
PRO
338
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Six Lessons from altMBA
skipperchong
22
3k
Learning to Love Humans: Emotional Interface Design
aarron
268
39k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Transcript
ChatOpsで回す クラウドネイティブな組織運営 Kazuto Kusama
Kazuto Kusama @jacopen Senior Solutions Engineer @HashiCorp Japan Co-Chair @CloudNative
Days Organizer @Platform Engineering Meetup Founder @Cloud Native Innovators Association Tech Strategy Advisor @PITTAN
Kazuto Kusama @jacopen Senior Solutions Engineer @HashiCorp Japan Co-Chair @CloudNative
Days Organizer @Platform Engineering Meetup Founder @Cloud Native Innovators Association Tech Strategy Advisor @PITTAN
None
イベントプラットフォーム「Dreamkast」 CloudNative Daysへの参加申し込みや、 カンファレンスの視聴が行えるWebアプリケーション。 設計のコンセプトは 「大晦日のテレビ感覚で見られるUX」 ・歌合戦 ・笑ってはいけない ・格闘技 ・トークバラエティ
・グルメ ずっと同じ番組を見ても良いし、好きな人が出ていると きだけその番組に切り替える、あるいはチャンネルを回 して面白そうなものを見るという視聴スタイル
イベントプラットフォーム「Dreamkast」 この1年でさらにアーキテクチャを 変えながら進化
リリースプロセス Topic branch main Pull Request Dev cluster Prod cluster
Create review app Update staging app Merge ArgoCD ApplicationSet
リリースプロセス Topic branch main Dev cluster Prod cluster Create review
app Update staging app Merge Release mainがSSoTじゃない ArgoCD ApplicationSet Pull Request
リリースプロセス Topic branch main Dev cluster Prod cluster Create review
app Update staging app Merge Tag ArgoCD ApplicationSet Pull Request
イベント運営で大事にしたいこと 全員がパートタイムでの活動 フルタイムと違い、日々の隙間時間で活動する • 最新の情報をキャッチアップするのが難しい • 活動はできる限り可視化され、必要とあらばすぐに確認できるほうがいい 参加メンバーは必ずしもTechとは限らない。Bizとして参加する人、経験が浅い人 など持っているスキルはバラバラ •
出来る限り分かりやすい手段で情報が共有されていることが大事 (イベントに限らずフルタイムでの仕事も同じな気はする)
リリースプロセス Topic branch main Dev cluster Prod cluster Create review
app Update staging app Merge Tag タグ打ち作業をどう やって可視化するか ArgoCD ApplicationSet Pull Request
ChatBotの活用 ChatBotであるseamanを開発。リリースしたいときは seamanに呼びかける。 Seaman [ see-muhn ] a person whose
trade or occupation is assisting in the handling, sailing, and navigating of a ship during a voyage, especially one below the rank of officer; sailor. Seaman = 水夫 Kubernetesを操る人という意味で命名 ドリームキャスト? シーマン?
DEMO
システム的な観点ではGitOpsは優れた仕組みだが、 チームのワークフローを考えると必ずしも良いとは言えない。 チャットという共通のインターフェースを挟むことで、 ワークフローの統一と効率化を図ることができる
通知系も全てSlackに集約
イベント運営においてシステム開発はごくごく一部
イベントの運営 • 企画 • コンテンツ作り • 利害関係者との調整 ◦ スポンサー ◦
イベントオーナー • 会場の手配 • 宣伝 ◦ ウェブサイト ◦ SNS ◦ コミュニティ連携 • 上記に関係するタスクの管理
ウェブサイト 最近、静的サイトジェネレータ Astro(https://astro.build/)を使ってサイトを組 み直した。
Blog これまでmediumを使ってブログを書いていた が、mediumの使いづらさやサイトへのSEOを考 え見て、WebsiteにBlog機能を実装。 記事は誰でも書けるように、NotionのDatabase をHeadless CMSとして使えるようにした。 NotionのTableに記事を書くと、AstroのBuild時 にAPIを叩いて情報を取得し、静的サイトとして 出力してくれる。
Blog Notion GitHub astro build S3 CloudFront 執筆 修正
Blog Notion GitHub astro build S3 CloudFront 執筆 修正 いつ、どうやって
発火するか
Seamanで発火 Website/blogもtag付けで発火するようにGitHub Actionsを設定。 Dreamkastと同じくSeaman呼び出しでリリースできる ようになった
膨大なタスクの管理 Notionを使ってタスク管理
膨大なタスクの管理 Slackにタスクの進捗状況を通知。 期限直前・期限切れのタスクが分かりやすく
イベントの状態を通知
公式Twitterのステータスを通知
開発だけでなく、普段の組織運営から マーケティングまで幅広くSlackで
今後やりたいこと タスク作成 やらなきゃ いけないことを つぶやく
今後やりたいこと 普段の会話 要約
今後やりたいこと マーケティング情 報を集約 マーケティング担 当
まとめ • 開発だけでなく、非Techな人にもChatOpsは有用 • Chatというインターフェースを介すことで、様々な環境や新技 術に対応していくこともできそう