Skip to Content

マイクロ・フロントエンドとは

マイクロ・フロントエンドとは
※このページの内容が日本語である場合は、機械翻訳システムで翻訳したものです。

多くの開発者はマイクロサービス・アーキテクチャを知っていますが、マイクロ・フロントエンドはあまり知られていません。名前が示すように、マイクロ・フロントエンドは、マイクロサービスと概念が似ています。モノリシック・アプリケーションと同じ問題の多くを解決しようとします。大きすぎて、作業が難しく、変更も困難です。新しい人材のオンボーディングは、困難な場合があります。また、複数のチームがアプリケーションのさまざまな部分で作業している場合は、全ての変更を互いに調整する必要があります。

マイクロサービスは、バックエンドをより独立したサービスに分割するのに役立ちます。同じアプローチを使用して、シングル・ページ・アプリケーション(SPA)を小さなアプリケーションに分割できます。また、異なるパーツを元に戻すことができるオーケストレータを追加する必要があり、ユーザーがSPAの動作を経験し続けます。

マイクロ・フロントエンド・アーキテクチャの代替手段

もちろん、コードの一部を独自の npm パッケージに分割するなど、大規模なアプリケーションの望ましくない側面に対処する方法は他にもあります。これにより、レポが大きすぎるなど、問題の一部を解決できます。例えば、Angular では、コードをモジュールに分けることもできます。これにより、アプリケーションをある程度垂直に分割することができます。しかし、依存関係の 1 つが更新されたときにトップレベルのプロジェクトを構築しなければならないといった欠点もあります。また、開発者の経験もそれほど優れていません。どのようなフレームワークを使用する場合でも、全てを同じバージョンにアップグレードすることをお勧めしますが、それは大きな作業であり、誰も進んでやりたがりません。また、複数のアプリケーションを iframe 経由で結合することもできます。独立しているが、アプリケーション間のコミュニケーションが問題であり、コードやスタイルの共有なども問題であるため、独立しすぎる可能性があります。 

「マイクロ・フロントエンドによる救済」とは

マイクロ・フロントエンドは、これら 2 つのアプローチの組み合わせです。各マイクロ・フロントエンドは、SPA と比較して個別のアプリケーションです。リンクされたスクリプトとスタイル・ファイルで index.html にコンパイルされるのではなく、JavaScript モジュールにコンパイルされます。「メイン」アプリの iframe ではなく、コードは、URL が何らかのパターンに一致すると、モジュールがレイジーロードされ、特定の場所に配置されることを定義します。このため、同じページに複数のアプリケーションを配置し、相互に相互接続することができます。

そのため、マイクロ・フロントエンドは、メイン・アプリケーションでのみ処理できるアプリケーション・レイアウトや基本的な CSS ルールを処理する必要はありません。同じバージョンの React を使用して複数のマイクロ・フロントエンドを持つ場合は、React モジュールを共有してもらうこともできます。マイクロ・フロントエンドごとに個別にダウンロードする必要はありません。JS モジュールの異なるバージョンを持つことも問題ではありません。

マイクロ・フロントエンドの主な懸念事項は、アプリケーションの他の部分にスタイルがオーバーフローしないようにすることです。幸いなことに、一般的に使用される UI フレームワークには、それを容易に処理するためのツールがあります。

マイクロ・フロントエンド・アーキテクチャのためのツール

マイクロ・フロントエンド・アプリケーションをロードするために独自のコードを記述するのは、かなりの作業です。幸いなことに、オーケストレーションを処理し、最も人気のあるフレームワークで書かれたアプリケーションをマイクロフロント・エンド形式に変換するためのツールを提供する複数のフレームワークがあります。

ピュア・ストレージでは、single-spaを選択しました。主なメリットは、分かりやすく、JSフレームワークを幅広くサポートし、詳細なドキュメントを作成できることです。さらに、single-spa は、複数のタイプのマイクロ・フロントエンドを提供し、それぞれがわずかに異なるジョブに適しています。

