先日開催されたQCon Londonカンファレンスにて、Trainline社のCTOが、過去5年間における同社のシステム・アーキテクチャと組織構造の進化について講演した。同社は、テクノロジー・プラットフォームの性能と信頼性を向上させることで、市場の変化と顧客からの期待の高まりに応える必要があった。
Trainline社のCTOであるMilena Nikolic氏は、同社のビジネス概要を説明した。同社が50億ポンドのチケット販売を担当し、プラットフォーム上で利用可能な380万ものユニークなルートについて、毎秒350件の検索がピークに達していることを明らかにした。同社にとっての主な課題は、APIの統合と、旅行直前にチケットを購入するユーザーによるニーズの急増だ。
Nikolic氏は、Trainline社が近年経験した3つのスケーリングストーリーを紹介した。2022年以前、同社のチームはそれぞれの技術スタッフに役割を分担していたため、テクノロジーとビジネスの整合性やチームの生産性に悪影響を及ぼしていた。
それ以来、組織はテクノロジーと製品の整合性を高めるように進化してきた。現在は技術スタッフ全体の50%はコア・プラットフォーム・チームが管理し、残りは製品に沿った垂直チームに分割されている。Nikolic氏は、「逆コンウェイ戦略」を適用してもすぐに成功するとは限らず、企業は最適な構造を見つける前に様々なアプローチを試す必要があると認めた。
2つ目のスケーリング・ストーリーは、コスト最適化の取り組みにまつわるものだった。Trainline社におけるIT予算全体の大部分はクラウドインフラの費用に充てられているため、コスト効率を確保するためにはコストの最適化が不可欠だった。Nikolic氏は、社内でコスト削減を推進することで得られた教訓を語った。
クラウドコストを削減するために、非本番環境の統合、サービス・プロビジョニングの適正化、アーキテクチャの選択(コンテナ対クラウド機能など)の見直し、古いデータや未使用データの削除/アーカイブなど、いくつかの分野に注目するべきだと参加者に語った。節約の余地がほとんどないコスト削減のために、チームに有害な可能性のある決断を強いることを避け、コア削減の目標を一律に設定することは控えるべきだとアドバイスした。
最後に議論されたのは、アーキテクチャのスケーラビリティに関するものだった。Nikolic氏は、2021年から2023年にかけて同社が経験した3つの障害について語り、それぞれの詳細を掘り下げて根本原因を分析した。講演者は、同社が長年かけて収集した学びを共有し、マイクロサービスベースアーキテクチャのスケーラビリティを確保するためのベストプラクティスについて聴衆にアドバイスした。
Nikolic氏は、リリースレベルのパフォーマンス分析だけに集中するのではなく、長期的なトラフィックの傾向を定期的にモニタリングし、レビューすることを推奨した。さらに同氏は、マイクロサービスではフリートの調整が重要であるため、アーキテクチャ/エンジニアリングのリーダーは、スケーラビリティ関連の問題や停止を避けるために、リトライ戦略、スケーリングポリシー、DB接続プールの構成についてチームを指導する必要があると指摘した。
Video Only Passをお持ちの読者諸氏は、QCon Londonの録画講演にアクセスすることができる。