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
200
徹底的な自動化とトイルの撲滅で実現する効率的なSREの実践例 - SRE NEXT 2024
bbqallstars
7
3.7k
限られた人数で MIXI のあらゆる公式サイト群を保守・運用する ノウハウとその体制 | MIXI SRE秋祭り 〜 MIXIのもうひとつのSRE 〜
bbqallstars
7
5.2k
GitHub self-hosted runner を利用した独自の CI プラットフォームの開発と運用 | CI/CD Conference 2023 by CloudNative Days 前夜祭
bbqallstars
3
690
Other Decks in Technology
See All in Technology
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
720
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
180
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
520
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
140
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
330
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
640
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
83k
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
220
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Agile that works and the tools we love
rasmusluckow
328
21k
RailsConf 2023
tenderlove
29
1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
44
14k
Fireside Chat
paigeccino
34
3.2k
Code Review Best Practice
trishagee
67
18k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
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