コンテナオーケストレーションの選択
コンテナオーケストレーションというのは『コンテナを運用する基盤』です、コンテナだけでは箱の状況だけで何もできないため何らかのコンテナオーケストレーションを使うべきです。
コンテナオーケストレーションで主にできること
- アプリケーションの展開、
- スケーリング
- 管理
コンテナのオーケストレーションは数種類ありますが、一般的に覚えるのは下記3つ
覚えるコンテナオーケストレーション
- Openshift
- kubernetes
- コンテナオーケストレーションなし
「なし」というのは学術的にはおかしいですが、実務的にはオーケストレーションを選択するとしたら上記3つから選択しましょう。
コンテナオーケストレーションといわれても専門家ならまだしも素人には何をいっているかわからないと思います。
そのため,イメージ重視で表を作成します。
項番と間隔 | パソコンでいうと | コンテナオーケストレーション |
---|---|---|
1.使いづらい | OSインストール前のBIOS | コンテナオーケストレーションなし |
2.玄人は使う | CLI(dos窓) | Kubernetes |
3.これがいい | GUI | Openshift |
左から順に表示して1BIOSに近いもの、2CLI操作画面、3GUI画面
使う側からすれば、基本的にはGUI画面がいいです。
今現状のコンテナを始めたいという人の説明は1のコンテナプラットフォームなしの画面上で話をしているから、本当に、本当に、わかりにくい状態にあります。なるべく早くGUI画面のレベルから話がしたいです。
覚える必要がないもの
『docker swarm』もうほとんど使われないので、覚えないでください。docker composeとも違います。
1. Openshift
Openshiftは、Kubernetesにいろいろコンテナ開発におけるメリットを享受すること仕組みが追加されたものです。Openshift4はとても機能が豊富で使いやすいです。しかし2021年2月現在の問題点があるため使用されない傾向になっています。kuberetesに対して2割ぐらいの使用率です。
- 2021年2月時点問題点
- 参考にするドキュメントが少ない。
- Openshift3と情報が混ざってしまって、間違った方向に到達してしまう。
- 最低環境を構成するのが難しいため、初期学習までたどり着けない。
- 学習コストとランニングコストを考えた時に、ランニングコストしか考えない管理者の甘え。
- Openshiftはkubernetesと違い運用コストが発生します。Openshiftはkubernetes(サーバ運用費)+ライセンス費用が必要になります。
- チーム等のグループで考えればKubernetesよりOpenshiftのほうが学習コストは低いです。
2. kubernetes
コンテナオーケストレーションのデファクトスタンダードになります。略称はk8sになります。いろいろ学習方法はありますが、開発側はとても学習コストが高いです。運用側もクラウドのマネージドサービスを使わない場合は学習コストが高いです。minikubeを使えば、簡単に環境を触ることができることが利点です。
3. コンテナオーケストレーションなし
コンテナ使う人のほとんどが最初に触れるのがこれになります。
- docker run
- docker-compose
- aws fargate
- Cloud run
いろんなことが起きた時に手動対応をしないといけないことが多い状態です。最初はここから始めたいという人が多いです。ランニングコストは低く学習コストも低いですが、最終的なコンテナが受けるいろいろなメリットは少ない状態です。
最後に
人それぞれで楽なものは違います。私は楽がしたい、楽して成果を出してお金が欲しい。
- 非技術者の管理者が楽できるのは、コンテナオーケストレーションなし
- 運用者が楽できるのは、クラウドのマネージドコンテナオーケストレーション
- 開発者が楽できるのは、Openshift4
- 誰も幸せにならないのが、一度だけの開発でコンテナを導入すること