Cloudflare WorkersからTinyGoでビルドしたWabAssemblyバイナリを呼び出す

こんにちは、マネーフォワード ケッサイのテックリードをやっておりますgarsueです。

最近、CDNのエッジで動くサーバレス環境が充実してきましたね。

代表的なものとしてはCloudflare WorkersやfastlyのCompute@Edgeなどがあります。CloudflareではKey-Valueストアもあり、S3やGCSのようなオブジェクトストレージまで揃いつつあるようです。

そんな流れに乗って、Cloudflare Workersを使ってGoで実装した計算ロジックをエッジで動かせるか検証してみました。今回はその結果をレポートします。

TL;DR

  • アップロードサイズ制限があるのでTinyGo使って小さいwasmバイナリを作る
  • wrangler.tomlで type = "CompiledWasm"のモジュールとしてwasmバイナリをアップロードする
  • wasmのエントリポイント内でJavaScriptの名前空間にJavaScriptの関数としてセットする

僕たちの障害対応

こんにちは、マネーフォワードケッサイ(以下MFK)でバックエンドエンジニアをやっていますshoheiです。 サービス提供をおこなっているなら必ず直面するであろう障害対応について書いていこうと思います。 例に漏れずMFKでも障害は発生します。一方で、障害が起きても迅速に解消できるように様々な仕組み・取り組みを導入しています。 今回はそんなMFKの障害対応時の仕組みについてご紹介させていただきます。

OPA/Regoを活用して継続的監査を実現して、楽をしよう

あけましておめでとうございます。Open Policy Agent(以下OPA)/Rego x 監査で継続的監査をあたりまえにしていきたいと思っているMoney Forward Kessai(以下MFK)のshinofaraです。 Regoとは、OPAのポリシーを記述する言語です。

本日はOPA / Rego Advent Calendar 2021の影響を受けて、MFKでOPA/Regoを活用して実現している監査に関することの1つを紹介できればと思いブログを書き始めました。

そもそもOPAって何?に関しては、以下のZennに詳しく書かれておりますので、こちらのブログでは割愛させていただきます。 OPA/Rego入門: OPA/Regoとはなんなのか

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

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

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

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

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

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

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

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