LoginSignup
4
1

More than 1 year has passed since last update.

コンテナについて

Last updated at Posted at 2021-12-11

コンテナとは

  • 仮想化技術の1つ。またはコンテナエンジン上で稼働する、抽象化された機能グループの単位。
    • 仮想化には「ハイパーバイザ型」と「コンテナ型」があり、抽象化される範囲が異なる。
    • ハイパーバイザ型は、ホストOSにハイパーバイザを稼働させ、その上で仮想マシンを稼働させる。ハードウェア(CPU/メモリ等)は仮想マシン間で共有され、それより上のOSやアプリケーション等は仮想マシン毎に管理する。VMwareやHyper-V、Virtual BoxやKVM等。
    • コンテナ型は、OS上でコンテナエンジンを稼働させ、その上で"コンテナ"を稼働させる。OSのカーネルはコンテナ間で共有され、それより上のアプリケーション等はコンテナ毎に管理する。DockerやLinux Containers(LXC)等。

ハイパーバイザ型仮想化とコンテナ型仮想化の抽象化(=各単位で共有する)の範囲の違いは、以下画像を参照
※画像は『注目を浴びる「Dockerコンテナ」、従来の仮想化と何が違うのか?』より
https://cn.teldevice.co.jp/column/10509/
image.png

コンテナ実行プラットフォーム

様々あります。

  • オープンソース系:Docker、Kubernetes等
  • 有償ソフト系:Redhat Openshift、VMware Tanzu等
  • マネージドサービス系:パブリッククラウドのネイティブサービス等
    • AWS:
      • AWS Fargate(コンテナ実行・オーケストレーション)
      • Amazon ECS(コンテナレジストリ)
      • Amazon EKS(マネージドKubernetesサービス)等
    • Azure:
      • Azure Container Instances(コンテナ実行・オーケストレーション)
      • Azure Container Registry(コンテナレジストリ)
      • Azure Kubernetes Service(マネージドKubernetesサービス)等
    • GCP:
      • Cloud Run(コンテナ実行・オーケストレーション)
      • Container Registry(レジストリ)
      • Google Kubernetes Engine(GKE)(マネージドKubernetesサービス)等

コンテナの利用に伴うビジネスインパクト

私見から記載してみます。

  • 開発サイクルの短縮。
    • 可搬性が高いです。コンテナイメージを配布することで、簡単に環境構築ができます。従来のシステム開発では、テスト実施するための環境コピーにものすごい時間と手間をかけるのが一般的でした。(AnsibleやChefで構築自動化する必要もなし)
  • 工数削減。
    • 関連オーケストレーションツールを利用することで、可用性を簡単に実現できます。
    • コンテナにはOSカーネルは含まれないため、OSのパッチ適用やメンテナンス工数を削減できます。
4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1