画像とイラストを判定するサイトを作りました

@asya_aoi1049 on Sat Jul 06 2019
3.9 min

目次

サイトについて

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を使用していたため、特にデータが消えずに済んだためクラウド様様だと思いました。

最後に

ぜひ利用してみてください。
バグを発見したらご連絡ください。
(もし、判定の精度がさらに高いモデルをお持ちでしたらください…)

日別に記事を見る