ソフトウェア工学において、コンテナ化とは、複数のネットワークリソース上でのオペレーティングシステムレベルの仮想化またはアプリケーションレベルの仮想化であり、タイプやベンダーに関係なく、あらゆるクラウド環境または非クラウド環境のコンテナと呼ばれる分離されたユーザー空間でソフトウェアアプリケーションを実行できます。[1]「コンテナ」という言葉は、多義的な用語であることに注意してください。そのため、Marc Brooker は、「コンテナ」という言葉を使用するときは常に、読者が同じ定義を使用しているかどうかを確認することを推奨しています。[2]
使用法
各コンテナは基本的に、アプリケーションを囲み、並行して実行されている他の環境から独立させておく、完全に機能しポータブルなクラウドまたは非クラウドコンピューティング環境です。[3]各コンテナは個別に異なるソフトウェアアプリケーションをシミュレートし、関連する構成ファイル、ライブラリ、依存関係をバンドルすることで、分離されたプロセスを実行します。 [ 4 ]ただし、集合的には、複数のコンテナが共通のオペレーティングシステムカーネル(OS)を共有します。 [5]
最近では、コンテナ化技術は、 Amazon Web Services、Microsoft Azure、 Google Cloud Platform、IBM Cloudなどのクラウドコンピューティングプラットフォームで広く採用されています。[7]コンテナ化は、ソフトウェアアップデートをより迅速に開発および実装する方法として米国国防総省でも推進されており、最初にF-22制空戦闘機に適用されました。[8]
コンテナの種類
- OSコンテナ
- アプリケーションコンテナ
セキュリティ問題
- OS が共有されているため、セキュリティの脅威がコンテナ化されたシステム全体に影響を及ぼす可能性があります。
- コンテナ化された環境では、セキュリティ スキャナーは通常 OS を保護しますが、アプリケーション コンテナは保護しないため、望ましくない脆弱性が生じます。
コンテナ管理、オーケストレーション、クラスタリング
コンテナオーケストレーションまたはコンテナ管理は、主にアプリケーションコンテナのコンテキストで使用されます。[9]このようなオーケストレーションを提供する実装には、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 。
- Watada, Junzo; Roy, Arunava; Kadikar, Ruturaj; Pham, Hoang; Xu, Bing (2019). 「コンテナ化の新たなトレンド、技術、未解決の問題:レビュー」. IEEE Access . 7 : 152443–152472. Bibcode :2019IEEEA...7o2443W. doi : 10.1109/ACCESS.2019.2945930 . S2CID 204970781.
- van den Berg, Tom; Siegel, Barry ; Cramp, Anthony (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。
- 書籍
- Gabriel N. Schenker、Hideto Saito、Hui-Chuan Chloe Lee、Ke-Jou Carol Hsu、(2019)コンテナ化入門: コンテナの自動化と管理によってシステムの運用負担を軽減する、Packt Publishing、ISBN 978-1-83864-903-6
- Jeeva S. Chelladhurai、Vinod Singh、Pethuru Raj (2014)、Learning Docker、Packt Publishing、ISBN 978-0-9888202-0-3
参考文献
- ^ Scheepers、Mathijs Jeroen (2014)。 「アプリケーション インフラストラクチャの仮想化とコンテナ化: 比較」(PDF)。タイス・シーパーズS2CID 18129086。
- ^ Cloud Foundry: 開発、展開、拡張の決定版ガイド。O'Reilly Media。ISBN 9781491932544。
- ^ 「コンテナ化とは何か?」www.redhat.com . RedHat . 2021-05-08 にオリジナルからアーカイブ。2021-07-10に取得。
- ^ Hinck, Tim Maurer, Garrett; Hinck, Tim Maurer, Garrett. 「クラウドセキュリティ:政策立案者のための入門書」。カーネギー国際平和財団。2021年7月10日閲覧。
{{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Rubens, Paul (2017-06-27). 「コンテナとは何か、なぜ必要なのか?」CIO . 2021-07-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日閲覧。