現時点では、「アプリケーション」タイプのみを使用しています。これは、SPAからマイクロ・フロントエンドへの移行に最も使いやすいためです。その他のタイプでは、より詳細なマイクロ・フロントエンド・アーキテクチャも必要です。また、「アプリケーション」は、シングルスパの作成者のデフォルトとして推奨されます。

アプリケーション

パーセル

ユーティリティ

ルーティング

1 つ以上のルート

いいえ

いいえ

API

宣言型API

インペラティブ API

インターフェースをエクスポート

UI

UI をレンダリング

UI をレンダリング

UI をレンダリング可能

ライフサイクル

single-spa

所有

ライフサイクルのない外部モジュール

いつ使用するか

基本的な構成要素

さまざまなフレームワークで使用されるコンポーネント

ロジックの共有

Slide

Single-SPAフレームワークによるマイクロ・フロントエンドの構築

現在、ピュア・ストレージでは、約 5 つのマイクロ・フロントエンドを含む大規模なアプリケーションの 1 つでSingle-SPAを使用しています。これらのマイクロ・フロントエンドには、主要なアプリケーション開発チームとは異なるチームが取り組んでいることがあります。幸いなことに、マイクロ・フロントエンドに切り替えてから過去 6 か月の間に、問題は報告されていません。また、メイン・アプリが従来ほど膨らんでおらず、アップグレードも容易であることも非常にうれしく思います。また、新機能の追加時に副作用が生じる心配はありません。通常はマイクロフロントエンドで行われます。近い将来、ピュア・ストレージで開発している他の大規模アプリケーションのフロントエンドを分割したいと思います。これらのアプリケーションにとっても、メリットはかなり重要になる可能性が高いためです。マイクロ・フロントエンドは、ピュア・ストレージと同じ問題に直面している場合に試行することをお勧めします。

こちらの資料もご覧ください!

03/2025
Accelerate Financial Services with AI-optimized Solutions
AI is redefining financial services. Read this infographic to learn more.
インフォグラフィック
1 ページ

リソースとイベントを検索

テックトーク
API でストレージの可能性を最大化

API が可能にするシームレスな性能管理。ピュア・ストレージの API は、自動化と最適化を容易にします。是非詳しくご覧ください!

Web セミナーを視聴する
シンプルさでお客さまにパワーを

業界で最も包括的で一貫性があり、直感的で使いやすいデータ・ストレージ・プラットフォームが、あらゆるワークロードをサポート。IT 部門の運用管理負荷とコストを削減し、重要なプロジェクトへの注力を可能にします。

NAND Research のレポートを読む
リソース
ストレージの未来形:AI 時代の新原則

AI をはじめとする新潮流がデータ・ストレージのニーズを変えています。成功のための考え方と最新の対策を解説します。

eBook をダウンロード
リソース
ストレージの購入から、プラットフォームの導入へのシフト

エンタープライズ・ストレージ・プラットフォームの選び方を、要件、構成要素とともに解説しています。

レポートを読む
ご相談・お問い合わせ
ご相談・お問い合わせ情報アイコン
チャットのアイコン
ご質問・ご相談

ピュア・ストレージ製品および認定についてのご質問・ご相談を承っております。ご連絡をお待ちしております。

カギのアイコン
デモのご用命

ライブデモのご用命を承っております。ピュアがいかにしてデータを成果に変えるお手伝いができるかをご説明します。 

ピュア・ストレージ・ジャパン株式会社

〒100-0014 東京都千代田区永田町 2 丁目 10-3 東急キャピトルタワー 12 階

 

一般: info-japan@purestorage.com

メディア: pr-japan@purestorage.com

03-4563-7443(総合案内)

閉じる
閉じる閉じる X のアイコン
このブラウザは現在サポートされていません。

古いブラウザには、セキュリティ・リスクが存在する場合があります。ピュア・ストレージの Web サイトをより快適にご利用いただけるよう、最新のブラウザにアップデートしてください。