【読書メモ】【1章】AWSコンテナ設計・構築[本格]入門

AWS

 

AWSコンテナ設計・構築[本格]入門」の「1章 コンテナの概要」のメモを残します。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

AWSコンテナ設計・構築[本格]入門 [ 佐々木拓郎 ]
価格:3,300円(税込、送料無料) (2024/4/27時点)


 

コンテナとは

 

コンテナ1つのプロセスとしてソフトウェアを実行する技術

OSとカーネルは共有して、プロセスを分けることでソフトウェアを隔離して起動している。

また、アプリケーションとランタイム、ライブラリをまとめて1つのパッケージとする。

似た技術にサーバ仮想化がある。
こちらはゲストOS(仮想マシンのOS)ごとにカーネルを占有している。

 

コンテナ技術のメリット

  1. 環境依存からの解放
    • アプリケーションの依存関係をコンテナ内に完結。
    • 各環境でのライブラリのバージョン管理が不要。
  2. 環境構築やテストに要する時間の削減
    • どの環境でも同じように動作するため、環境構築やテストが容易。
  3. リソースの効率化
    • 1つのプロセスなので起動が速く、必要なリソースが少ない

 

Dockerとは

 

コンテナ技術を使用するためのツール。

他には、PodmancontainerdCRI-O などがある。
(参考:https://zenn.dev/ttnt_1013/articles/f36e251a0cd24e)

 

オーケストレータ

 

複数のコンテナを管理するためのツール。

機能としては、

  1. コンテナの配置管理
    • ホストへの負荷が均等になるようにコンテナを配置
  2. コンテナの負荷分散
    • リクエストを分散させ、可用性やパフォーマンスを向上
    • LBと組み合わせたりもする
  3. コンテナの状態監視と自動復旧
    • コンテナを監視し、異常があれば切り離しや自動復旧させる
  4. コンテナのデプロイ
    • ダウンタイムがないようにデプロイする

 

オーケストレータのデファクトスタンダードは、Kubernetes

AWSならEKS、GCPならGKEなど各クラウドプロバイダにマネージドサービスがある。

他のオーケストレータとしては、Docker社のSwarm、RedHat社のOpenShiftなど。

 

本書では、AWSが提供しているECSを取り扱う。

これはAWS独自のオーケストレータで、他のAWSサービスと相性がいい。

 

コンテナ技術を導入するために考慮すべきこと

 

  1. コンテナを前提としたアプリケーション開発の在り方
    • コンテナ特有の性質を考慮する。
    • クラウド×コンテナのベストプラクティスの1つがThe Twelve-Factor App
  2. コンテナ設計・運用に取り組む際の姿勢
    • レジストリ上のイメージやオーケストレータの管理など新たなタスクが発生
    • 加えて、従来通りの可用性、パフォーマンス、セキュリティの考慮も必要
  3. 開発チームにおける役割分担の見直し
    • アプリチームとインフラチームの役割を見直す

 

次章のメモ

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

AWSコンテナ設計・構築[本格]入門 [ 佐々木拓郎 ]
価格:3,300円(税込、送料無料) (2024/4/27時点)


コメント

タイトルとURLをコピーしました