Kubernetesは常に正しい選択ではない

Kubernetesは常に正しい選択ではない

著者: ラク・シヴァ

編集:ノエ

現在では、ほぼすべてのアプリケーションをコンテナにパッケージ化して実行できます。コンテナは多くの問題を解決しますが、新たなオーケストレーションの課題も生み出します。クラウドネイティブ アプリケーションの構築に取り組むチームの間でコンテナ オーケストレーションの需要が高まり続ける中、Kubernetes はこの課題に対処する強力なツールとして人気が高まっています。

適切に管理された Kubernetes 環境で構築すると、自動スケーリング、自己修復、サービス検出、負荷分散など、多くの利点が得られます。ただし、Kubernetes の世界を受け入れるということは、多くの場合、コンテナ オーケストレーション テクノロジーを採用する以上のことを意味します。チームは戦略的に考える必要があります。「Kubernetes は自分にとって正しい選択だろうか?」彼らは、この広範な質問のいくつかの要素を評価することによってこれを実行する必要があります。

1. 私のチーム構成は Kubernetes に適していますか?

Kubernetes (K8s) の機能を称賛する記事は数多くありますが、これについてはここで議論するつもりはありません。多くの場合、K8s が適切な選択です。ただし、K8s との直接的なやり取りやメンテナンスは、すべてのチームやプロジェクトに適しているわけではありません。

1. クラウドネイティブ アプリケーションを持つ小規模スタートアップ: これらのチームにとって、Kubernetes の直接管理は複雑で時間がかかり、製品のリリースと拡張という目標の達成を妨げるものとなります。チームの規模を考えると、アプリケーションの開発と並行して Kubernetes クラスターを管理するには帯域幅が足りません。

2. さまざまなアプリケーション タイプを持つエンタープライズ チーム: Kubernetes は、専門的なスキルを持つ大規模なチームに適しています。ただし、完全に管理されたコンテナ ランタイムまたは Kubernetes-as-a-service の提供も検討する必要があります。これらのサービスにより、限られた DevOps リソースをチームの生産性、開発者のセルフサービス、コスト管理、その他の重要なプロジェクトに集中させることができます。

3. DevOps 文化を持つ中規模企業: これらのチームは Kubernetes への移行に対してより準備が整っていますが、これは既存のワークフローを混乱させる大規模なプロジェクトです。同様に、マネージド サービスでは、多額の投資を必要とせずに Kubernetes の多くのメリットを活用できます。

4. ソフトウェア コンサルティング: これらのチームは適応性が高いですが、Kubernetes に依存すると、コンサルティング会社が最適ではない場合でも Kubernetes を推奨することになり、さまざまなニーズを持つクライアントへのサービス提供能力が制限される可能性があります。

2. プロジェクトはどれくらい複雑ですか? K8s はやりすぎでしょうか?

K8s が要件の一部を満たしているかどうかを判断するのではなく、Kubernetes の機能とうまく一致しない、または不必要な複雑さをもたらす特定の機能と要件を特定することを検討してください。

1. 最小限のスケーラビリティ ニーズ: プロジェクトのトラフィックが一貫して低い場合、または大幅なスケーリング要件がなく、予測可能で安定したリソース ニーズがある場合、Kubernetes は不要なオーバーヘッドを導入します。このような場合、ホストされたコンテナ ランタイムまたは仮想プライベート サーバー (VPS) ソリューションの方が価値が高いことがよくあります。

2. シンプルなモノリシック アプリケーション: プロジェクトが依存関係が限られたモノリシック アプリケーションであり、独立してスケーラブルなサービスや非常に多くのインスタンス数を必要としない場合、Kubernetes はニーズに対して複雑すぎます。

3. 静的または制限されたインフラストラクチャ: プロジェクトのインフラストラクチャが小規模または静的で、リソース使用量があまり変化しない場合は、ホスティング サービスや VPS などのよりシンプルな展開オプションで十分な場合があります。

4. 開発および運用リソースが限られている: Kubernetes ではコンテナ オーケストレーションの専門知識が必要ですが、DevOps リソースが限られているプロジェクトや、Kubernetes の学習に投資する意思のないチームでは実現できません。コンテナの利点は、追加投資をしなくても実現できます。

