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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
“駆け出しPlatformチーム"の立ち上がりとこれから
Search
RevComm_inc
September 26, 2024
Technology
300
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
960
Company Deck -English-
revcomm_inc
5
580
2024-02-07 ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割(DevRel/Tokyo #89 〜テックブログ運営〜)
revcomm_inc
0
160
エンジニア不足の中で どう技術的負債と向き合ったのか RevComm Research の場合 -
revcomm_inc
6
9.8k
Feature Flagについて本気出して考えて実践してみた
revcomm_inc
10
9.5k
快適なテスト体験を実現する、Djangoのテスト思想と工夫
revcomm_inc
0
2.2k
Djangoの特徴とRevCommにおける選定理由
revcomm_inc
1
1.3k
会社紹介資料/Company Deck
revcomm_inc
5
130k
エンジニア向け_会社説明資料/Company Deck for Engineers
revcomm_inc
3
110k
Other Decks in Technology
See All in Technology
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
240
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
310
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
omasushiというライブラリを作った
polidog
PRO
0
160
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
180
module Synths; end
asonas
1
130
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
290
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
290
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
240
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
7
7.6k
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
1
290
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
3
210
Featured
See All Featured
Design in an AI World
tapps
1
310
Odyssey Design
rkendrick25
PRO
2
800
The Cult of Friendly URLs
andyhume
79
7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
How to build a perfect <img>
jonoalderson
1
6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Making the Leap to Tech Lead
cromwellryan
135
10k
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