画像とイラストを判定するサイトを作りました
目次
サイトについて
Twitterに投稿されている画像を、イラストか画像に判定するサイトを作成しました。
https://muk.aintek.xyz/
目的
今後のWebサイトのインフラはKubernetesによって変化すると考え、GKEでサービスをリリースすることで学習できるのでは、ということで作りました。
使用技術
フロントはVue.jsで、SSRを目的にNuxt.jsを使用しました。Nuxt.jsのDockerfileはexampleが存在するので、簡単にDockerfileを作れます。
Goはchiを使用してルーティングを行い、GqlgenでGraphqlを実装しています。
TwitterのAPIも go-twitterを使用すると簡単に実装できます。
画像を判定するためにPythonを使用しています。連携にはGRPCを使用し、さくらのVPSで稼働しています。
画像の判定がボトルネックになるので、性能を向上したいところ…
GKEは基本的にWebサイトに書いてあることを実行するだけで、自分で作ったDockerfileをデプロイすることができるので大変便利です。
今回はなるべく安く構築することを目指しつつGKEを使う構成にしています。そのため、DBはDBaaSであるMongoDB Atlasを使用しています。
無料枠の恩恵でサービスを安くリリースすることができました。
はまったこと
実装時にはまったことを書きます。今後の参考になれば。
kube-dnsが動いていない
なるべく安くするためにGKEのインスタンスVMをf1-microにして試していたのですが、Pod同士が通信できない問題がありました。
メモリ不足のエラーが出ていたのですが、気付くまで大変でした。
開発環境が壊れた
完成間近で開発環境が壊れたので、かなり焦りました。
しかし、Cloud Repository やCloud Buildを使用していたため、特にデータが消えずに済んだためクラウド様様だと思いました。
最後に
ぜひ利用してみてください。
バグを発見したらご連絡ください。
(もし、判定の精度がさらに高いモデルをお持ちでしたらください…)