137 Views
February 20, 26
スライド概要
ユースケースの決まってい るサービスをLambdaで作 成したら、めちゃシンプル な作りになった merutin 2026.02.20
⾃⼰紹介 公官庁向けシステム開発 → ERPパッケージベンダー → DELTA 特定の技術にこだわらず、お客さんに合わせて何でもやっています。 直近1年くらいの仕事 - VersionUp Booster - CakePHP2 Ruby on Rails - コスト削減 - - 採⽤ AWS
Lambdaを利⽤したプロジェクト 実はDELTAの前⾝では、Lambdaを使ったシステムを多く作っていた - 社内の管理会計のためのシステム(DASH) - Lambda API Gateway DynamoDB SQS - クリニックの予約管理システム - AppSync - Posemaniacs
Lambdaを利⽤したプロジェクト 実はDELTAの前⾝では、Lambdaを使ったシステムを多く作っていた - 社内の管理会計のためのシステム(DASH) - Lambda API Gateway DynamoDB SQS - クリニックの予約管理システム - AppSync - Posemaniacs
DASHとは DELTAが所属しているSEVENRICH GROUPでは会計をメインとして、様々な事業が存 在しています。 会計事務所、BPO、⼈材、コーチング、飲⾷店、そうめん、不動産、弁護⼠、VCな どなど。。 DASHは各事業ごとのPLを登録‧閲覧するためのツールとして利⽤しています。 数⼗に及ぶ事業が勘定科⽬ごとに⼊⼒をします。
画⾯イメージ
画⾯イメージ
開発当初 ⾊々やりたいことがあった - 予実をいい感じに表⽰したい - Q、年毎の表⽰ - BIに近い要望 - 更新履歴の保持 - 任意の年⽉、事業のみの絞り込み 最⼩単位である部⾨ * 年⽉ * 勘定科⽬で1レコードをDynamoに保存していた 親の項⽬はリクエストのたびに都度計算していた
初期バージョンを作成してわかったこと - 都度計算していたので遅かった - 権限で⾒れる‧⾒れないがあったので最初の計算は難しいと思っていた - 途中の要望で勘定科⽬が爆増した - 10個だったのが60個くらいに増えた - 事業も増えたり変わったりした - 開店閉店、新規事業の追加 etc - BIっぽい要望がちょっとずつ⾊々来た - ⼯数もなかったのでスプレッドシートで対応してねって連絡をしていた - 運⽤をまわすことがボトルネックで、思ったほど詳細な機能要望は増えなかった - 運⽤が回るまでになんだかんだ1年くらいかかった気がする
シンプルにしよう - ⼤体のユースケースが全データの取得だったので、あらかじめ計算して保持する ようにした - 表⽰するデータをあらかじめ作成して置き、S3に配置して、リクエストがあった場合はそのまま 内容を返す 更新があった場合に先に作り直す 元データはスプレッドシートから連携しているが、個別では利⽤しないのでS3に配置 BI機能はいったんあきらめる
シンプルにしよう - めっちゃシンプルになった - 計算は連携時に全部やる 表⽰するときはほぼ返すだけ - 厳密には権限があるので、フィルターはかけている 不具合もほとんどない
最後に - わりきった実装⼤事 - - ⾊々なユースケースを考えると分割していた⽅がきれいになるが、必要になった時に細かくできる ⾒込みがあるのであれば、必要になるまで作成しない⽅が結果としてよくなる - YAGNI原則 とはいえ、後から当時のデータの取得はできないので、必要なものは後で加⼯できるように取っ ておいたほうが無難ではある。 今回は社内のツールだったので、ドラスティックな変更が可能だったが、実際のプロ ダクトではいかないかも 余談:AWSの費⽤がめちゃ安い(本番環境で⽉に1ドル)
おわり