マイクロサービス化における開発作業を効率化する「フロントエンド用バックエンド」を解説:単なるサービスメッシュではない、そのメリットとは
TechTargetは「フロントエンド用バックエンドパターン」に関する記事を公開した。これは、ソフトウェアをマイクロサービス化する際に課題となりがちなフロントエンドの開発作業を簡素化するアーキテクチャだ。
TechTargetは2024年5月13日(米国時間)、「フロントエンド用バックエンドパターン」に関する記事を公開した。
「フロントエンド用バックエンド」(Backends For Frontends 以下、BFF)パターンは、API層を使ってデータの前処理、呼び出しと応答などを処理し、マイクロサービスにおけるフロントエンドの開発作業を簡素化するアーキテクチャのことだ。本稿ではその仕組みやメリット、実装方法を解説する。
API層で頻繁な呼び出しやデータの前処理を効率化
多数のマイクロサービスで構成されたソフトウェアを再設計する場合、フロントエンド開発が課題となることがある。「React」や「Angular」のようなライブラリやフレームワークを利用したアプリケーション(以下、アプリ)にログイン処理を実装するだけでも、以下のようなサービスと複数回のやりとりが必要になるからだ。
- シングルサインオン(SSO)のための認証サービス
- ユーザーの権限を確立するための認可サービス
- 個人向けにカスタマイズした「ようこそ」の画面を表示させるパーソナライズサービス
- ユーザーに関するデータを読み込むプロファイルサービス
その上、ReactやAngularを利用するアプリは、必要な全ての情報を集めるために特定のサービスを複数回呼びすこともある。
こうしたやりとり全てに対処する方法の一つが“BFFパターン”だ。
BFFパターンは、フロントエンドとバックエンドの間に“インテリジェントなAPI層”を設け、そこでデータの前処理、複数のマイクロサービスへの呼び出しの統合、さまざまなタイプのクライアントに対する応答の最適化などを実施する。これによって、アプリのパフォーマンスが向上し、フロントエンドの開発が簡素化されるという仕組みだ。
BFFマイクロサービスパターンのメリット
BFFパターンは、次のような方法でフロントエンドの開発をシンプルにする。
関連記事
- マイクロサービスにおけるSagaパターンの仕組み
Sagaパターンは、ある操作をサポートするために複数のマイクロサービスで一連のステップを実行しなければならない場合に最適なパターンだ。 - Netflix、モノリシックな動画処理パイプラインをマイクロサービスプラットフォームで再構築した事例を紹介
Netflixは公式エンジニアブログで、動画処理パイプラインをマイクロサービスで再構築した事例を紹介する記事を公開した。なぜ、動画処理パイプラインをマイクロサービスベースの新たなプラットフォームで再構築することに決めたのか、どのようにサービスを切り分けたのか、Netflixのビジネスに与えた影響などを紹介している。 - 開発者が注意すべき「マイクロサービスの問題点」、そのトップ10を解説
TechTagetは、「マイクロサービスの問題点」に関する記事を公開した。多くのメリットが得られるマイクロサービスだが、管理やコスト、デバッグの難易度などアプリケーション開発者が注意すべき点も多いという。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.