クイックには15年以上にわたり、社内の売り上げを支え続けてきた基盤システムが存在しました。
このシステムは、事業ドメインの変遷に合わせて不断に拡張され、事業の成長を支えてきました。
しかし、その結果として、巨大なモノリシックレポジトリ、仕様書の欠如、1ファイルに集約されたJavaScript、そして無数のマジックナンバーという問題があり
不具合の発生頻度増加、開発生産性の低下、追加開発の難易度上昇といった「技術的負債」が無視できない状況になっていました。
本トークでは、問題を安全に解決するための戦略と、fuelPHP(PHP version 7.3)からLaravel(PHP version 8.2)へのリプレイスを行いつつ
フロントはJavaScriptからReact/TypeScriptへ移行した事例についてお話します。
具体的には以下のトピックについてお話させて頂きます。
技術的負債を抱える皆様にとって役立つ情報を提供できれば幸いです。
ぜひ、このセッションを通じて、皆様のプロジェクトの成功につながるヒントを得ていただければと思います。
「Chatwork」はサービスが誕生してから今まで主要なところで PHP を利用し続けており、誕生してまもなくに書かれたコードも未だにメンテナンスし続けています。
私が所属しているチームは、そのメンテナンスに加えてEOL 対応やミドルウェアのアップデートなどを担当することが多く、長らくそれらをメインの業務としてきました。
また、その業務に加えてアラート対応やトラブル対応等のイレギュラータスクを多数対応する必要もありました。
チーム内では仕組み化や対応手法の標準化など、イレギュラータスクとうまく付き合いたい思いはあり様々な検討を行いましたが、今まではなかなか良い結果に繋がりませんでした。
このセッションでは上記のチームにおいて、自ら問題を認知して改善サイクルを回すことができるようになったプロセスやアクション、チームビルディングについてお話します。
2012年に日本初のふるさと納税ポータルサイトとして立ち上がった「ふるさとチョイス」は、最後のリニューアルを2018年3月に行い、そこから開発・運用を続けてきました。
リニューアル当時はPHP7.4 + FuelPHP1.8.2で構築されていましたが、言語のEOLに伴ってこの度PHP8.3 + FuelPHP1.9-Dev へアップデートしましたため、
その時のつまづきポイントや苦労したところなどをお話させていただこうと思います。
PHPのバージョンアップはここ数年で実施している所も多く、目新しい構成や情報はそれほど多くないかもしれませんが、今後もアップデートを実施してく方の参考・助けになれば幸いです。
お持ち帰りポイント
・既存のリリースを止めずにバージョンアップを完遂させた方法と、想定通りに行かなかったポイント
・トラフィックの切り替え方法とその際の失敗パターン
・移行に伴って苦労したのはテンプレートエンジンでした(弊社はPHPTALを使用)
ふるさとチョイスの数字的特徴(2024年10月時点)
・PV:2億 / 月
・品の数:76万超
・利用自治体数:1700超
・決済種別:14種類
技術スタック
・PHP7.4
・FuelPHP1.8.2
・PHPTAL1.2.2
・MySQL5.6
ふるさとチョイス開発組織の特徴
・開発部門の人数: 80人
・リリースチケット件数:約25件/週
【会社紹介】
トラストバンクは、2012年に設立。第2創業期のITベンチャー企業です。
「ヒト」「モノ」「おカネ」「情報」を日本中に循環させ、地域の経済循環を生み出すことがビジョン「自立した持続可能な地域をつくる」の実現に繋がると考え、
ふるさと納税事業・パブリテック事業(自治体業務の生産性向上を促進)・地域通貨事業など、様々な事業を展開しています。
株式会社プログリットではLaravelをメインで利用し、さまざまな英語学習のアプリを開発しています。
近年、生成AIの登場によりこれまでは開発困難であったさまざまな機能が実現できるようになりました。
英語学習においては、ユーザに最適化されたフィードバックや、インタラクティブに変化するテーマやコンテンツなどを扱えるようになりました。
それによって、より効率的な学習体験を提供することが可能になり、新しい機能のアイデアがどんどんと生まれていきました。
しかしながら商用利用に当たっては、PHPの公式のSDKなかったりその他ライブラリが他の言語と比較して少ないなどいくつかの障壁がありました。
そこで我々は、これまでで開発した既存のリソースを活かしつつ、Pythonで書かれたAI関連の処理組み合わせるハイブリットなシステムを設計しました。
これまで開発した機能やプロジェクトの一部実例を踏まえしつつ、いかに生成AIを活用したアプリ開発を実現してきたのかご紹介させていただきたいと思います。
想定聴講者
・生成AIを活用した機能開発を行いたい
・PHPで構築された既存システムがある
・既存システムを活用しながら開発を行いたい