ECサイトアプリのバックエンド開発をしています。
gRPCやGCPでのあまり触っていない技術領域を扱い、知見を得ました。
また、既存の在庫処理で在庫テーブル内に数量カラムを持っていたために、多数のアクセスが集中した際に行ロックの関係上スループットが奮わないという問題があったため、Cloud Pub/Subを用いてキューイングさせることでユーザーへの結果のリターンのみを先に行い、裏で更新処理を逐次行うといったような改善作業をやってみたりしました。
ただ、根本的な解決になっていないのでESで再実装することも考えたのですが、その前にそもそもの在庫処理に負荷がかかっていた処理が削除されてしまったので遊ぶことが出来ず残念でした。
マーケティングの方の要望で、AutoML Tablesを使った機械学習でのユーザーのクラスタリングもやってみました。
サクッとデータセットを作ってトレーニングしてみたところ真陽率が85%を超えてAutoML Tablesの凄さを感じました。
それだけでは味気ないのでCloud ComposerやCloud Functions, Cloud Storage, BigQueryを使った推論パイプラインを作ってみたりしました。
トレーニング・推論パイプラインとしたかったのですが、AutoML Tablesのトレーニングが1回につき3000円ほどかかるため予算の関係上、推論パイプラインのみの実装となりました。
作ってみて思ったのはCloud ComposerのベースとなっているApache Airflowがv1.10.1と古く(現在の最新verは1.10.8)、その関係で苦しめられた部分はありました(例えばAutoML Tablesの操作など一部GCPサービスの対応Taskが存在していない等)。
この作業で機械学習の面白さに目覚めて、現在統計解析や機械学習モデルの学習をしています。