Slide 1

Slide 1 text

ChatOpsで回す クラウドネイティブな組織運営 Kazuto Kusama

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

イベントプラットフォーム「Dreamkast」 CloudNative Daysへの参加申し込みや、 カンファレンスの視聴が行えるWebアプリケーション。 設計のコンセプトは 「大晦日のテレビ感覚で見られるUX」 ・歌合戦 ・笑ってはいけない ・格闘技 ・トークバラエティ ・グルメ ずっと同じ番組を見ても良いし、好きな人が出ていると きだけその番組に切り替える、あるいはチャンネルを回 して面白そうなものを見るという視聴スタイル

Slide 6

Slide 6 text

イベントプラットフォーム「Dreamkast」 この1年でさらにアーキテクチャを 変えながら進化

Slide 7

Slide 7 text

リリースプロセス Topic branch main Pull Request Dev cluster Prod cluster Create review app Update staging app Merge ArgoCD ApplicationSet

Slide 8

Slide 8 text

リリースプロセス Topic branch main Dev cluster Prod cluster Create review app Update staging app Merge Release mainがSSoTじゃない ArgoCD ApplicationSet Pull Request

Slide 9

Slide 9 text

リリースプロセス Topic branch main Dev cluster Prod cluster Create review app Update staging app Merge Tag ArgoCD ApplicationSet Pull Request

Slide 10

Slide 10 text

イベント運営で大事にしたいこと 全員がパートタイムでの活動 フルタイムと違い、日々の隙間時間で活動する ● 最新の情報をキャッチアップするのが難しい ● 活動はできる限り可視化され、必要とあらばすぐに確認できるほうがいい 参加メンバーは必ずしもTechとは限らない。Bizとして参加する人、経験が浅い人 など持っているスキルはバラバラ ● 出来る限り分かりやすい手段で情報が共有されていることが大事 (イベントに限らずフルタイムでの仕事も同じな気はする)

Slide 11

Slide 11 text

リリースプロセス Topic branch main Dev cluster Prod cluster Create review app Update staging app Merge Tag タグ打ち作業をどう やって可視化するか ArgoCD ApplicationSet Pull Request

Slide 12

Slide 12 text

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を操る人という意味で命名 ドリームキャスト? シーマン?

Slide 13

Slide 13 text

DEMO

Slide 14

Slide 14 text

システム的な観点ではGitOpsは優れた仕組みだが、 チームのワークフローを考えると必ずしも良いとは言えない。 チャットという共通のインターフェースを挟むことで、 ワークフローの統一と効率化を図ることができる

Slide 15

Slide 15 text

通知系も全てSlackに集約

Slide 16

Slide 16 text

イベント運営においてシステム開発はごくごく一部

Slide 17

Slide 17 text

イベントの運営 ● 企画 ● コンテンツ作り ● 利害関係者との調整 ○ スポンサー ○ イベントオーナー ● 会場の手配 ● 宣伝 ○ ウェブサイト ○ SNS ○ コミュニティ連携 ● 上記に関係するタスクの管理

Slide 18

Slide 18 text

ウェブサイト 最近、静的サイトジェネレータ Astro(https://astro.build/)を使ってサイトを組 み直した。

Slide 19

Slide 19 text

Blog これまでmediumを使ってブログを書いていた が、mediumの使いづらさやサイトへのSEOを考 え見て、WebsiteにBlog機能を実装。 記事は誰でも書けるように、NotionのDatabase をHeadless CMSとして使えるようにした。 NotionのTableに記事を書くと、AstroのBuild時 にAPIを叩いて情報を取得し、静的サイトとして 出力してくれる。

Slide 20

Slide 20 text

Blog Notion GitHub astro build S3 CloudFront 執筆 修正

Slide 21

Slide 21 text

Blog Notion GitHub astro build S3 CloudFront 執筆 修正 いつ、どうやって 発火するか

Slide 22

Slide 22 text

Seamanで発火 Website/blogもtag付けで発火するようにGitHub Actionsを設定。 Dreamkastと同じくSeaman呼び出しでリリースできる ようになった

Slide 23

Slide 23 text

膨大なタスクの管理 Notionを使ってタスク管理

Slide 24

Slide 24 text

膨大なタスクの管理 Slackにタスクの進捗状況を通知。 期限直前・期限切れのタスクが分かりやすく

Slide 25

Slide 25 text

イベントの状態を通知

Slide 26

Slide 26 text

公式Twitterのステータスを通知

Slide 27

Slide 27 text

開発だけでなく、普段の組織運営から マーケティングまで幅広くSlackで

Slide 28

Slide 28 text

今後やりたいこと タスク作成 やらなきゃ いけないことを つぶやく

Slide 29

Slide 29 text

今後やりたいこと 普段の会話 要約

Slide 30

Slide 30 text

今後やりたいこと マーケティング情 報を集約 マーケティング担 当

Slide 31

Slide 31 text

まとめ ● 開発だけでなく、非Techな人にもChatOpsは有用 ● Chatというインターフェースを介すことで、様々な環境や新技 術に対応していくこともできそう