フォーム読み込み中
前回の記事「プラットフォームエンジニアリングとは?(vol.1) ー なぜ今、必要なのか?」では、プラットフォームエンジニアリングの基本的な概念と、それが現代のソフトウェア開発においてなぜ重要なのかについて解説しました。その中で「Platform Engineeringの6原則」についてもお話ししました。
第2弾では、Platform Engineeringの原則を実現する代表的な存在である「Kubernetes」環境に焦点を当て、Kubernetesが持つ大きな可能性と、課題について解説します。また、ソフトバンクが開発するCloud Native Application Platform (以降 CNAP) がそれをどのように支援するかを紹介します。
Kubernetesを使ったことがない、または詳しくない方は、Kubernetesに対してコンテナ技術を活用したコンピューティングリソースのようなものとお考えかもしれません。確かにそのような側面もありますが、それだけではありません。Kubernetesは、豊富なエコシステムによって拡張が可能であり、アプリケーションのデプロイやクラウドサービスとの連携など、数多くの機能を実現できます。こうした拡張性の高さが、現代のアプリケーション開発・運用を力強く支えています
現代の「クラウドネイティブ」なアプローチ、つまりクラウド環境の特性を最大限に活用して設計・開発されるアプリケーションにおいて、Kubernetesはコンテナオーケストレーションプラットフォームのデファクトスタンダードとしての地位を確立しています
具体的にKubernetesがどのような価値を提供してくれるのか、その主な強みと機能を以下にまとめました。
| カテゴリ | 主な機能 / メリット | 概要 / ユーザーにとっての価値 |
|---|---|---|
| アプリケーション管理 | 宣言的な構成管理 | 「あるべき状態」を定義するだけでKubernetesがその状態を維持し、再現性と一貫性が向上します。 |
| オートスケーリング | 負荷に応じてコンテナ数を自動調整し、リソース効率化と安定稼働を実現します。 | |
| サービスティスカバリと負荷分散 | マイクロサービス間の連携を容易にし、オートスケール機能と連携しトラフィックを適切に分散します。 | |
| 運用自動化 | 自己修復機能 | ノード障害やコンテナクラッシュ時に自動復旧することで高い可用性を実現します。 |
| インフラ柔軟性 | ポータビリティ | オンプレミス、各種クラウドで一貫した運用を可能にし、特定の環境への乗り換えが困難な状況(ロックイン)を回避します。 |
| クラウドサービスとの連携 (ロードバランサー、ストレージ等) | Kubernetesからクラウドプロバイダーが提供する各種サービスを効率的に管理・活用可能です。 | |
| 開発効率とエコシステム | 必要な技術を必要なときに試せる環境 | 既存リソースを活用し、新しいツールやサービスを迅速に検証できるため、開発サイクルの短縮に貢献します。 |
| 活発なエコシステム(CNCF) | CNCFを中心とした巨大で活発なコミュニティにより豊富なツールや情報・サポートを得られます。 |
これらの特性により、Kubernetesはアプリケーションの迅速なデプロイ、高い可用性、スケーラビリティを実現するための強力な基盤となります。
これほどまでに強力なKubernetesですが、そのパワーを最大限に引き出すにはいくつかの課題が存在します。
| 課題カテゴリ | No | 課題名 | 概要 |
|---|---|---|---|
| 運用・保守 | 1 | バージョンアップの困難性 | Kubernetesはリリースサイクルが早くサポート期間が短いため、継続的に最新バージョンへ追従する必要があり、API変更や互換性問題のリスクも伴います。OSSツール等を導入した場合も同様に追従が必要となります。 |
| 2 | 運用の複雑性 | 多機能であるがゆえに、運用には深い知識と経験を求められ、日々の管理・監視にも相応の工数がかかります。 | |
| 3 | 小規模システムには Too much | Kubernetesは柔軟かつ高機能なオーケストレーション基盤である反面、システム規模に対して過剰な設計・構成となるケースも多く、小規模システムや単一アプリの運用においては、導入効果よりもコスト・複雑性の方が上回ることがある。 | |
| 学習・スキル | 4 | 学習コストの高さ | コンセプトやコンポーネントが多く、習得には時間と努力が必要です。 |
| 5 | PaaS含めた一元管理が困難 | Kubernetes単体ではシステムを完結できず、PaaS(例:DB、メッセージング、ID管理など)などの外部サービスと連携する必要があります。しかし、GitOpsの枠組みでこれら外部PaaSを一元的に管理することは容易ではありません。マルチクラウドで管理する場合は、さらに困難になります。 | |
| 設定・管理 | 6 | CI/CDを別途準備必要 | マネージドKubernetesはCI/CDそのものは提供しないため、ツールの導入・設計・運用が別途必要になり、準備に大きな工数がかかる傾向があります。 |
| 7 | 設定ファイルの煩雑さ | マニフェストファイルの記述量が多くなりがちで、管理が煩雑になることがあります。YAML地獄やkubectl地獄と揶揄されることもあります。 | |
| セキュリティ | 8 | セキュリティ設定の難しさとリスク | 柔軟な設定が可能である反面、セキュリティ設定の考慮漏れが重大なインシデントにつながる可能性があります。 |
この中でも最たる課題は、「バージョンアップの困難性」だと考えています。
その理由は、下記の5点となります。
Kubernetesバージョンアップの困難性を示す事例として、社内のプロジェクトで実際に発生した2つのケースを紹介します。
1点目は、運用工数の話です。
とあるプロジェクトでは年に最低1回、数名がかりで丸1ヶ月をかけてKubernetesのバージョンアップを実施していました。作業には高度なKubernetesの知識が必要となるため、専門知識を持つ人員が長期間この作業に専念することになります。
2点目はバージョンアップにおけるリスクの話です。
社内で利用するシステムをAKSで構築していましたが、工数の関係からバージョンアップをしばらく見送っていました。しかし、ここ半年ほどの間にマイグレーションを実施した際、バージョンアップに伴ってシステムが全く動作しなくなり、対応に苦慮した経験があります。
この章で述べた点を考慮しつつ保守の工数や計画を綿密に立てて運用すれば、Kubernetesは期待以上の効果を発揮するでしょう。しかしこれらの課題は、特に大規模な組織や多数の開発チームを抱える環境では、Kubernetes導入の障壁となったり、導入後の効果を十分に得られない原因となったりすることがあります。
そこで登場するのが、ソフトバンクが開発したCNAPです。
CNAPは、Kubernetesの柔軟性と拡張性を活かしながら、複雑な設定やバージョン管理、セキュリティガバナンスを一元的に解決できるプラットフォームです。以下のようなGitOpsやIaCの原則を採用し、誰もが再現性の高いインフラ運用を実現できる環境を提供します。
下記画像は、実際の設定ファイル記載例(左側)と、その設定ファイルが展開された後のイメージ(右側)となります。これによりアプリケーション開発者もGitOpsを活用して、インフラをコードで管理できるようになります。
CNAPを導入することで、以下の通り前述のKubernetesの課題を解決し、開発・運用チームの負担を大幅に削減することで開発サイクルの高速化に寄与します。
CNAPの機能は、これらの課題に対する解決策であり、その具体的な内容について、次回の記事で紹介します。
Kubernetesは、クラウドネイティブ時代におけるアプリケーション開発・運用のための非常に強力な基盤です。 しかし、その反面、導入や運用のハードルは高く、プラットフォームエンジニアリングの考え方と、それを具現化するソリューションが不可欠です。
ソフトバンクが提供するCNAPは、まさにこの課題に応えるものです。CNAPはKubernetesの複雑さを適切に隠蔽し、以下のメリットをもたらします。
これにより、企業全体としてソフトウェアデリバリーの速度と品質を向上させ、ビジネス価値を最大化します。つまり、開発者の認知負荷を軽減し、優れた開発体験を実現するための中核技術であるKubernetes、その運用課題をCNAPが肩代わりすることで、プラットフォームエンジニアリング全体を加速させる起爆剤となり得るのです。
CNAPにご興味をお持ちいただけましたら、ぜひお気軽にお問い合わせください。Kubernetesを活用したプラットフォームエンジニアリングの実現を、私たちがサポートします。
次回は、CNAPの具体的な機能、効果、導入事例について、さらに詳しく紹介できればと考えています。
CNAPは標準化されたアプリケーション実行環境を手軽に利用できるサービスです。リリースプロセスを自動化し、開発者自身がセルフサービスで実行環境を準備できるようになります。
MSPサービスのフレームワークを活用し、お客さまのDX実現につながる環境づくりをトータルサポートします。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません