クラウドコンピューティングのコンセプト
ソフトウェア工学 において 、 コンテナ化 とは、 複数のネットワークリソース上で オペレーティングシステムレベルの仮想化 または アプリケーションレベルの仮想化を行うことであり、 クラウド 環境または非クラウド環境の種類やベンダーを問わず、 ソフトウェアアプリケーションを コンテナと呼ばれる分離されたユーザー空間で実行できるようにします。 [1] 「コンテナ」という用語は多義的であるため、意図された定義が読者の理解と一致していることを確認することが重要です。 [2] [3]
使用法
各 コンテナ は基本的に、アプリケーションを囲み、並行して実行される他の環境から独立させながら、完全に機能し移植可能なクラウドまたは非クラウドコンピューティング環境です。 [4] 各コンテナは個別に異なるソフトウェアアプリケーションをシミュレートし、 関連する設定ファイル、ライブラリ、依存関係をバンドルすることで、分離されたプロセスを実行します。 [ 5 ] しかし、複数のコンテナは共通の オペレーティングシステムカーネル (OS)を共有します。 [7]
近年、コンテナ化技術は、 Amazon Web Services 、 Microsoft Azure 、 Google Cloud Platform 、 IBM Cloud などのクラウドコンピューティングプラットフォームで広く採用されています。 [8] コンテナ化は、ソフトウェアアップデートの開発と実装を迅速化する方法として米国国防総省でも推進されており、最初の適用例として F-22 制空戦闘機が挙げられます。 [9]
コンテナの種類
セキュリティ問題
OS が共有されているため、セキュリティの脅威がコンテナ化されたシステム全体に影響を及ぼす可能性があります。
コンテナ化された環境では、セキュリティ スキャナーは通常 OS を保護しますが、アプリケーション コンテナは保護しないため、望ましくない脆弱性が生じます。
コンテナ管理、オーケストレーション、クラスタリング
コンテナ オーケストレーション またはコンテナ管理は、主にアプリケーションコンテナのコンテキストで使用されます。 [10] このようなオーケストレーションを提供する実装には、 Kubernetes や Docker swarm などがあります。
コンテナクラスタ管理
コンテナクラスターは管理が必要です。これには、クラスターの作成、ソフトウェアのアップグレードや修復、既存インスタンス間の負荷分散、ユーザー数に合わせたインスタンスの起動・停止によるスケーリング、アクティビティのログ記録、センサーへのクエリによる生成されたログやアプリケーション自体の監視などの機能が含まれます。こうしたソフトウェアのオープンソース実装には、OKDやRancherなどがあります 。Alibaba、Amazon、Google 、 Microsoft など 、 多く の 企業 がコンテナクラスター管理をマネージドサービスとして提供しています 。
参照
さらに読む
ジャーナル記事
Bentaleb, Ouafa; Belloum, Adam SZ; Sebaa, Abderrazak; El-Maouhab, Aouaouche (2021年6月8日). 「コンテナ化技術:分類、応用、そして課題」. The Journal of Supercomputing . 78 : 1144–1181 . doi :10.1007/s11227-021-03914-1. S2CID 236220833.
Moreau, David; Wiebels, Kristina; Boettiger, Carl (2023). 計算再現性のためのコンテナ. Nature Reviews Methods Primers , 3 (50). https://doi.org/10.1038/s43586-023-00236-9
ワタダ ジュンゾウ; ロイ アルナバ; カディカー ルトゥラジ; ファム ホアン; シュー ビン (2019). 「コンテナ化の新たなトレンド、技術、そして未解決の課題:レビュー」. IEEE Access . 7 : 152443–152472 . Bibcode :2019IEEEA...7o2443W. doi : 10.1109/ACCESS.2019.2945930 . S2CID 204970781.
ファン・デン・ベルグ, トム; シーゲル, バリー; クランプ, アンソニー (2017年4月). 「高レベルアーキテクチャベースシミュレーションのコンテナ化:ケーススタディ」. 『防衛モデリング・シミュレーションジャーナル:応用、方法論、技術 』. 14 (2): 115– 138. doi : 10.1177/1548512916662365 . S2CID 64405143.
Zhang, Xiao; Tang, Yu; Li, Hao; Liu, Shaotao; Lin, Di (2021). 「自律的かつ制御可能なクラウド分散システムのためのコンテナ化設計」. 通信、信号処理、およびシステム . 電気工学講義ノート. 第654巻. pp. 30– 38. doi :10.1007/978-981-15-8411-4_4. ISBN 978-981-15-8410-7 . S2CID 236762442。
Odun-Ayo, Isaac; Geteloma, Victor; Eweoya, Ibukun; Ahuja, Ravin (2019). 「クラウドコンピューティングサービスの仮想化、コンテナ化、コンポジション、オーケストレーション」. 計算科学とその応用 – ICCSA 2019. コンピュータ サイエンス講義ノート. 第11622巻. pp. 403– 417. doi :10.1007/978-3-030-24305-0_30. ISBN 978-3-030-24304-3 . S2CID 195769647。
本
参考文献
^ Scheepers, Mathijs Jeroen (2014). 「アプリケーションインフラストラクチャの仮想化とコンテナ化:比較」 (PDF) . thijs.ai . Thijs Scheepers. S2CID 18129086. 2024年9月28日時点の オリジナル (PDF)からのアーカイブ。 2025年9月1日 閲覧 。
^ Winn, Duncan CE (2017). Cloud Foundry: The Definitive Guide Develop, Deploy, and Scale . O'Reilly Media, Inc. ISBN 9781491932544 。
^ 「概念:コンテナ」 。Kubernetes.io 。
^ 「コンテナ化とは?」 www.redhat.com . RedHat . 2021年5月8日時点のオリジナルよりアーカイブ 。 2021年7月10日 閲覧。
^ Hinck, Tim Maurer, Garrett; Hinck, Tim Maurer, Garrett. 「クラウドセキュリティ:政策立案者のための入門書」. カーネギー国際平和財団. 2021年7月10日 閲覧 。 {{cite web }}: CS1 maint: 複数の名前: 著者リスト ( リンク )
^ Rubens, Paul (2017年6月27日). 「コンテナとは何か、なぜ必要なのか?」 CIO . 2021年7月10日 閲覧 。
^ 「コンテナ化」 www.ibm.com . 2021年7月10日 閲覧 。
^ 2019年12月、Jonas P. DeMuro 18 (2019年12月18日). 「コンテナ技術とは何か?」 TechRadar India . 2021年7月10日 閲覧。 {{cite web }}: CS1 maint: 数値名: 著者リスト ( リンク )
^ 「飛行試験によりF-22機隊がサードパーティ製ソフトウェアの受け入れを許可」 Aviation Week 、2022年8月30日。
^ 「コンテナオーケストレーションとは?定義と関連FAQ」 Avi Networks . 2024年4月29日 閲覧 。