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/

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

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

推薦する

ニュースソースのソフト記事は悲惨なことになるかもしれない。Baiduは低品質のニュースサイトに対処する

みなさんこんにちは。私はMuzi Chengzhouです。ソフト記事の役割は誰もが知っています。A5...

「業界の専門家」がCRICと提携:テクノロジーで工業団地を強化し、工業都市のスマートな発展を促進

「ファーウェイ不動産業界デジタル化白書」は、業界トップ50社を徹底的に調査した上で、「専門家」ファー...

WordPressブログはハッカーを遠ざけるためにハッキング対策を講じています

最近、正体不明のハッカーがブルートフォース攻撃を使用して WordPress ブログ システムを攻撃...

華龍翔の改訂に関するSEO分析

Hualong Lane は元々 PHPWind システムを使用しており、元の URL はデフォルト...

クラウド コンピューティングの 8 つの主要機能のうち、いくつご存知ですか?

企業は最新のアプリケーション開発にクラウド テクノロジーを活用しています。クラウド コンピューティン...

コンテンツマーケティングをうまく行いたいなら、次の3つのポイントを知っておく必要があります

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスこの本では、著者がコンテ...

ソフトな記事を書くためのヒント: タイトルパーティーは魅力的かもしれませんが、乱用しないでください

ソフトな記事は、あなたのウェブサイトを宣伝するだけでなく、優れたソフトな記事がもたらすものであると言...

クレイジーマン:SEOの関連性について

SEOは関連性が重要検索エンジンでキーワードを検索すると、通常、多数のページが返されます。これらのペ...

SEO担当者が知っておくべき3つの重要なポイントを明かす

最初のポイントは、サービス指向のエンティティ、つまり検索エンジンです。古いことわざにもあるように、「...

分散トランザクションを実装するにはどうすればいいですか? Seata の XA モデルの詳細な分析

Seata 1.2.0 バージョンでは、XA プロトコルをサポートする新しいトランザクション モード...

Twitterがニューヨーク証券取引所に正式に上場

北京時間11月7日、世界的に有名なソーシャルネットワーキングサイトTwitterがニューヨーク証券取...

すべてのビデオリンクが高品質というわけではない

ウェブサイトの最適化のプロセスでは、外部リンクが大きな割合を占めます。その結果、外部リンクを作る方法...

ホワイトニング業界最高のショッピングガイドウェブサイトの実践分析

皆さんと一緒にウェブサイトのランキングを分析してから、長い時間が経ちました。Baidu アルゴリズム...

スマート ビジネス: 分散クラウド テクノロジーの秘密を探り、企業のビジネス価値を創造し、コストを削減し、生産性を向上させましょう。

クラウド コンピューティングがなければビジネスはどうなるか想像できますか?この質問に対する答えとして...