マイクロフロントエンドアーキテクチャの原則
マイクロフロントエンドを採用する理由、チームの自律性、独立デプロイ、技術の多様性に伴うトレードオフ
「マイクロフロントエンドアーキテクチャの原則」はCoddyKit上の無料Vue Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはVue Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Vue Academyコースには全4レッスンが含まれています。
マイクロフロントエンドとは
マイクロフロントエンドは、マイクロサービスの考え方をUIに適用したものです。大規模なアプリを、個別のチームが所有して独立して開発・デプロイできる単位に分割し、ユーザーには1つの体験として組み合わせます。
モノリスが引き起こす問題
フロントエンドが1つの大きな構成だと、すべてのチームが1つのコードベースにコミットし、リリースを調整して、1つのビルドを共有する必要があります。組織が成長すると、これがボトルネックになり、ビルドの遅延、マージコンフリクト、リリース待ちの連鎖を引き起こします。
原則:チームの自律性
中核となる考え方はエンドツーエンドのオーナーシップです。チームはコードからデプロイまで、UIの担当範囲を所有します。専用のリポジトリ、パイプライン、ランタイムを持つため、他のチームを待たずに開発を進められます。
レイヤーではなく垂直スライス
チームは技術レイヤーではなく、ビジネス機能(Checkout、Search、Profile)ごとに分割します。各スライスには、その機能に必要なUI、ロジック、データアクセスが含まれます。
原則:独立したデプロイ
各マイクロフロントエンドは、それぞれのスケジュールでリリースされます。SearchチームはCheckoutに手を加えず、1日に10回デプロイできます。リリースが分離されるため、リスクと調整作業を減らせます。
原則:技術の多様性(任意)
チームはスライスごとに異なるフレームワークを選択できます。実際には、共有ツールを使うために、多くの組織が標準化しています(例:すべてVue)。ただし、合理的な理由がある場合は、アーキテクチャとして多様性も認められます。
統合方式:ビルド時
スライスを組み合わせる方法の1つが、ビルド時の統合です。各マイクロフロントエンドをパッケージとして公開し、コンテナアプリが依存関係としてインストールして、まとめてビルドします。
// container package.json
{
"dependencies": {
"@org/checkout": "^2.1.0",
"@org/search": "^1.4.0"
}
}ビルド時統合のトレードオフ
ビルド時統合はシンプルですが、リリースが密結合になります。新しいCheckoutのバージョンをリリースするには、コンテナを再ビルドして再デプロイしなければなりません。真の独立デプロイは失われます。
統合方式:ランタイム
ランタイム統合では、ブラウザ上で実行時にマイクロフロントエンドを読み込みます。コンテナは必要になった時点でリモートのコードを取得します。各リモートは独立してデプロイでき、コンテナは再ビルドなしで最新の内容を取得します。
Module Federation
代表的なランタイム技術がModule Federationです。これは、あるアプリがモジュールを公開し、別のアプリが実行時にネットワーク経由で利用できるようにするビルド機能です。共通の依存関係を共有することもできます。今後のレッスンで使用します。
方式の選択
シンプルさと単一のデプロイを重視する小規模チームには、ビルド時を使用します。独立したデプロイとチームの自律性を優先し、運用の複雑さが増すことを受け入れられる場合は、ランタイム(Module Federation)を使用します。
クイックチェック
マイクロフロントエンドの原則について、理解度を確認しましょう。
まとめ
マイクロフロントエンドの原則を学びました:
- 大規模なUIを、独立して所有・デプロイできるスライスに分割し、ユーザー向けに組み合わせます。
- チームの自律性:ビジネス機能の垂直スライスを、エンドツーエンドで所有します。
- 独立したデプロイ:各スライスをそれぞれのスケジュールでリリースします。
- 技術の多様性は任意であり、多くのチームは標準化します。
- 統合には、ビルド時(シンプルだがリリースが密結合)とランタイム(Module Federationによる真の独立性)があります。
よくある質問
「マイクロフロントエンドアーキテクチャの原則」レッスンは無料ですか?
はい。「マイクロフロントエンドアーキテクチャの原則」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Vue Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Vue Academyコースには全4レッスンが含まれています。
「マイクロフロントエンドアーキテクチャの原則」で何を学びますか?
マイクロフロントエンドを採用する理由、チームの自律性、独立デプロイ、技術の多様性に伴うトレードオフ ブラウザで直接実行するハンズオンコードでVue Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Vue Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのVue Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「マイクロフロントエンドアーキテクチャの原則」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このVue Academyレッスンでコードを書いて実行できますか?
はい。すべてのVue Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- マイクロフロントエンドアーキテクチャの原則
- VueでのWebpack Module Federation
- Vite Federation Plugin
- マイクロフロントエンド間での共有状態