5. プロトタイピングと短期プロジェクト: 開発ライフサイクルが短いプロジェクトや運用期間が限られているプロジェクトの場合、Kubernetes のオーバーヘッドは正当化されます。

6. プロジェクトコストの制約: プロジェクトの予算制約が厳しい場合、Kubernetes クラスターのセットアップと保守にかかる追加コストは実現不可能になります。これは、仕事を遂行するために必要な高度なスキルを持つチームメンバーのコストを考慮すると特に当てはまります。

7. インフラストラクチャの要件: Kubernetes はリソースを大量に消費するため、効果的に実行するには強力なインフラストラクチャが必要です。プロジェクトが中程度のリソース要件を持つ小規模または中規模のプロジェクトである場合は、マネージド サービスまたはサーバーレスを使用する方が適切です。

要件の複雑さだけでは、Kubernetes がチームにとって最適か過剰かはわかりません。ただし、どちらか一方に傾くのに役立ちます。 Kubernetes を直接使用しても、本質的には製品が改善されることはありません。むしろ、その強みは、製品が成長できる回復力のあるプラットフォームを構築することにあります。

写真

その結果、自分の仕事を製品に従属させることにコミットするにつれて、製品に関する作業はビジネスの基盤からさらに遠ざかってしまいます。

これにより、真の疑問が浮かび上がります。私たちはプラットフォームを構築しているのか、それとも市場投入までの時間を短縮し、コアビジネス目標に対してより迅速な ROI を提供するために取り組んでいるのか?

3. 必要なスキルはありますか?

Kubernetes は、学習の過程が困難であることがよく知られています。この複雑さの原因は何でしょうか?わかりやすくするために、スキル向上に必要な労力を測るのに役立つ特定の基準に基づいたトピックのリストを作成しました。

複雑

説明する

基礎

基本的でシンプルな概念

真ん中

ある程度の事前知識を必要とする概念

深遠な

広範な知識を必要とする複雑な概念

注: これらの複雑さのレベルは、個人の背景やこれまでの経験によって異なります。

研究分野

説明する

複雑

容器

Docker などのコンテナとツールについて学びます。

基礎

Kubernetes アーキテクチャ

ポッド、サービス、デプロイメント、レプリカ セット、ノード、クラスターについて学習します。

真ん中

Kubernetes API とオブジェクト

API と YAML を使用して Kubernetes への宣言型アプローチについて学習します。

真ん中

ネットワーキング

コンテナ間通信、サービス、イングレス、ネットワーク ポリシー、サービス メッシュについて学習します。

深遠な

ストレージ

ボリューム、永続ボリューム (PV)、永続ボリューム要求 (PVC)、およびストレージ クラスについて学習します。

深遠な

安全性

RBAC、セキュリティ コンテキスト、ネットワーク ポリシー、Pod セキュリティ ポリシーなどの Kubernetes セキュリティについて学習します。

深遠な

可観測性

Prometheus、Grafana、Fluentd、Jaeger などの監視、ログ記録、トレース ツールに精通していること。

真ん中

Kubernetes での CI/CD

Kubernetes を Jenkins、GitLab などの CI/CD ツールと統合し、Helm チャートを使用してデプロイします。

真ん中

Kubernetes のベストプラクティス

Kubernetes を使用する際のベスト プラクティスとよくある落とし穴を理解します。

中級から上級

必要な専門知識や学習時間が不足しているチームの場合、開発と展開のプロセス全体が手に負えなくなり、遅くなる可能性があります。これは、スケジュールが厳しいプロジェクトや小規模なチームにとっては健全ではありません。

4. コストへの影響はどの程度ですか?

Kubernetes 自体はオープンソースで無料ですが、実行は無料ではありません。サーバー、ストレージ、ネットワークのコストや隠れたコストなど、インフラストラクチャに関連する費用を考慮する必要があります。

最初の隠れたコストは、管理とメンテナンス、つまりチームのトレーニング、トラブルシューティング、システムのメンテナンス、内部ワークフローとセルフサービス インフラストラクチャのメンテナンスに費やされる時間とリソースです。

