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

MF KESSAI開発合宿運営(CTO)の@shinofaraです。 前回に引き続き、チーム対抗パフォーマンス改善合宿の様子をお送りします。

今回は仕組み編です。チームで競い合えるような仕組みをどのようにしてつくっていったかをお伝えします。

チーム対抗の課題

タイトルの通り、今回の合宿はチームごとにパフォーマンス改善を競い合う内容としました。そのためには各チームが行ったパフォーマンス改善の効果を測定し、チーム間で比較できるようにする指標が必要です。

また、リモートでの開催であったため、各チームの改善状況がすぐに分かるように継可視化の仕組みもほしいところです。

これらをある程度自動化して合宿当日はスムーズに取り組めるようにすることが課題でした。目標は当日に運営として何もしない!です。

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

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)への対応として原則在宅勤務となった際にも、大きく生産性を下げる事なく実施する事に繋がりました。