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
ROSCAFE_2社に聞く_DevOpsの最新事例__SocialDog発表スライド_.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kazuma.murata
February 07, 2024
Technology
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ROSCAFE_2社に聞く_DevOpsの最新事例__SocialDog発表スライド_.pdf
kazuma.murata
February 07, 2024
More Decks by kazuma.murata
See All by kazuma.murata
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.4k
BDDフレームワークで始める、E2Eテストのススメ
canon1ky
1
620
20200109サポーターズ勉強会
canon1ky
0
300
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
490
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
90
Other Decks in Technology
See All in Technology
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
180
WebGIS AI Agentの紹介
_shimizu
0
590
どうして今サーバーサイドKotlinを選択したのか
nealle
0
110
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.7k
組織における AI-DLC 実践
askul
0
170
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
620
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
120
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
1.1k
toB プロダクトから見たWAF
tokai235
0
250
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
130
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Writing Fast Ruby
sferik
630
63k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Docker and Python
trallard
47
3.9k
Evolving SEO for Evolving Search Engines
ryanjones
0
230
Building AI with AI
inesmontani
PRO
1
1.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Embracing the Ebb and Flow
colly
88
5.1k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Transcript
User Happyをより早く、より大切にするための デプロイ・モニタリング改善の取り組み ROSCAFE 2社に聞く!DevOpsの最新事例 村田主磨、GrowthTeam
• SocialDogの事業紹介 • デプロイ手法の改善 ◦ 従来の構成 ◦ 対応したアプローチ • モニタリング環境の改善
◦ 従来の構成 ◦ 対応したアプローチ • これからの展望 2 アジェンダ ROSCAFE 2社に聞く!DevOpsの最新事例
SocialDogとは 投稿管理 分析 ソーシャル リスニング 3 SNSマーケティングのための オールインワンツール フォロワー 管理
キャンペーン 一元管理
SocialDog Values 4 会社として 大切にしたい 3つの価値観 User Happy 常にユーザーのHappyを目指そう Love
Technology 技術を愛そう Open Communication オープンにしよう
5 Devチームの技術的な取り組み コンテナ環境 への移⾏ メンテナンスコストを削減し、より安定してサービスを 提供するため、インフラを GCPのサーバーレスのコン テナ実行環境 Cloud Runに移行しています。
Datadogの導⼊ アプリケーション・インフラの監視を効率化するために 監視アプリケーションの Datadogを導入しました。アプ リケーションモニタリング( APM)などの機能を利用し て、品質改善を行なっています。 CIによる積極的な ⾃動化 生産性向上・品質向上のため、積極的に CIによる自動 化を行なっています。 PullRequestの出ているブランチ にpushすると、各種テストが実行されたり、簡単に結 果が確認できるよう、 StorybookやCypressによるテス トの結果(ビジュアルリグレッションテスト)がホスティン グされる仕組みにしています。 PHPからGoへの リプレイス 数年間かけてバックエンドの開発環境を PHP+CodeIgniterからGoにリプレイスしていきます。新 機能はすべて Goにより開発しています。 少しずつPHPからGoにリプレイスしています。 Cypress+reg-suitによるビジュアルリグレッションテスト
6 スキルアップ支援 Cool SaaS⼿当 CoolなSaaSを作るための手当として、月額 1万円を支 給します。使途は自由です。例えば CoolなSaaSへの 課金、リモートワーク環境整備に利用できます。
個人のスキルアップが会社の成長に直結するため、学びを手厚く支援しています。 Level UP サポート (経費での書籍等購⼊) 書籍(電子書籍も OK)や動画コンテンツなどを事前承認 不要で自由に購入できます。直接会社経費として購入 できるクレジットカードを配布しているため、 経費立替でスピーディに購入できます。 副業OK 副業によるスキルアップ、働き方改革を推進していくた め、「本業に影響させない」「競合他社の仕事ではな い」といった一定の要件を満たせば自由に 副業できます(申請制)。 社内勉強会‧ LT会 就業時間中の社内勉強会・ LT会の開催を推奨してい ます。少しずつ本を読む輪読会、 TypeScriptで適切な 型をつけるType-TypeChallengers!!、Figma勉強会、 各自が自由に発表する LT会など様々な勉強会が開催 されています。
7 デプロイ手法の改善 User Happyをより早く、より大切にするための デプロイ・モニタリング改善の取り組み
• CloudRun環境 • ソースコードでのビルドを使用 • デプロイ時に以下全てが行われる ◦ コンテナイメージのビルド ◦ Artifact
Registryへのイメージ永続化 ◦ CloudRunへのデプロイ 従来の構成 デプロイ手法の改善 8
問題点 デプロイ手法の改善 9 User Happyをより多く届けるため、定期リリース、不定期 のリリースどちらも頻繁に行っている 1回あたりのデプロイ時間の長さが目立つようになった DBスキーマ更新後 コードの更新完了までの待ち 時間
main.goファイルが複数存在 するとエラーになる などの課題もあり
• ビルド ◦ リリースブランチの更新で発火 ◦ ArtifactRegistryへの永続化まで • デプロイ ◦ 作業者がコンテナイメージを指定してデ
プロイ ◦ イメージはArtifactRegistryから取得 対応したアプローチ : ビルドとデプロイの分離 デプロイ手法の改善 10 デプロイ時間が約5分→約20秒に!
• 事前にPHPで翻訳ファイルを生成する必要あり ◦ マルチステージビルドで なるべく少ない手数 で 対応 • バッチサーバとWebサーバ用のイメージが必要 ◦
ビルドしたバイナリをマルチステージビルドで 複数のイメージにコピー するだけ ◦ distrolessイメージを使用 ▪ Googleが提供 ▪ shellさえも含まれない最小限のイメー ジ tips デプロイ手法の改善 11
12 モニタリング環境の改善 User Happyをより早く、より大切にするための デプロイ・モニタリング改善の取り組み
• Datadogを使用 • システムログは基本的に Datadog Logs に送られる • リクエスト毎のトレースを Datadog
APMで 閲覧できる ◦ リクエスト本体 ◦ クエリ詳細、実行時間 従来の構成 モニタリング環境の改善 13
14 問題点 SocialDogの新機能 toBでありtoCでもあるサービスのため、 問い合わせの種類が多様 ユーザー1人あたりの調査に時間がかかる 言語刷新のためPHPとGoの両方のサーバーが動 いている 言語ごとにログ内の ユーザーIDフィールドの構
造が異なる 言語によっては トレースの属性が未整備の状態
• 言語毎のログのユーザーIDフィールドを統一 ◦ PHP、Go、JavaScript全て usr.id フィールドに出力されるように ◦ 実装は変えない ◦ DatadogのUI上で設定できる、
remapper機能で対応 対応したアプローチ : ログのUIDフィールド統一 モニタリング環境の改善 15 ユーザーの関連するログ全てを見たい時に 「@usr.id:xxx」で検索するだけで良くなった!
対応したアプローチ: トレースへのUID紐付け モニタリング環境の改善 16 ユーザー単位でリクエストの詳細情報を 追えるようになった! PHP Go APIのミドルウェアで全リクエストに一律で挿入
ビルドは自動化できた。 デプロイまで何らかのイベントをもとに自動で走らせ たり、さらに簡略化できれば、デプロイ作業の属人化 を防ぐことができる。 デプロイ: CDの自動化 モニタリング: ログとトレースの接続 今後の展望 SocialDogの新機能
17 ユーザー毎に何が起きているかはサッと調べられるよ うになった。 しかし、リクエストに紐づくイベントはまだ少し 追いにくさがある。 ログとトレースを接続できれば、リクエスト内のイベント をより把握しやすくなり、UserHappyを届けるスピード をさらに早くできる。
Copyright © SocialDog, Inc. All rights reserved.