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
アプリケーション開発に欠かせない CI/CD を横断組織として支援している話 - MIXI ...
Search
Shun
March 01, 2023
Technology
1
1.5k
アプリケーション開発に欠かせない CI/CD を横断組織として支援している話 - MIXI TECH CONFERENCE 2023
MIXI TECH CONFERENCE 2023 Day1 で発表したセッションのスライドです。
https://techcon.mixi.co.jp/d1-9
Shun
March 01, 2023
Tweet
Share
More Decks by Shun
See All by Shun
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
180
徹底的な自動化とトイルの撲滅で実現する効率的なSREの実践例 - SRE NEXT 2024
bbqallstars
7
3.5k
限られた人数で MIXI のあらゆる公式サイト群を保守・運用する ノウハウとその体制 | MIXI SRE秋祭り 〜 MIXIのもうひとつのSRE 〜
bbqallstars
7
5.2k
GitHub self-hosted runner を利用した独自の CI プラットフォームの開発と運用 | CI/CD Conference 2023 by CloudNative Days 前夜祭
bbqallstars
3
660
Other Decks in Technology
See All in Technology
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
860
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
210
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
190
なぜCodeceptJSを選んだか
goataka
0
160
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.5k
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
100
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing for Performance
lara
604
68k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
The Cult of Friendly URLs
andyhume
78
6.1k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Why Our Code Smells
bkeepers
PRO
335
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Transcript
©MIXI アプリケーション開発に⽋かせない CI/CD を横断組織として⽀援している話 開発本部 CTO室 SREグループ 多⽻⽥ 俊
©MIXI 目次 • エンジニアの横断組織:開発本部の紹介 • SRE グループの紹介 • アプリの CI/CD
⽀援の話 ◦ 事例1:ビルドマシンの貸与⽀援 ◦ 事例2:Unity Build Server の保守・運⽤ ◦ 事例3:社内 CI サービスの開発・保守・運⽤ ◦ 事例4: CI/CD 導⼊⽀援 ◦ 事例5:その他の取り組み • まとめ • 宣伝:SRE グループの紹介
©MIXI 【名前】 多羽田 俊(たばた しゅん) 【所属】株式会社 MIXI 開発本部 CTO 室
SRE グループ 【来歴】 • 前職では主に Web アプリケーションのバックエンド開発を中心に、 フロントや iOS アプリの開発も経験 • 現在は主に会社の基盤システムの設計から開発・保守・運用や、プ ロジェクトへの DevOps 支援などを行なっている • アプリの開発経験から、最近はアプリの CI/CD の導入支援などを行 なっている -好きなこと- 猫(2匹飼ってます)、音楽、 作曲、お酒 - Twitter - @bbq_all_stars 自己紹介
©MIXI エンジニアの横断組織 開発本部の紹介
©MIXI 特定のプロダクト・ サービスに所属するエンジニア 横断的に複数のサービス・ プロジェクトに関わるエンジニア 横断的に複数のサービス・ プロジェクトに関わるエンジニア エンジニア組織について
©MIXI SRE グループの紹介
©MIXI 特定のプロダクト・ サービスに所属するエンジニア 横断的に複数のサービス・ プロジェクトに関わるエンジニア SRE エンジニア組織について
©MIXI SREグループの紹介 <SREグループの⽅針・ミッション> ・注⼒事業におけるサービスの信頼性向上のための⾏動 ・サービス運⽤における効率化と⾃動化、ワークフロー改善 ・破壊と安定を繰り返し、安定運⽤のための⾏動を取り続ける ・各事業横断で、ノウハウを最も持つ組織 ⇒技術でプロダクト・サービスの価値向上(のサポート)をする
©MIXI SREグループの紹介 MIXIのSREグループは主に3つの業務を⾏っています 注力事業の支援 ・サービスを支える基盤の構築や運用 ・パフォーマンス向上 ・イベントやキャンペーンを乗り越えるための 対策の検討/実施 ・新規サービス(アプリ)の構築 ・サービスのアプリケーション開発
エンジニアのいない領域への支援 ・運用主管のなくなったサイトのメンテナンス ・eスポーツの円滑化/安定化支援 ・社内報やコーポレートサイトの構築運用支援 ・新卒向け技術教育のコンテンツ/講師など 全社的な横軸での案件サポート ・社内ツール 運用 ・ゲーム基盤システム の運用 ・新規ゲームのためのガイドブックなどの ドキュメント/ルール整備など
©MIXI SREグループの紹介 MIXIのSREグループは主に3つの業務を⾏っています 注力事業の支援 ・サービスを支える基盤の構築や運用 ・パフォーマンス向上 ・イベントやキャンペーンを乗り越えるための 対策の検討/実施 ・新規サービス(アプリ)の構築 ・サービスのアプリケーション開発
エンジニアのいない領域への支援 ・運用主管のなくなったサイトのメンテナンス ・eスポーツの円滑化/安定化支援 ・社内報やコーポレートサイトの構築運用支援 ・新卒向け技術教育のコンテンツ/講師など 全社的な横軸での案件サポート ・社内ツール 運用 ・ゲーム基盤システム の運用 ・新規ゲームのためのガイドブックなどの ドキュメント/ルール整備など
©MIXI アプリの CI/CD ⽀援の話
©MIXI CI/CD をやりたい! ハイスペック環境 でビルドしたい アプリの署名を したい アプリの配布をし たい CI
サービスはどこ を使ったら良いだろ う? 会社ですぐに使え る CI サービスを 知りたい 〇〇という CI サービ スを使いたい
©MIXI 何をビルドしますか? iOS App Android App Windows App Flutter App
Cocos2d-x Web App Unity Unreal Engine
©MIXI 何でビルドしますか? Linux Windows Mac GitHub Actions Unity Build Server
Circle CI Bitrise Code Build Cloud Build
©MIXI なんでビルドしたいんですか? リリース版のアプリ をビルドしてストア に配信したい 開発版のアプリを ビルドして配布し たい Asset Bundle
を作 成したい 外部の開発会社に 対して配布したい In-house で社内向 けアプリの配信を したい テストを実行した い
©MIXI それ SRE グループがお⼿伝いします
©MIXI 事例1:ビルドマシン貸与⽀援
©MIXI 事例1:ビルドマシン貸与支援 • 社内 IT の部署と協⼒して、ビルドマシン貸与の相談依頼を受付 • 現場と社内 IT の折衝をすることで、コストとパフォーマンスの
全体最適化を⾏う • 場合によってはビルドマシンの貸与ではなく、既存の CI サービ スに誘導することも
©MIXI 事例2:Unity Build Server の 保守・運⽤
©MIXI 事例2:Unity Build Server の保守・運用 • Unity が提供している CI/CD ソリューション
• 通常のライセンスとは違う、ビルド専⽤のフローティングライセ ンスを使⽤してビルドするもの ◦ ビルド時にライセンスを消費する ◦ Unity Organization 内でライセンスを融通し合える ◦ 値段が通常のライセンスよりもかなり安い ◦ ただし、ライセンスを管理するライセンスサーバーが必要 • ライセンスの発⾏、設定、API の提供、ライセンスサーバーの保 守・運⽤を SRE で担当 • 利⽤申請フロー等を整備して全体に周知
©MIXI 事例2:Unity Build Server の保守・運用 • ライセンスを共有する Unity Organizationを複数作成し、ライセ ンスを管理しています
• 低めのスペックの EC2 内に Docker コンテナを⽴てて運⽤しています • ライセンスサーバーの前段の IP を固 定する必要があり、NGINX を挟んで います • ACM を使⽤したかったため、ALB を挟んでいます ◦ 詳細は技術ブログで公開予定
©MIXI 事例3:社内 CI サービスの保守・運⽤
©MIXI 事例3:社内 CI サービスの保守・運用 • 任意の環境でアプリをビルドすることができる独⾃の CI サービ ス •
既存の CI サービスよりも安い環境で使いたいというニーズから SRE グループで開発 • GitHub App をリポジトリにインストールするだけでビルドを実 ⾏できる
©MIXI 事例3:社内ビルド環境の保守・運用 • Vagrant + Parallels Desktop で 仮想環境を作成し、その中で GitHub
self-hosted runner を使 ってビルドを回している • GitHub self-hosted runner を使 ⽤しているため、既存の GitHub Actions を使⽤することができる • 詳細はこちらで発表しています ◦ 動的に仮想環境を構築して CI/CD を 実⾏する| by BBQ All Stars | MIXI DEVELOPERS ◦ CI/CD Conference 2023 前夜祭 (前 夜ではない) - connpass
©MIXI 事例4: CI/CD 導⼊⽀援
©MIXI 事例4:CI/CD 導入支援 • プロジェクトでのアプリの CI/CD の導⼊の⽀援を⾏っています • プロジェクト側で継続的なビルド・配信ができるように、ビルド ワークフローの設計・導⼊をしています
• 例えば以下のような⽀援をしています ◦ Git のブランチやタグの運⽤ ◦ 配信のワークフロー設計 ▪ 各開発環境⽤のバージョンの社内配布 ▪ リリース版のストアへの配布 ◦ 証明書の発⾏・管理 ◦ Apple Pay の ID・証明書管理も ◦ ビルド⽀援ツールの開発も⾏ったりしています ▪ https://github.com/bbq-all-stars/bitrise-step-google-play-rollout
©MIXI 事例5:その他の取り組み
©MIXI 事例5:その他の取り組み 開発本部も含めて以下のような取り組みを⾏っています • GitHub Actions のクレジット管理 • Circle CI
の契約 • DeployGate の管理 • etc… • 運⽤フローの整備と周知 • 予算は開発本部持ちにすることで、コストとパフォーマンスの全 体最適化を⾏っている
©MIXI まとめ
©MIXI まとめ • MIXI には開発本部という横断組織があります • その中の SRE グループでは、技術でプロダクト・サービスの価 値向上(のサポート)をしています
• その⼀環として、アプリビルドに関する各種⽀援を⾏っています • このような⽀援を横断組織で⾏うことで、コストとパフォーマン スの全体最適化を⾏っています
©MIXI 宣伝:SRE グループの紹介
©MIXI 宣伝:SRE グループの紹介 MIXIのSREグループは主に3つの業務を⾏っています(再掲) 注力事業の支援 ・サービスを支える基盤の構築や運用 ・パフォーマンス向上 ・イベントやキャンペーンを乗り越えるための 対策の検討/実施 ・新規サービス(アプリ)の構築
・サービスのアプリケーション開発 エンジニアのいない領域への支援 ・運用主管のなくなったサイトのメンテナンス ・eスポーツの円滑化/安定化支援 ・社内報やコーポレートサイトの構築運用支援 ・新卒向け技術教育のコンテンツ/講師など 全社的な横軸での案件サポート ・社内ツール 運用 ・ゲーム基盤システム の運用 ・新規ゲームのためのガイドブックなどの ドキュメント/ルール整備など
©MIXI SREグループの技術領域は多岐に渡ります。 クラウド インフラ管理 オンプレミス ミドルウェア等 コンテナ関連 アプリケーション CI/CD Ruby,Go,Perl,Elixir,
Kotlin,Flutter Jenkins,CircleCI, GitHub Actions, Bitrise,Cloud Build nginx,MySQL,memcached,Redis,Fluentd K8s,Docker Terraform, CloudFormation AWS,GCP 物理サーバ, ネットワークスイッチ 宣伝:SRE グループの紹介
©MIXI We are hiring!! 採用情報 https://mixigroup-recruit.mixi.co.jp/ MIXI 採用 SRE \
積極採用中! /
©MIXI