
マイクロサービス実践(動画プラットフォーム)コース公開 ── Go・Python・Next.js でサービス境界を学ぶ
金 大希(メンター)
現代のバックエンド開発において「マイクロサービス」という言葉は珍しくありませんが、複数のサービスを設計・配線し、Docker Compose から Kubernetes まで通しで動かした経験を持つエンジニアは決して多くありません。
今回のコラムでは、新たに公開された「マイクロサービス実践(動画プラットフォーム)」コースを取り上げ、サービス分割の考え方から Kubernetes・Istio での配線まで、実践的なスキルをどのように身につけるかを整理します。
どんな人にフィットするコースか
- バックエンドをもう 1 段上げたいエンジニア: Go や Python で API を書いた経験があり、複数サービスをどう設計・連携させるかを体系的に学びたい方
- Docker・Kubernetes の次に進みたい方: コンテナを動かすことはできるが、複数サービスの統合・配線を実際のコードで押さえたい方
- フルスタック志向でインフラまで触りたい開発者: Next.js で BFF を実装し、Kubernetes・Istio まで自分の手で通したい方
- 設計判断の言語化が苦手なエンジニア: 「なぜここで境界を引くのか」「タイムアウトはどこで決めるのか」を実装と並走して体得したい方
前提として、Go・Python・React/Next.js・Docker の入門程度の知識を想定しています。言語の補強が必要な場合は、Alamoa の対応入門コースを先に押さえてから受講すると、サービス設計・配線の本題に集中できます。
コースで得られる実践知識
- サービス境界の設計: どこで境界を引き、何をインターフェース契約とするかを動画プラットフォームを題材に体得します
- 多言語マイクロサービスの実装: 中核 API(Go / Gin / GORM)・ストリーミング API(Python / FastAPI)・おすすめ API(Python)を順に実装します
- BFF(Backend for Frontend)の設計と実装: Next.js で BFF 層を置く理由と、フロントからバックエンドを束ねるプロキシの書き方を学びます
- Docker Compose での統合と確認: 複数サービスを Compose でつなぎ、ヘルスと主要フローを一通り検証します
- Kubernetes・Istio への移行: Compose で組んだ構成を K8s manifest に落とし、Gateway・VirtualService で内部通信を制御する方法を学びます
- 共有ストレージと HLS の扱い: PostgreSQL と共有ボリュームを複数サービスで使い回す際のパス規約と落とし穴を押さえます
コースの中身をチラ見せ
中核 API の ms-api(Go / Gin)では、内部サービス間の認証ヘッダ検証ミドルウェアを自前で実装します。外部からの一般リクエストと、BFF や他マイクロサービスからの内部呼び出しを分けて扱うことで、不要なエンドポイントがネットワーク外へ漏れない設計を体感します。
// auth/internal.go(抜粋) func InternalAuth(cfg *config.Config) gin.HandlerFunc { return func(c *gin.Context) { if !cfg.AuthEnable { c.Next() return } secret := c.GetHeader("X-Internal-Secret") if secret != cfg.InternalServiceSecret { c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{ "error": "unauthorized", }) return } c.Next() } }
このミドルウェアを ms-api の内部ルートに差し込み、ms-recommendation-api からの呼び出しを検証します。環境変数(AUTH_ENABLE・INTERNAL_SERVICE_SECRET)で切り替えられる構造にしておくことで、ローカル開発での検証コストを抑えながら本番環境では安全に運用できます。
なぜ BFF(Backend for Frontend)を置くのか
フロントエンドから複数バックエンドサービスを直接呼ぶ構成では、CORS の設定や認証ヘッダの受け渡しが全サービスに散らかります。BFF(Next.js の /api/... ルート)を 1 枚置くことで、ブラウザが見るエンドポイントを 1 本に絞り、各マイクロサービスへの配線をサーバサイドで集約できます。
このコースでは、アップロード・視聴・サインイン画面から ms-api / ms-stream-api / ms-recommendation-api への呼び出しをすべて BFF 経由に通す構成を実装します。第7章・第8章の Compose / Kubernetes 結線と組み合わせると、「BFF からバックエンドへ」のトラフィックが内部ネットワーク上でどのように流れるかが視覚的に掴めます。
サブスク加入で広がる学習体験
メンバーシップでは、マイクロサービス実践コースをはじめとしたオンデマンド講座を横断的に学べるだけでなく、
- スキル領域別の学習パスで次に学ぶテーマを迷わず選定
- AI チャットによるサポート
- Discord での質問対応や必要に応じたビデオサポート、月イチのオンラインセッションで疑問をリアルタイムに解消(サポートプラン・共同開発プラン)
- 毎週のアジャイル運用で実務のコツを無理なく習得(共同開発プラン)
継続的にアップデートされるコンテンツラインアップを活用すれば、個人もチームも中長期の学習プランを描きやすくなります。詳細は メンバーシップページ でご確認いただけます。
編集部より
マイクロサービスは「流行っているから使う」ではなく、「独立デプロイ・個別スケール・障害の局所化」といった具体的な利点が必要なときに選ぶ設計です。このコースでは、動画プラットフォームという身近なドメインを通じて、分割の判断・境界の引き方・配線の考え方を一通り体得できます。
「なぜここで境界を引くのか」を言語化できるエンジニアは、チームの設計議論でも確かな発言ができます。ぜひ本コースを、現場で使えるアーキテクチャ思考を鍛える機会として活用してください。
📮 質問や感想はお問い合わせフォームからお気軽にお寄せください。