Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
“駆け出しPlatformチーム"の立ち上がりとこれから
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
RevComm_inc
September 26, 2024
Technology
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
“駆け出しPlatformチーム"の立ち上がりとこれから
RevComm_inc
September 26, 2024
More Decks by RevComm_inc
See All by RevComm_inc
フロントエンドの状態管理とMiiTelにおける事例の紹介
revcomm_inc
3
1k
Company Deck -English-
revcomm_inc
5
670
2024-02-07 ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割(DevRel/Tokyo #89 〜テックブログ運営〜)
revcomm_inc
0
160
エンジニア不足の中で どう技術的負債と向き合ったのか RevComm Research の場合 -
revcomm_inc
6
9.9k
Feature Flagについて本気出して考えて実践してみた
revcomm_inc
10
9.9k
快適なテスト体験を実現する、Djangoのテスト思想と工夫
revcomm_inc
0
2.2k
Djangoの特徴とRevCommにおける選定理由
revcomm_inc
1
1.3k
会社紹介資料/Company Deck
revcomm_inc
5
140k
エンジニア向け_会社説明資料/Company Deck for Engineers
revcomm_inc
3
120k
Other Decks in Technology
See All in Technology
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
650
AIコーディングエージェント開発_全体像
happysamurai294
0
130
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
160
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
580
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
150
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
110
GitHub、使う?使わない?
happysamurai294
0
120
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
240
Deep Data Security 機能解説
oracle4engineer
PRO
3
970
1週間、Opus封印でお願いします
kintotechdev
0
390
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
480
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
840
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
For a Future-Friendly Web
brad_frost
184
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
320
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
Product Roadmaps are Hard
iamctodd
55
13k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Transcript
Copyright © RevComm Inc. “駆け出しPlatformチーム"の立ち上がり とこれから 2024.09.24 @Platform Engineering Meetup
RevComm 玉城 翔
Copyright © RevComm Inc. contents 1. 自己紹介と会社紹介 2. 当時の現状と課題 3.
Platformチームの立ち上がり 4. 過去3ヶ月の取り組み 5. チームのこれから
Copyright © RevComm Inc. 玉城 翔(たましろ かける) - 株式会社 RevComm Technology Dept./Analytics
Div./Analytics Group/Platform Team - RevCommでは主にAmazon OpenSearch Servieceを使った検索システム周りの開発/保守 /運用を行ってきました。 自己紹介 3
Copyright © RevComm Inc. コミュニケーションを再発明し 人が人を想う社会を創る
Copyright © RevComm Inc. 電話営業や顧客応対を自動録音、AIが文字 起こし、解析・可視化することにより、顧 客と担当者が「何を」「どのように」話し ているか分からない、というブラックボッ クス問題を解消し、商談獲得率・成約率の 向上やセルフコーチングを後押しします。
Service ビジネス向けスマート電話
Copyright © RevComm Inc. Culture フルリモート フルフレックス プロフェッショナル 自由と責任を 尊重する文化
Copyright © RevComm Inc. Language and tools 言語/ フレームワーク インフラ/運用管理
コミュニケーション
Copyright © RevComm Inc. Platformチームの 立ち上がりと活動 8
Copyright © RevComm Inc. 開発規模(最近3カ月間のコントリビューター数) • アプリケーションリポジトリ: 34人 • IaCリポジトリ:
13人 開発状況 • 複数の機能チームによるモジュラモノリス開発 • プロダクトの初期ローンチから6年経過したモノレポ • モジュラモノリスのサブアプリケーションが36 MiiTel の開発状況 9
Copyright © RevComm Inc. • サービスのリリース頻度が週1回のため、1回のリリース内容が大規模になる。 ◦ アプリケーションリポジトリでは、頻繁に開発に携わるチームが4チーム、それ以外に2、3チームが不定期に関与 している。 •
リリース内容が大きいため、営業時間外の21時からリリース作業を行い、30分〜1時間程度かかる。 • 本番環境へのリリースは複数チームの変更が含まれるため、気軽にリリースできず、お互いに遠慮し合ってリリースが 滞りがちになる。 • エンジニアの内部作業用コマンド群も同じコードベースで管理しているため、コマンドの追加や改修の反映が遅れ、オ ペレーションに支障をきたすことがある。 • CIの実行タイミングによってテストが不安定になり、失敗することがある。 • サービスに対するメトリクスが十分に整備されていないため、SLAやSLOを正確に設定できない。 • 内部で複雑なリカバリ処理が実行されているため、InternalServerErrorが見逃されることがある。 ◦ これにより、サービスレベルを正確に判断することが困難になっている。 • 複数チームが独自にライブラリを導入しているため、管理責任が不明確になり、ライブラリのアップデートが滞りがち になる。 • 管理責任が不明確なソースコードの改修が、チーム間でたらい回しになることがある。 • 上記のような問題が発生した場合、最終的には長期在籍のベテランエンジニアに確認することが多く、特定の個人への 負担が大きくなる傾向がある。 • etc 当時の課題 10
Copyright © RevComm Inc. 背景 2024年7月、エンジニア組織全体でチームの再編が行われました。MiiTel開発グループ内では、チームトポロジー に基づいたチーム分けが実施されました。その結果、我々のチームは「Platformチーム」というチームタイプとし て立ち上がりました。 チームミッション 他のチームがそれぞれのミッションに集中できるように社内プロダクトを提供して支援する。
Platformチームの立ち上がり 11
Copyright © RevComm Inc. Platformチームの構成と特徴 • Platformチームのメンバーはマネージャーを含めて5人体制になります。 • チームメンバーそれぞれが異なる得意分野を持っており、チームトポロジーに基づくPlatform チームとしての開発は全員にとって初めての経験です。
• RevCommにとってもPlatformチームは前例のない試みだったため、リサーチチーム立ち上げ などの実績を持つマネージャーに開発手法の枠組みを準備してもらい、手探りの状態でスター トを切りました。 Platformチームの立ち上がり 12
Copyright © RevComm Inc. 最初の1ヶ月半..... Platformチームとして管理・提供する内部開発者向けプラットフォーム(IDP: Internal Developer's Portal/Product)や、前述の課題に対する具体的なアクションプランがない状況で した。そのため、立ち上げ当初は以下のような軽微な修正を行いながら、MiiTelの開発環境にお
ける課題の洗い出しに注力しました。 • 軽微な修正例: ◦ Pythonバージョンアップ ◦ 検索システムのPythonクライアント移行 ◦ ライブラリのアップデート ◦ Terraformバージョンアップ ◦ 実行ログの修正 ◦ エラーログの修正 ◦ テストカバレッジの計測 ◦ etc これまでの取り組み 13
Copyright © RevComm Inc. 課題の洗い出しと改善点の特定 • MiiTelの開発環境における課題の洗い出しに注力しました。この段階は後の開発に重大な影響 を及ぼすため、十分な時間をかけて取り組みました。 • 課題の洗い出しを経て、Platformチームとして注力する2つの主要な改善点を特定しました:
1. IaCリポジトリの改善 2. 検索システムの改善 これまでの取り組み 14
Copyright © RevComm Inc. IaCリポジトリの改善 課題 • GitHub Actionsを用いたCI/CDで一部自動化を実現しているが、本番環境へのリリースは複数 チームの変更が同時に発生するため、気軽にリリースできず、リリースが滞りがちになってい
る。 • 一部のリソースが自動化されていないため、terraform planを実行するまでデプロイ状況が把 握できない。 • 過去に存在したチームが開発したソースコードの管理責任が不明確になっている。 • 不要なソースコードが残存している。 これまでの取り組み 15
Copyright © RevComm Inc. 課題に対する取り組み GitHub Actionsを用いたCI/CDで一部自動化を実現していますが、本番環境へのリリースは複 数チームの変更が同時に発生するため、気軽にリリースできず、リリースが滞りがちになって います。 •
Platformチームがリポジトリの管理者として運用を開始しました。 • リリースフローを整備し、各チームに周知を行いました。これにより、各チームの担当者が明 確にリリース作業に参加できる環境を構築しました。 • 定期的なリリース監視を行い、当面の問題を解消しています。 これまでの取り組み 16
Copyright © RevComm Inc. 課題に対する取り組み リリース作業者が気軽にリリースできない根本原因は、CI/CDの一部しか自動化できていない点と、複数チー ムの変更が同時にリリースされる現状にあります。 • 現状のリポジトリ改修では状況改善が難しいと判断し、新しいリポジトリを作成してリソースを移行する方針を採 用。
• CI/CDにAtlantisというセルフホスティングのGolangアプリケーションを使用予定。 • 新リポジトリでは、チームまたはマイクロサービス単位でディレクトリを準備。 • Atlantisを活用し、各チームが独立して自由にリリースできる環境を提供予定。 これまでの取り組み 17
Copyright © RevComm Inc. 検索システムの改善 検索システムにはAmazon OpenSearchを採用しており、MiiTelのデータベースに保存された通話履歴をこのシステムと同 期させることで、MiiTelサービス内で検索機能を提供しています。この構成において、主にデータ同期システムに課題が 存在しています。 課題
• アプリケーションの一部として組み込まれている • 変更の影響が広範囲に及ぶ • オペレーションの制限 これまでの取り組み 18
Copyright © RevComm Inc. 課題に対する取り組み オペレーションの制限 • データ同期の一時停止による課題に対処するため、fan-out構成の導入が進められていま す 。
これまでの取り組み 19
Copyright © RevComm Inc. 課題に対する取り組み アプリケーションの一部として組み込まれている 変更の影響が広範囲に及ぶ • データ同期システムをMiiTelサービスリポジトリから独立させる必要があります。 ※これは検討段階にあり、fan-out構成の導入完了後に実施する予定です。
これまでの取り組み 20
Copyright © RevComm Inc. チームミッション 他のチームがそれぞれのミッションに集中できるように社内プロダクトを提供して支援する。 • セットアップ済みのECS/EKSを社内の必要とするチームに提供している。 • 以下のコンポーネントを適切にバージョンアップデートしている:
◦ EKS ◦ EKS アドオン ◦ EKS ミドルウェア(例:Cluster Autoscaler) ◦ Kubernetes ネイティブサービス(例:ArgoCD) ◦ エージェント(例:Datadog Agent) ◦ etc • セットアップ済みかつインデックス済みのOpenSearchを提供している。 • ECRの脆弱性スキャンなど、適切なセキュリティツールを提供している。 • GrafanaやPrometheusを使用したサービスの監視を実現している。 • CI/CDの管理およびコンサルティングを行っている。 • SRE実践(例:カオスエンジニアリング)を行っている。 • 上記の業務の効率化および自動化を推進している。 チームのこれから 21
Copyright © RevComm Inc. Thank you! 22