最近の砂場活動その24: Embulkでのデータ転送を差分転送にする

差分転送するモチベーション 機械学習を使った情報推薦を行なうために、RDSのテーブルをBigQueryに定期転送しています。細かいことは気にしたくなかったので、一日一回の洗い替え(全データ送信で全部上書き)していましたが、もう少し鮮度を上げたくなりまし…

最近の砂場活動その23: Cloud MonitoringでKubernetesのバッチ処理を監視する

Kubernetes上で動かしているバッチ処理の監視をCloud Monitoringで行なおうと思ったのですが、素朴にやるとちょっと困りました。一工夫したので、メモを残しておきます。 背景 Cloud Monitoringで素朴にバッチ監視を行なう これだと困る...! 次のバッチが成…

最近の砂場活動その22: Argo WorkflowsでGKE上の機械学習バッチのワークフローを管理する

なぜ 機械学習の典型的なワークフローはこんな感じになりがち データの取得 前処理 モデルの学習 新しいデータに対して予測を行なう ごくまれにコケる。こけたらretryなどをして欲しいし、その辺はワークフロエンジンで面倒を見て欲しい AWS上ではAWS Step F…

最近の砂場活動その21: helmを使ってKubernetesアプリケーションのデプロイを行なう

背景 yamlを使ったマニフェストでKubernetesのデプロイの管理をずっとやっているのはしんどい 繰り返し出てくる変数、環境毎(dev/stage/prod)の差分管理 もっといい感じにやって欲しい helmやKustomizeなどいくつか選択肢がある 業務でhelmを使うので、いい…

最近の砂場活動その20: GCPのCI/CDパイプラインをCloud Buildで構築する

GCP

なぜ 推薦のアプリをGKE上で動かしているが、手元からdocker imageをbuildしてpushして、deployして...とやっていた さすがにダルい... AWS関連のCI/CDはGitHub Actionsでやっているが、同じことをやっても面白くない 例: 最近の砂場活動その15: CI/CDのパイ…

最近の砂場活動その19: Workload Identityを利用してGKEクラスタの権限管理を行なう

前回の続編です。GKEクラスタの設定をterraformで行なうように準備ができたので、肝心のWorkload Idenfityの設定をしていきます。 なぜ Workload Identityの実基盤への導入に丁寧に書いてありますが、素朴なやり方では以下のような問題があるからです。 権限…

最近の砂場活動その18: GKEの設定をTerraformで行なう

前提 機械学習を使った情報推薦をGKE上で行なっている 最近の砂場活動その14: GoogleAnalytis For Firebaseのデータを使ってImplicit-feedbackな推薦システムを構築する - yasuhisa's blog えいやっで作ったので、GKEはgcloudコマンドで作った 当時どんなコ…