NestJSでgRPCクライアントを管理するtips

こんにちは、マネーフォワードケッサイでバックエンドの開発をしているgarsueです。

1年くらい前にNestJSでBFFをつくった話を書き、今も引き続きNestJSは活躍してくれています。

その間に得られた知見もいくつかあるので、その中からgRPCを呼び出す際のgRPCクライアントの管理方法についてのtipsを書こうと思います。

gRPCクライアントの初期化における注意点

公式ドキュメントでgRPCクライアントのインスタンス管理方法がいくつか紹介されています。

ほとんどの場合、上記の情報で特に困ることはないですが、gRPCクライアントを利用する箇所が増え、ある程度複雑化してきた場合に困ることがあります。

GCP上では誰もが同じ権限に、そして開発者全員が一時的に権限付与できるツール「granter」について

こんにちは、マネーフォワードケッサイ(以下MFK)SREチームのshinofaraです。今回は権限の仕組みを見直した話と、それを実現する為に開発したgranterというツールについてお話したいと思います。 また今回granterのcore部分をmfkessai/granter_coreとして公開しています。

2021年に入ってやめた3つの開発に関わる仕組み

久しぶりの登場となりましたマネーフォワードケッサイ(以降MFK)CTOの篠原です。

事業が成長し続ける事で、情報管理、GCPリソース等のアクセス権限や、そしてオペレーションやセキュリティ観点でのリスクコントロールなどを意識する場面が増えてきます。 今回、MFKとして正しいと思う形で正しく運用できているかを保証する為に導入していた仕組みなどを、0から再設計しなおしたお話ができればと思います。

まず今回のテーマである正しいとは何かを書き出したいと思います。

  • GCPリソースに対するメンバーの権限は必要最低限に留める事
  • 本番環境にデプロイされるソースコードが社内で定める条件を満たしている事
  • 社内ツールで読み書き可能なメンバーが必要最低限である事
  • またそれぞれで意図通り運用されたことを保証できる事

一部ではありますが開発組織によって定義される正しさは異なると思いますので、ここではMFKの考える 正しさ に基づいていることをご理解いただけると嬉しいです。

まず何をやめたのか

  1. SREに本番に関する権限が集中することと、SREへの依頼が必要になる事
  2. 社内アプリケーションそれぞれでのACL管理
  3. Githubリポジトリ作成のIaC管理、もしくはチケットでの作成依頼

ここからは、これらをやめるために何をしたかをお話していければと思います。

マネーフォワード ケッサイのBigQueryリソース ラベル規約

BigQueryの布教活動をしていますna0です。 この文書は、BigQueryリソースに対する期待値をラベルで明示する提案を行うものです。

組織全体でデータ品質に合意するための第一歩としてBigQueryリソース ラベルを使ってみませんか。 ラベル品質のベースラインとして、マネーフォワード ケッサイで運用している規約を紹介します。

システムから人にお願いごとをするときはAsanaを使おう

オペレーションチームで開発を担当しているmakitonです。

マネーフォワードケッサイは、お客様の請求業務をITの力で効率化するソリューションを提供していますが、まだまだどうしても人手が介在する業務は残っています。

例えば、口座振替手続きは紙の依頼書をやりとりしなければなりませんし、請求代行して回収した代金の振込を承認するのは結局人です。

そういった人が関わる部分の業務フロー設計や、ツール開発をするのがオペレーションチームになります。 今回はAsana1を使ったシステムと人の連携についてご紹介します。