はじめに
Kubernetes を一通り勉強し、
その強みと同時に個人開発ではスペック的に重すぎるという現実を感じました。
では実際に、個人開発ではどんな構成が一番ちょうどよかったのか。
この記事では、自分が最終的に落ち着いたインフラ構成と、その理由をまとめます。
個人開発における前提条件
まず、個人開発で自分が重視していたポイントは次の通りです。
- サーバーは 1台
- できるだけ低コスト
- 一人で管理できる
- トラブル時にすぐ原因を特定できる
- 学習コストが高すぎない
この条件を満たすことを最優先に考えました。
採用した構成
現在の構成はとてもシンプルです。
- Docker
- Docker Compose
基本的には Docker を中心にした構成 で、
ほとんどのサービスはこれで十分に運用できています。
Docker Compose がちょうどよかった理由
Docker Compose の一番の魅力は、
構成がそのまま見えること です。
- どのコンテナが動いているか
- どのポートを使っているか
- どのサービス同士が繋がっているか
これらが docker ps を見れば一目で分かります。
だけで環境を再現・停止できるのも大きなメリットでした。
この構成のメリット
この構成にして良かった点は以下です。
- アプリ以外のリソース消費が少ない
- 構成が把握しやすい
- 障害時に切り分けが簡単
- 一人でも無理なく運用できる
それでも足りなかった場合、次の段階では Kubernetes も視野に入る予定
Docker でも足りなくなったとき、
初めて Kubernetes を検討するのがちょうどいいと考えています。
- サービスが増えた
- スケールが必要になった
- チーム開発になった
こうしたことなどになったら、
Kubernetes の出番だと思います。
まとめ
Kubernetes を勉強したからこそ、
「今は使わない」という判断ができたのは大きな収穫だと思っています。
技術は目的ではなく手段。
自分の規模に合った道具を選ぶのが、
一番長く続けられると感じています。