2000年〜 Web サービスの普及 2006年 AWS がサービスを開始 2010年〜 クラウドコンピューティングのインフラが整い、業務アプリケーションもクラウドに 2010年中頃 SaaS (新たな Point solution) の普及 業務アプリケーションの変遷 Platform solution vs Point solution
他プロダクトデータの参照 2. 他プロダクトデータと結合しての検索、データ出力 3. 他プロダクトからの非同期通信によるデータの作成・更新 Polyrepo スタイルでの開発 複数プロダクト間で起きる Back-end システムの依存関係 プロダクト DB Internal API API Worker DB Internal API API プロダクト Worker 作成・更新 結合 参照 プロダクト
3. 本来、依存のないサービス間にまでサービスダウンなどの影響が波及する ドメイン境界が (システムアーキテクチャ上で) 正しくない具体的な信号でもある Polyrepo スタイルでの開発 大きなドメインを持つサービス同士では、依存グラフ上での循環もうまれやすい DB Internal API API Worker DB Internal API API プロダクト Worker プロダクト 参照 作成・更新 結合 参照
にならった開発チームへ Stream-aligned team ビジネスドメインにおける一連のフロー(機能を開発・リリース・運用)を担当する Enabling team Stream-aligned team とコラボレートし、障害を取り除き、システムや組織に 必要な機能の発見やその技術の伝搬も担う Complicated Subsystem team 専門知識を要するシステムの開発や運用に携わる Platform team チームによるデリバリを加速するための社内サービス (X-as-a-Service) を提 供するよう振る舞う
の課題を解決している例として、以下が挙げられている 1. No overhead to create new projects 2. Atomic commits across projects 3. One version of everything 4. Developer mobility しかし、Monorepo に対しての理解や専門的な運用、ツールも求められる なによりも運用を行うチームの存在は必須