【デブサミ2020】セッションレポート:14-A-7 TOYOTA x Serverless x Microservices 〜 グローバル展開のコネクティッドカーを支えるアーキテクチャとエンジニアリングチーム
概要
登壇:浦山 雄也[トヨタ自動車]さん/松本 崇之[トヨタコネクティッド]さん/内海 英一郎[アマゾン ウェブ サービス ジャパン]さん
TOYOTAの中でもチャレンジングなチーム
はじめての大規模サーバレス
はじめての大規模アジャイル
なぜTOYOTAがサーバレスを選んだのか
TOYOTAのコネクティッドサービス
・接続先が多岐に渡る
・エンドユーザー
・企業
・官公庁
変化するアクセスへの対応
・これまでは常時MAX値で確保していた
・サーバレス化し必要な分だけプロビジョニングするようにした
長いライフサイクルへの対応
・平均8.5年乗る
・新たに価値を生まない維持/保守のムダ
・サーバレス化することで負荷をクラウドベンダーにアウトソーシング
Mobility Gateway
クルマと地域サービスを双方向につなぐゲートウェイ
・一貫して分割
・自立・緩やかに統合
・ステートレス
アーキテクチャ
・Nティアー
・ウェブ・キュー・ワーカー/イベントドリブン
・マイクロサービス
車載デバイスと地域サービスの仲介役、というメタファー
・リアクティブスケーリング型とプロアクティブスケーリング型
・スパイキーなアクセスがきているときはプロアクティブな動きがしたい
・ここを使いわけているのが特徴
・ワーカープロセスはすべてLambda
チームエンジニアリング
どのようなチームを作ったのか
・セオリーはマイクロサービスの境界にあわせたチーム
・クルマと地域サービスがなければサービスが成り立たない。小さく自律は現実的ではない
責務にあわせてチームを切った
SoEチームとSoRチームに分けた、的な感じか。ライフサイクルが異なるところを同一チームで同期させるのは厳しいから、そうなるよね。
・最後は元に戻す
・1チームまず戻してみて、なにが課題かを洗い出す
・だんだん生産性を戻していく
現実にあわせて、あえてチームを分断し段階を経てセオリーにあわせてゆく戦略。地に足がついてる!
・車載デバイスや開発のスキルはあったが、それ以外はなかった
・全員で勉強しながらスキルアップしていった
・最初は全然、生産性が上がらなかった
・お客様のフィードバックがすぐには得られない。正しさがわからない
・プロに教えてもらう。アジャイルコーチを招致した
・今度は改善するべきポイントがたくさん見えてきた
・作ったアーキテクチャが正しいのかわからない
・プロに教えてもらう。AWSの人に入ってもらう
・あと一歩という感触があった
・勉強会を実施
・AWS黒帯の人を中心に実施
・メンバーの追加
・ナレッジ集約を実施した
段階的にステップアップしていく設計が見事だ。さすがカイゼンマインドのTOYOTAといったところか。
達成できたこと
目的:「圧倒的スピードでお客様へ」を実現するため価値を生まないムダを徹底削減
・運用コスト50%削減
・その分、開発に投資できた
・開発サイクルが高速化
・1ヶ月あたり624回のデプロイ
感想
AWSのアーキテクチャだったり、ライフサイクルが異なるシステムにあわせたチームフォーメーションだったり、なにより段階的な成長設計がなされていたりTOYOTAの本気を感じた。