本番環境のCloud Firestoreにデータパッチを当てる

こんにちは、マネーフォワードケッサイでフロントエンドなエンジニアをしている@miki_tです。

社内向けサービスなど一部のサービスで、バックエンド開発を簡素化できる場合にFirebaseを技術選択しています。 ちょうどこのblogも、Firebase hostingで公開しています。

今日は、Firestoreのデータパッチについてちょうどいい仕組みが欲しく、考えてみたので書いてみようと思います。

GoLandでテンプレート中でも補完を効かせる

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

みなさんGoの開発環境は何を使ってますか? ぼくはVim -> Visual Studio Code -> GoLandと移り変わってきましたが、もう5年位はGoLandで開発しています。

そんなGoLandユーザーのぼくから、GoLandでGo標準のテンプレート1を書く際のちょっと便利な小技をお伝えします。

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管理、もしくはチケットでの作成依頼

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