さまざまな理由から、本格的な Kubernetes 環境のコストを計算する際に、この作業に必要な高度なスキルを持つスタッフの給与を見落としている人が多くいます。完全に管理されたサービスやサーバーレス サービスとセルフマネージド Kubernetes との比較には多くの欠陥があるため注意してください。多くの場合、Kubernetes での時間の損失に関連するスタッフコストと機会コストが考慮されていません。

2 番目の隠れたコストは、Kubernetes エコシステムに関連しています。 Kubernetes の世界を受け入れるということは、多くの場合、コンテナ オーケストレーション プラットフォームを導入する以上のことを意味します。それは、豊富な機能と、さまざまなベンダーの補助ツール、サービス、製品の全宇宙を備えた広大な大陸に足を踏み入れるようなもので、最終的には他のコストも発生します。

V. 結論

優れたツールとは、その誇大宣伝や人気ではなく、どのように問題を解決し、エコシステムに適合するかが重要です。クラウドネイティブ アプリケーションの世界では、Kubernetes が話題の中心を占めていますが、それは当然のことです。ただし、OpenShift、Docker Swarm、または Nitric などのフレームワークによってオーケストレーションされるサーバーレスおよびマネージド サービスなどのソリューションを通じて実装されるさまざまなアプローチのトレードオフをチームで検討することをお勧めします。

オリジナルリンク: https://thenewstack.io/kubernetes-isnt-always-the-right-choice/

<<:  マルチクラウドアーキテクチャ:マルチクラウド環境のシームレスな統合を実現

>>:  伝伝における仮想番号の実践と応用

推薦する

2018年テンセントクラウド+フューチャーサミットが広州で開催され、クラウドを通じてインテリジェントな未来を活性化

5月23日、広東省人民政府の指導の下、広東省経済情報化委員会とテンセントの主催により、2018年テン...

ラッキンコーヒーのブランドマーケティングはどうですか?

最近、ラッキンコーヒーは大人気で、多くの人がその今後の発展に楽観的です。しかし、この記事の著者はあま...

洞察 | 2019年のハイブリッドクラウド開発:大きな展望、巨人たちの戦い、SD-WANが重要な原動力に

新年の初めに、いくつかのテクノロジー大手がハイブリッドクラウドの分野で新たな動きを見せました。最近、...

あらゆる職業にインターネットセレブが存在します!

どの業界にもネットセレブは存在します。一般の人々がインターネットを通じてネットセレブになりたいと望む...

nixcom-1g メモリ KVM/70g ハードディスク/2t トラフィック/月額 9.99 ドル

Nixcom は、2007 年から商業運営を行っているホスティング プロバイダーです。年末に、ブラン...

ウェブサイトへの顧客の執着心を育み、長期訪問者を増やす

よく開発されたウェブサイトをいくつか観察すると、ユーザーの粘着性が非常に高いことが簡単にわかります。...

8月22日の百度の発表で伝えられた情報の簡単な分析

百度は8月22日、主にコンテンツ不正サイトをターゲットに百度アルゴリズムをさらにアップグレードするこ...

Webmaster.com からの毎日のレポート: 多くのリベート ウェブサイトが崩壊し、JD.com は再び上級幹部を失った

1. 30近くのリベートサイトが次々と崩壊:電子商取引がねずみ講に変貌太平洋直購ネットワークが河南省...

ソフト記事を再投稿する際に他の人がリンクを削除しないようにする方法

概要: この記事では主に、Webmaster Home や A5 Webmaster Network...

TragicServers - 5.94 USD/年/128 MB RAM/10 GB HDD/500 GB トラフィック/ロサンゼルス

今日は「悲劇的な」VPS ベンダーについてお話ししたいと思います。彼らが提供する VPS は悲劇では...

ウェブサイト構築ではカラーマッチングの原則を強調

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますデザインは...

王家環はオラクルと提携し、データの力で農産物サプライチェーンシステムの正確な制御を実現

王家環は1995年に設立された、国家規模のグループ型農産物物流企業です。事業内容は、農産物栽培、物流...

Baidu の検査を恐れずに SEO を行う (1)

過去10か月間、百度は「パンダアルゴリズム」や「青大根アルゴリズム」など、ウェブマスターにとって非常...

過剰最適化しているかどうかを判断する方法

SEO は大変な作業だと言われています。長い目で見れば、毎日の記事の編集、フォーラムの閲覧、外部リン...