フルリモート!チーム対抗パフォーマンス改善合宿 準備編

MF KESSAI開発合宿運営(CTO)の@shinofaraです。 2019年6月13日の開発合宿@箱根から1年以上ぶりに合宿を開催しました。

今回は新型コロナウイルス感染防止のためフルリモート開催とし、そんな中でも全員で楽しく取り組めるようにチームごとに競い合う形式としました。 開発合宿としては珍しい(?)スタイルなので、合宿内容・それを支える仕組み・実際の成果を何回かに渡ってご紹介したいと思います。

今回は準備編として、合宿の内容決定や合宿前日にやったGoogle Cloud Profilerのハンズオンについてお伝えします。

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自体がマイクロサービスアーキテクチャを前提にしてるフレームワークでもあり、今回の要件にマッチしていました。

MF KESSAIがWork From Homeでも生産性と安全性を向上させる為に考えてきたゼロトラストについて一部紹介

MF KESSAIでは「マネーフォワードグループ、新型コロナウイルスの感染拡大防止に向け在宅勤務を実施」のタイミングから全従業員がWork From Homeを実施しています。 しかし弊社では創業時からWFHでも安全に安心して行える環境、そして組織体制を構築してきました。

そのおかげか今回の新型コロナウイルス(COVID-19)への対応として原則在宅勤務となった際にも、大きく生産性を下げる事なく実施する事に繋がりました。

GoogleCloudFunctionsからSentryへアラート送信時にエラーがまとまってしまう問題

サーバーサイドエンジニアの@usumachiです。 For Developersチームとして、MFKESSAIを利用するエンジニアの体験向上に向けた開発をしています。 今回はGoogle Cloud FunctionsとSentryを利用したエラートラッキングについてのTipsを紹介できればと思います。

MFKESSAIでは、エラーのトラッキングにSentryを利用しています。 Google Cloud FunctionsからGolangで発生したエラーをSentryで管理する際に、 エラーがすべて1つにまとまってしまうという問題に直面しました。 その解決方法を共有できればと思います。