Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
「Chatwork」における PHP 開発の 取り組みの紹介 畑中 貴弘 2025 年 1 月 23 日
Slide 2
Slide 2 text
目次 CONTENTS 01 | 自己紹介 02 | 「Chatwork」における PHP 03 | PHP チームが直面している課題 04 | まとめ
Slide 3
Slide 3 text
自己紹介
Slide 4
Slide 4 text
自己紹介 氏名 畑中 貴弘 (はたなか たかひろ) 所属 プロダクト開発ユニット サーバーサイド開発 略歴 2023年夏に JOIN。10年以上にわたり eb エンジニアとしての開 発業務に従事。テック系スタートアップからメガベンチャーまで、 物理インフラからスマホネイティブアプリまで幅広く経験してきた。 バックエンド開発が得意 趣味 モータースポーツ観戦。富士・鈴鹿・もてぎの PE G 、 PE FO M LA、スーパー耐久はだいたい現地 観戦してる
Slide 5
Slide 5 text
「Chatwork」における PHP
Slide 6
Slide 6 text
データストレージ / キャッシュ 実行基盤 検索サーバー メッセージングシステム モバイルアプリ eb I API エンドポイント システム構成イメージ 3 Aurora DynamoDb ElastiCache 7
Slide 7
Slide 7 text
現在のシステムアーキテクチャ etc 8
Slide 8
Slide 8 text
現在のシステムアーキテクチャ etc PHP cala 9
Slide 9
Slide 9 text
「Chatwork」における PHP 10 ● 全体の半数以上は PHP を利用 ○ cala に移行したと言われることが多いが、実はそうではない ● ローンチ時に作られた自社フレームワークをメンテナンスしている ● PHP 部分の新規開発も行っている
Slide 10
Slide 10 text
「Chatwork」における PHP 11 ● PHP 8.1 ● 自社 M C フレームワーク ○ Clean Architecture の考え方が入っているコードも一部ある ● モノリシックな環境が残る ○ コードやリポジトリ構成、デプロイ、DB など ● 数チームが協力して開発している
Slide 11
Slide 11 text
PHP を用いた開発の紹介 12 名刺読み取り機能 https://go.chatwork.com/ja/news/update/202309.html リアクションの追加 https://go.chatwork.com/ja/news/update/202424.html 予約送信機能 https://go.chatwork.com/ja/news/update/202435.html
Slide 12
Slide 12 text
PHP を用いた開発の紹介 13 ● 新規開発だけでなく、運用保守も実施 ○ PHP のメジャーバージョンアップ ○ 関連するライブラリ、コンポーネントやミドルウェアのアップデート ■ Amazon Aurora、Amazon EK など ○ 不具合修正、既存機能の改善、パフォーマンスチューニングなど ● ほぼ毎日、何らかのリリースが行われている
Slide 13
Slide 13 text
PHP チームが直面している課題
Slide 14
Slide 14 text
PHP チームが直面している課題 15 ● 「Chatwork」のサービスがローンチされて 14 年経過 ○ 過去の事情による設計やコードがそこそこ残っている ○ 特定のチームに作業が集中しがち ● 過去の経緯や先人の開発者には強くリスペクトしつつ、現代の事情にそぐわなくなった 設計やコード、体験の課題が表面化しつつある コードの更新はもちろん、組織全体を巻き込んでプロダクト全体を更新していく必要がある
Slide 15
Slide 15 text
まとめ 16 ● 「Chatwork」における PHP との付き合い方を紹介した ● 今後も PHP とは末永いお付き合いが続いていく ● プロダクトのコードだけでなく、組織の課題もある ● 組織全体を巻き込んでプロダクト全体を更新・リプレイスしていく必要がある