CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今回から、クラウドネイティブ技術に関して、要素技術からその方法まで、いろいろ紹介していきます。
クラウドネイティブは、アプリケーションコンテナと、Kubernetesに代表されるコンテナオーケストレータを組み合わせたシステムです。クラウドネイティブは、世界的に多くの注目を浴びている技術です。その利点としては、以下のものが考えられます。
ユーザニーズへの迅速な対応
トラフィック増減、セキュリティ問題など、運用に対する迅速な対応
DevSecOpsのプラットフォームとして有用
クラウドネイティブには定義が存在します。これは、CNCF(Cloud Native Computing Foundation)という団体で定義され、「CNCF Cloud Native Definition v1.0」という文書で公開しています。原文は英語で書かれていますが、日本を含む複数国の言語でも定義されています。以下に日本語訳を引用します。
クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。
これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。
Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。
クラウドネイティブの定義から、いくつか気になるキーワードを上げてみます。
構成される技術
ダイナミックな環境 パブリッククラウド、プライベートクラウドのような動的(ダイナミック)な環境
スケーラブル アプリケーションの水平スケールを、自動的に構成、実行
コンテナ ここでは、Dockerに代表されるアプリケーションコンテナ
マイクロサービス
個々の小さいサービスを複数組み合わせて、システム全体でサービスを提供する手法
サービスメッシュ サービス間の通信における負荷分散、トラフックの最適化、セキュア化を提供
イミュータブルインフラストラクチャ 作成後にその状態を変更しないアーキテクチャ
宣言型API サービスへ命令を伝えるのではなく、サービスが目的とする状態を指定するAPI
疎結合 複数のサービスをネットワークなどで接続し、個々の独立性を高くなるよう構成した状態のことです。逆に、複数のサービスが互いに依存し、独立性が低く構成した状態を密結合と呼びます。
オープンソースなエコシステム 他者からのコードの監視を確保し、最先端の技術やパターンを使用します。また、ベンダーによるロックインを回避します。
これらのキーワードについて、今後説明していきます。
今回は第1回目として、クラウドネイティブの定義と、そのキーワードを上げていきました。次回は、クラウドネイティブの基本となる、アプリケーションコンテナについて説明していきます。次回をお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes