2020/08 の記事一覧

cert-managerをWorkload Identityに対応させる

MF KESSAIでは、一部社内で、cert-managerを利用しており、利用中のGKE(Google Kubernetes Engine)でWorkload Identity化をすすめるにあたってぶつかった壁があり暫定的ではあるものの解決したため、その方法を残しておきたいと思います。

社内で記事を温めてる間に、Documentを更新するPRが生まれてマージされました。 そのため公開するか悩みましたが日本語記事として読んでもらえればと思います。

NestJSでBFFをつくった話

MF KESSAIでバックエンドのエンジニアをやっているgarsueです。 先日当社のnoteのインタビュー企画NestJSを使ったBackend For Frontend(以下BFF)について「ブログお待ちしてます!」と言われてしまったので、重い腰を上げて書くことにしました。

当社ではNestJSをGraphQLをしゃべるBFFとして使っているので、そのあたりの勘所や知見を少し紹介します。

なぜBFFとしてNestJSを採用したか

まず、フロントエンドのフレームワークはNuxtJSで決まっていました。当社での2年以上の実績もあり、もはや定番となっています。 また、NuxtJSと合わせてGraphQLを使うのも定番となっており、今回もGraphQLを使うことが決まっていました。

NuxtJSから呼び出すBFFは今までGoでgqlgenを使ったGraphQLサーバーとして実装していました。 これはこれで悪くないのですが、やりたいことはバックエンドのサービス群を呼び出してフロントエンドの都合のいい形に加工して返すことぐらいなので、もっと軽く開発できる何かにしたいなとも思っていました。

そこで高い抽象度で記述量も少なく抑えられ、フロントエンドエンジニアも触りやすいTypeScript製のフレームワークであるNestJSを採用しました。 GraphQLもサポートされていて、NestJS自体がマイクロサービスアーキテクチャを前提にしてるフレームワークでもあり、今回の要件にマッチしていました。