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
190
徹底的な自動化とトイルの撲滅で実現する効率的な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
670
Other Decks in Technology
See All in Technology
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.5k
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
350
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
170
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
Godot Engineについて調べてみた
unsoluble_sugar
0
410
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.4k
GoogleのAIエージェント論 Authors: Julia Wiesinger, Patrick Marlow and Vladimir Vuskovic
customercloud
PRO
0
160
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building an army of robots
kneath
302
45k
Speed Design
sergeychernyshev
25
740
Visualization
eitanlees
146
15k
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