Alibaba Cloud Container Service for Kubernetesチームの技術専門家が、2021年のコンテナ技術のトレンドについて6つの重要な解釈を紹介します。
Alibaba Cloudコンテナサービスチーム著
2020年、企業の生存と発展は不確実なものでした。刻々と変化する課題の結果、企業にとってデジタルイノベーション能力はこれまで以上に重要なものとなりました。
パンデミックの間、より多くの企業がクラウド移行とデジタルトランスフォーメーションにおける信念を強化し、ペースを速めています。彼らは積極的にクラウドネイティブアーキテクチャ・トランスフォーメーションの導入を検討しています。2020 W11 グローバルショッピングフェスティバルの期間中、アリババはコアシステムのクラウドネイティブテクノロジーで大きなブレークスルーを達成しました。クラウドネイティブアーキテクチャに基づいて、企業はクラウドを最大限に利用し、ビジネス開発に集中することができます。また、開発者はクラウドネイティブ技術や製品をベースに開発効率を高め、ビジネスロジックの実装により注力することができます。コンテナに代表されるクラウドネイティブ技術は、クラウドの価値を最も簡単に実現する手段となっています。
クラウドネイティブ開発の要として、コンテナ技術の新たな動向と課題が注目されています。2021年の年頭に、Alibaba Cloud Container Service for Kubernetes チームの技術専門家が、今年のコンテナ技術のトレンドについて6つの重要な解釈を提示しました。
#トレンド1:Kubernetesに代表されるコンテナ技術がクラウドコンピューティングの新しいインターフェースになる
Alibaba Cloud Container Service for Kubernetesチームのシニアテクニカルエキスパート、Tang Zhimin氏より。
新しく発表された2020年のCNCF中国クラウドネイティブ調査によると、インタビューを受けた人の72%が本番環境でKubernetesを使用しています。この1年で、Alibaba Cloudのクラウドネイティブエコシステムが活況を呈したことで、クラウドネイティブ技術がクラウドの価値を実現する最も簡単な方法になりつつあることも証明されました。初期段階のステートレスアプリケーション、AIビッグデータ、ストレージアプリケーションなどもコンテナ技術を応用しています。Kubernetesに代表されるコンテナ技術は、クラウドコンピューティングの新しいインターフェースとなり、今後もさらなる価値をもたらしてくれるでしょう。
###企業におけるクラウドネイティブによるクラウド移行から分散型クラウド管理の高速化へ
-
企業にとってコンテナは、基盤となるアーキテクチャの違いを遮蔽するために、継続的にインフラをカプセル化します。
-
新しいKubernetesのインターフェースは、基本的なクラウドとエッジの機能をさらに整えるものです。また、エッジ製品の豊富さと標準化を促進し、エッジ、IoT、5Gにおけるコンテナアプリケーションの実装を加速させます。
###コンテナアプリケーションの高密度・高頻度化とクラウドコンピューティングアーキテクチャの継続的なリファクタリングへの挑戦
-
コンテナアプリケーションの高密度・高頻度な利用シーンに促されて、コンテナに最適化されたOS(オペレーティング・システム)、ベアメタル連携、ハードウェア・アクセラレーションなどの技術が進化し続けています。これらは、クラウドコンピューティング・アーキテクチャのフルスタック最適化やハードウェアとソフトウェアの統合をさらに強化し、クラウドコンピューティングのユーザーに極めて高いアジリティと弾力性のメリットをもたらしています。
-
しかし、サーバーレスはまだ新しいコンテナインターフェースの上にあります。次世代ミドルウェアや次世代アプリケーションPaaSは、まだまだ台頭してきています。
###コンテナが大規模に適用され、自動O&M、企業のITガバナンス、エンドツーエンドのセキュリティに新たな課題が生じる
-
ワークロード、AIビッグデータ、データベースなど、より多くのアプリケーションがコンテナ化される中で、コンテナとインフラのリソースを統合し、人・金・物・権利を網羅した統合ITガバナンス機能を形成することが、大規模なコンテナ導入の重要な要件となっています。
-
コントローラーのカスタマイズ化やクラウドネイティブ製品の形態が多様化する中で、大規模なKubernetesクラスタの安定性を確保することが強く求められており、データに基づくインテリジェントなKubernetes自動化クラスタのO&Mやきめ細かいSLO機能が急務となっています。
-
DevSecOpsの実践では、ゼロトラストセキュリティ、コンテナのアイデンティティ認証、クラウドネイティブ製品のライフサイクル管理、セキュアコンテナ、機密性の高いコンピューティングなど、エンドツーエンドのコンテナセキュリティネットワークの構築が続けられています。
#トレンド2:クラウドネイティブアプリケーションの高度な自動化
Alibaba Cloudのテクニカルエキスパート、OpenKruiseの著者であるWang Siyu氏より。
Kubernetesのfinal-stateという概念のおかげで、クラウド・ネイティブアーキテクチャは自然と高い自動化を可能にしています。クラウドネイティブなアプリケーションを作る過程で、レプリカ数の維持、バージョンの一貫性、エラーリトライ、非同期イベントドリブンなど、自動化の利点を十分に活用することができます。従来のプロセス重視のO&Mモードと比較して、この改善は新しいコンセプトと技術をもたらします。より自動化されたクラウドネイティブ指向のアプリケーション用インフラストラクチャの構築は、2021年に探求すべき重要な分野の一つです。
-
より自動化されたアプリケーションの展開とO&M:クラウドネイティブなビジネス形態は多様化しています。従来のIT、インターネット、あるいはWebサービス、検索、ゲーム、AI、エッジなどのニッチな分野など、それぞれのタイプには特別なシナリオがあります。クラウドネイティブな開発を深めるためには、共通のコアとなるデプロイメントやO&Mの要件を抽象化して抽出し、より自動化された機能に変換する必要があります。
-
リスク防止とコントロールの自動化:最終的な状態を重視した自動化は、宣言的な展開能力をもたらすと同時に、潜在的にいくつかの誤操作を拡大させる諸刃の剣です。例えば、運用に障害が発生した場合、レプリカ数の維持、バージョンの一貫性、カスケード削除などの仕組みが、より大きな悪影響をもたらす可能性があります。そのため、保護、遮断、トラフィック制限、ヒューズなどの防止・制御の自動化機能により、他の機能の自動化機能の不具合や副作用を抑制する必要があります。そうすることで、クラウドネイティブの急速な拡大を緩和することができます。
-
より自動化されたOperatorのランタイム:Kubernetesは、コンテナクラスタの管理エンジンをスケジューリングするためのデファクトスタンダードとなっています。その強力で柔軟な拡張性が重要な役割を果たしています。Operatorは特別なアプリケーションであると同時に、多くのステートフルなアプリケーションの自動化されたマネージャーでもあります。しかし、これまでのKubernetesにおけるOperatorの全体的な傾向としては、数が猛烈に増える一方で、周辺のランタイムの仕組みはあまり進歩していませんでした。2021年には、Operatorのランタイムは、水平方向の拡張、段階的なアップグレード、テナントの分離、セキュリティ保護、観測可能性などの点で、自動化によって完全に強化されます。
#トレンド3:アプリケーションを中心としたスケーラブルな上位レイヤープラットフォーム
Alibaba Cloudのテクニカルエキスパート、オープンソースプロジェクト、Open Application Model (OAM)のディレクターであるSun Jianbo氏より。
コンテナテクノロジーの発展に伴い、コンテナテクノロジーのビジネスパフォーマンスをいかに向上させるかに注目する企業が増えています。また、Kubernetesを配信インターフェースとするクラウドネイティブなエコシステムが拡大しています。より多くのチームがKubernetesをベースにした拡張性の高い機能を追加し、"アプリケーション "を中心とした拡張性の高いクラウドネイティブプラットフォームを構築しています。
-
Kubernetesと標準的なアプリケーションモデルをベースにした、使いやすく拡張性の高い上位層のプラットフォームが、従来のPaaSに取って代わり、主流になっていくでしょう。クラウドネイティブのエコシステムでは、ソフトウェアの種類が増えているにもかかわらず、アプリケーション中心のソフトウェアは簡単に学習して使用することができません。そのため、使い勝手の良さが第一の突破口となります。スケーラビリティが保証されていることに加え、Kubernetesをアクセスポイントとするオープンソースのソフトウェアは、わずかな修正を加えても、加えなくてもアクセス可能です。これは、この種のアプリケーション管理プラットフォームの重要な特徴です。
-
懸念事項を分離した標準的なアプリケーション構築方法が普及していきます。Kubernetesを中心としたアプリケーション配信プラットフォームの構築は、徐々にコンセンサスになってきており、どのPaaSプラットフォームもKubernetesを盾にしようとはしません。とはいえ、Kubernetesの情報がすべてユーザーに公開されているわけではありません。PaaSの構築者は、ユーザーに最適な体験を提供したいと考えています。この問題を解決するためのモデルを構築するために、懸念事項を分離した標準化されたアプリケーションを使うことができます。構築者はCRD(Custom Resource Definition)やOperatorなどのKubernetesのインターフェースに注目し、アプリケーション開発者(ユーザー)は標準化された抽象的なアプリケーションモデルに注目します。
-
アプリケーションミドルウェア機能をさらに統合し、アプリケーションロジックとミドルウェアロジックを徐々に切り離していきます。クラウドネイティブエコシステムとエコシステム全体が発展し、変化しています。ミドルウェア分野は、集中型のESB(Enterprise Service Bus)から、Sidecarモードでサポートされるサービスメッシュへと拡大しています。アプリケーションミドルウェアは、シッククライアントを介して機能を提供するのではなく、ランタイム中にSidecarを介してアプリケーション管理プラットフォームによってサポートされる標準的なアクセスレイヤーになっています。Sidecarは、トラフィック管理、ルーティングポリシー、アクセスコントロールを除く、より多くのミドルウェアのシナリオに適用されます。Sidecarはアプリケーションを中心としたものであり、ビジネスをより重視したものにします。
#トレンド4:クラウドとエッジの迅速な統合
Alibaba Cloudシニアテクニカルエキスパート、OpenYurt(エッジコンピューティングのためのオープンソースのクラウドネイティブプロジェクト)のディレクターHuang Yuqi氏より。
5G、IoT、ライブ放送、CDNの発展に伴い、より多くのビジネスがデータソースまたはエンドユーザーに近くなり、良好な応答時間を得てコストを削減しています。これは、従来のセントラルモードのコンピューティングとは異なる、エッジコンピューティングです。将来的には、3つのトレンドを示すことになるでしょう。
- AI、IoT、エッジ・コンピューティングの統合により、より多くの種類のビジネスが、より大きなスケールとより高い複雑性を持って関与するようになります。
- クラウドコンピューティングの延長として、エッジコンピューティングはハイブリッドクラウドのシナリオで広く使われるようになり、分散化、自律的なエッジ設備、エッジクラウドのホスティングを可能にする将来のインフラが必要になります。
- 5GやIoTなどのインフラの発展は、エッジ・コンピューティングの成長を誘発します。
エッジコンピューティングの規模と複雑さは日々増大しており、O&Mの方法と能力が圧倒的に不足しています。その結果、クラウドエッジ統合O&Mとコラボレーションは、アーキテクチャのコンセンサスとなっています。クラウドネイティブに支えられ、クラウドエッジの統合は急速に加速しています。
- 「クラウド」層は、元々のクラウドネイティブな管理機能や豊富な製品機能を保持したまま、クラウドエッジ管理チャネルを通じてこれらの機能を最先端に導きます。これにより、膨大な量のエッジノードとエッジビジネスが、クラウドネイティブシステムのワークロードに変わります。
- 「エッジ」側は、トラフィック管理やサービスガバナンスを通じてエンドとの対話を円滑に行い、クラウド上で一貫したO&M体験を得ることができます。また、分離性、セキュリティ、効率性も向上し、ビジネス、O&M、エコシステムの統合が完了します。
クラウドネイティブエッジコンピューティングは、クラウドネイティブの新しい境界線であり、エッジコンピューティングの未来でもあります。
###トレンド5:クラウドネイティブがもたらすデータトランスフォーメーションが新たなテーマに
アリババクラウドのシニアテクニカルエキスパート、Alibaba Cloud Container Service for KubernetesとCloud-Native AIソリューションのR&Dを担当しているZhang Kai氏と、アリババクラウドのシニアテクニカルエキスパート、オープンソースプロジェクト「Fluid」の共同スポンサーでもあるChe Yang氏より。
データは企業の中核をなす資産です。クラウドネイティブ技術は、今後数年間でより多くのデータ駆動型アプリケーションを推進し、企業のデジタル化とインテリジェントIT化をサポートします。従来のビッグデータやHPCアプリケーションをKubernetesプラットフォームにスムーズに移行することは、クラウドネイティブコミュニティにとって問題です。これには、Dockerで開発され、KubernetesでサポートされているクラウドネイティブなAIは含まれていません。従来のタスクスケジューラー、コンテナ化されたリソースのきめ細かいスケジューリング、エラスティックデータタスクの新しいシナリオ、AIとビッグデータの統一されたクラウドネイティブベースなど、新しいトレンドがあります。
- 従来のタスクスケジューラーを参考に:Kubernetesはリソースのスケジューリングに重点を置いています。しかし、Yarnのような従来のオフラインスケジューラーと比較すると、ビッグデータやHPCのスケジューリング機能はまだ改善する必要があります。最近では、KubernetesのScheduler Plugin Frameworkの柔軟なフレームワークの下で、ビッグデータやHPCのシナリオに適応したキャパシティ・スケジューリングやバッチ・スケジューリングが徐々に実装されつつあります。
- コンテナ型リソースのきめ細かなスケジューリング:Kubernetesクラスターは、コンテナベースおよびプラグインベースのスケジューリング戦略を用いて、GPUリソースの共有とスケジューリングをネイティブにサポートし、GPUリソースを分離します。加えて、Nvidia Ampereは、KubernetesにおけるMig-nativeスケジューリングもサポートしています。これらは、Kubernetesならではの機能です。リソース共有はGPUに限らず、RDMA、NPU、ストレージデバイスにも必須です。
- エラスティックなデータタスクの新しいシナリオ:ビッグデータやAIアプリケーションの弾力性が浸透したら、HDFS、OSS、Ceph、Kubernetesの上位層のクラウドネイティブアプリケーションなどのストレージソース間の移動、複製、退避、変換、管理などを柔軟かつ効率的に行うために、データを(流体のように)弾力的にすることも重要です。これにより、多様なクラウドサービスのシナリオにおけるビッグデータやAIアプリケーションを実現することができます。
- AIとビッグデータのための統一されたクラウドネイティブベース:ジョブスケジューリング、リソース使用率の最適化、データオーケストレーションなどのアトミックな機能をベースに、より多くのAI、機械学習プラットフォーム、ビッグデータ分析プラットフォームがコンテナクラスターで構築されます。AIやビッグデータのデータへの依存度、コンピューティング、ネットワーク、ストレージリソースへの要求、ワークロードの特性、運用戦略、オンラインサービスへの重要性、ITコストに影響を与える要因などには多くの共通点があります。そのため、AIとビッグデータの運用をサポートするための統一されたクラウドネイティブベースを確保することは、CTOとCIOにブレーンストーミングを強いることになります。
#トレンド6:コンテナのセキュリティが最優先事項に
Alibaba Cloud Container Service for Kubernetesのシニアテクニカルエキスパート、Yang Yubing氏より。
コンテナは、クラウドネイティブ時代のアプリケーション配信のスタンダードであり、コンピューティングリソースとそれを支えるファシリティの配信の単位となっています。runCに代表されるLinuxコンテナを用いたコンテナランタイムは、軽量、高効率、自己包含、ワンタイムパッケージ、ワンタイムオペレーションなどの優れた機能を備えています。コンテナ、開発者、ユーザーの間で非常に人気があります。
普及が進むコンテナ技術やアプリケーションは、クラウドコンピューティングの新たなインターフェースとなっていますが、クラウドコンピューティング環境におけるコンテナ技術は、依然として新たな課題に直面しています。複数のコンテナが同じカーネルを共有しているため、分離性やセキュリティの面で本質的なデメリットがあります。そのため、企業内環境のような単一レンタルのシナリオでしか適用できないコンテナの適用シナリオや開発が制限されます。しかし、クラウドネイティブ製品を異なるテナントのコンテナに配信する場合は、たとえ同一ホスト上であっても強力な隔離が必須となります。クラウドネイティブ製品の時代には、コンテナランタイムはセキュリティの分離をしっかり確保する必要があります。上記の機能に加えて、コンテナのセキュリティは最重要課題です。KATAのような軽量仮想化で実装されたコンテナは、マルチテナントシナリオの標準的なコンテナランタイムとして徐々に定着しつつあります。
ランタイムに加えて、ネットワーク、ディスク、イメージ、Kubernetes APIレベルでのセキュリティ分離を解決しなければなりません。これには、複数のテナントと、信頼されていないコードの実行が関係しています。そのため、ネットワークアクセスの対象、使用するストレージリソース、ローカルでダウンロードやアクセスが可能なイメージコンテンツなど、ユーザーが利用できるすべてのリソースを隔離する必要があります。セキュリティ保護のためには、アイソレーション実装の脆弱性が悪用されないよう、マルチレベルの深い保護が必要ですし、VPCの隔離に加えて、ネットワーク保護にはネットワーク・ストラテジーの詳細な隔離が必要です。また、コンピューティングのアイソレーションには、名前空間、システム・コール、仮想化関連のアイソレーションが必要になり、そしてストレージ・アイソレーションでは、仮想化関連のアイソレーションを除き、ホスト上でDiskQuotaのアイソレーションを行う必要があります。ネットワーク・アイソレーションとは別に、イメージ・アイソレーションでは、ローカル・イメージ・リファレンス・アイソレーションも必要です。これらは強力なアイソレーションとマルチレイヤーの深いアイソレーションのために実装されています。
コンテナ・セキュリティ技術は、他にも新たな課題に直面しています。仮想化が導入された後、コンテナ技術はもはや軽量では実装できません。仮想化技術を軽量かつ効率的に最適化することは、私たちが解決しなければならない問題になっています。業界には、GoogleのgVisorやCrosvm、AmazonのFirecrackerなどの軽量な仮想化技術がありますが、アリババもまた、この問題を解決するために、仮想化コンテナ技術「Daishu」を提供しています。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