BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Kubernetesはキャズムを越えたか?

Kubernetesはキャズムを越えたか?

原文(投稿日:2018/03/09)へのリンク

読者の皆様へ: 皆様のご要望にお応えするべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

Container SolutionsのシニアエンジニアであるIan Crosby氏は、今年のQCon London カンファレンスで、アーリーアダプタ(Early Adapter)からアーリーマジョリティ(Early Majority)へのキャズムをKubernetesが越えたか、という疑問への回答を試みた。自らが実際に関わった組織での現実的な例を根拠として、氏は、企業環境において残る課題(高度のセキュアな環境、Windowsのサポート、ステートフルなワークロードのサポート改善、レガシソフトウェアやハイブリッドクラウドとの統合など)にコミュニティが積極的に取り組んでいる状況からも、Kubernetesが採用面でメインストリームに近づいていることは間違いない、と主張する。氏が言うように、“問題はKubernetesがキャズムを越えられるかではなく、いつ越えるか”なのだ。

クラウド100パーセントのマイクロサービス駆動システムであるFashiontradeは、Kubernetesによって(フォールトトレランスのネイティブな提供、自動スケーリング、サービスディスカバリなどの提供による)運用上の負担軽減を低コストで実現するというメリットを享受している。しかしCrosby氏は、これまでの経験から、このような理想的ユースケースはどちらかと言えば例外的なものだと考えている。

そうでない場合には、たとえシステム全体がKubernetesに適合しているように見えたとしても、現行のツールには成熟度の面で特有の問題が存在するため、採用にはリスクを伴う可能性がある。Crosby氏はその例として、完全なクラウドシステムでありながら、ターゲットとする市場のサポートを考慮して2つのAWSリージョン(シンガポールと北京)で運用されているstudent.comをあげている。当初は2つのクラスタをそれぞれのリージョンで実行して、それらを連携させるだけの問題だと考えられていた。ところが、中国の国家的なファイアウォールがGoogleからの着信トラフィックをブロックしていることが判明し、いくつかのコンポーネントをダウンロードすることができないことから、AWS北京リージョンにKubernetesをインストールする作業自体が問題となった。この問題を解決するには、TerraformとAnsibleスクリプトを使用して、Kubernetesデプロイメントのコンポーネントのダウンロードとカスタマイズを行うためのミラーを、北京リージョンに立ち上げる必要があった。その一方で、kops(Kubernetesのインストールで間違いなく現在最も人気の高いツール)コミュニティは、AWS Chinaにインストールする方法を記したreadmeを追加して、企業におけるオープンソースソフトウェアの導入に不可欠とされることの多い、ニーズを先取りした進化のあり方を際立たせている。

提供: Ian Crosby

第3の、そして最も困難な実例は、Ericssonにおいて実施された、クライアント自身が実行する同社ソフトウェアアプリケーションのデリバリをKubernetesネイティブモデルに移行する作業だ。パッケージマネージャソリューション(オープンソース)の一種で、Kubernetesネイティブなアプリを簡単なコマンドラインでインストールおよびアップデート可能にするHelmチャータの助けを借りて、Ericssonでは、自社のソフトウェアをパッケージ化し、コマンドひとつでクライアントを苦もなくアップデートすることができた。これにKubernetesの備えるローリングデプロイメントを加えることで、クライアントのゼロダウンタイムかつ透過的なアップグレードが実現した。これにより、対象ソフトウェアの旧バージョンを実行している(ためにサポートの必要な)クライアントの数が大幅に減少すると同時に、Kubernetesの運用機能によるメリットを享受する機会も与えられることになった。

Crosby氏によれば、これは企業ソフトウェアの新たな配信モデルであると同時に、クライアントに所有権と迅速なアップグレードを提供することにより、Kubernetesがこの分野を大きく変える可能性を実証するものなのだ。

Kubernetesのスクラッチからの導入という観点で、Crosby氏は、まずはCI/CDパイプラインでコンテナを使用して、開発とテスト環境の基盤インフラストラクチャとして経験を積んで習熟した上で、クリティカルでないプロダクトの運用環境にKubernetesをロールアウトする、という手順を推奨する。全員が参加して、具体的な問題点に対処することができたならば、その他のより重要なシステムにロールアウトする、というのが自然なステップだ。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT