昔のクラウドサーバと言えば、
やはりVPSでは無いだろうか?
これまでのレンタルサーバでは、何をするにも不自由な部分があるのに対し、
VPSでは、ほぼほぼPC一台をレンタルするイメージ。
そのPCの中でどのようなサービスを構築するのも自由である。
ただし、その分、ちゃんと運用仕様とするならば、ドメインを取得・維持しなければならなかったり、
セキュリティの設定も自己責任なので、そのあたりの知識も必要になったりします。
ただ、このブログのような小規模のサービスであればVPS一台で十分なのだが、
大規模なサービスとなると、基本的にサービスを構成する1機能にサーバ1台という構成が当たり前になってきます。
でもそれらのPCを準備するのもセッティングするのも大変なので、
Dockerなどのマイクロサービスを使用するのが当たり前になってきました。
Dockerの中には動作に最低限必要なOSやソフトウェアのみが入っているので、非常に軽量ですし、
一つイメージファイル(Dockerで動作するソフトウェアの塊のようなもの)を作成してしまえば、それを元にしてスケールアウトも簡単になります。
開発側の負担も軽く、gitの特定のブランチにマージすれば、
gitRunnerが走り、ビルド実行、クラウド環境へイメージを格納し、デプロイまで完了してしまうのです。
ここまで自動化されているので、アップデート作業に作業ミスのリスクが少ない。
このメリットは実際にクラウドの現場を経験しないと分からないと思う。
そして、kubernetesとは複数のDockerを管理するソフトウェア。
ちなみにDocker Desktopはkubernetesとしての役目も持っています。
自分もまだ勉強中ではあるものの、複数のDockerを組み合わせて一つのサービスを運用するのが当たり前なので、
それらを管理するシステムも当然存在するわけで、これについての知識も当然必要と言うこと。
さぁ、みんなでDocker+Kubernetesを勉強しよう!