Open13

GKEについて軽く学んでみる

en30en30

なぜGKEを学ぶか

GAE、Cloud Runで済ませたいと思っていたものの

  • 既にあるSidekiq(ジョブキュー)のサーバを移そう思った時に、キューの長さでオートスケールするようにというのが自然に実現できなさそう
  • StatsDのようなものを自然に置くのが難しそう

などがあって、一応GKEもざっと学んでみることに。
あまりに学習コストが高そうだったら撤退すると思う。

en30en30
en30en30

Architecting with Google Kubernetes Engine: Workloads

Kubernetesのイカしたメンバーをひたすら紹介される。講義は量も結構あるし退屈でつらめ。Kubernetesは登場人物がかなり多く、すぐに使わないかもというものも結構あるので、実際にWebサービスを動かそうとしてみる→必要な要素を学ぶ、とlazyにやっていったほうが辛くなさそう。

このコースに限らない話ではあるけど、Qwiklabsで、GCPのコンソールを実際に使いながら学べるところはいい。ただ、どうやってもクリアできないLabがあって悲鳴をあげている人がいっぱいいた( あげた)。Qwiklabsに問い合わせたところ、バグで直してくれるとのこと。Clusterを作ったりする待ち時間が結構ある上に、絶対クリアできないのは理不尽で泣いた。

このコースは人には薦めない。

en30en30

ここまでやってみたところでの感想

GKE便利そうではある。

Kubernetes上の語彙で「これが欲しい」というと、GCP上で勝手に調達してきてくれるというのは便利。GKEを使うことで、直接使う必要がなくなるGCP上のサービスもたぶん結構ある。GCPには色んなサービスがあるけれど、そのサービスが1段階抽象化されたリソースとして扱えるということで、GCPの各サービスに詳しくないほど、より便利に感じるかもしれない?EKSでもある程度そのまま使えるのかな?

Kubernetestには運用上便利そうなものが揃っているなというのは理解した。今consul使ってやっているようなものも元々入っているし、ロードバランサーもオートスケールも定期実行もなんでも入っている感。

自分で設計する大変さ、実際運用する大変さはまだ全くわからない。

en30en30

ここまでやってみての感想

GKEは、GCPの中に小さいGCPがあるという感じで、二重の管理が発生してしまう部分はちょっと大変そうだなと思った。

GKEを知らない状態で新規に作るなら、ジョブキューにあたるものもHTTPベースにして(Cloud Pub/Sub | Cloud Tasks) + (Cloud Functions | Cloud Run)とかで作る方が、楽に済むかなという気がする。
ただ、既にあるものを移す先としてはGKEありかもなと思った。GKE上で統一管理できるというのも良さそうだし。

事前のイメージでは、microservicesとかが適しているような規模じゃ無ければ見合わない複雑さなのかなと思っていたけれど、そんなこともないかもな?試しにRailsアプリを動かすところまでやってみる。

en30en30

いろいろな意見を見てみる。