昨日書いたことに間違いがあったので、まずは訂正。
3.コンテナには、さまざまな依存関係のあるアプリケーション群を一つにパッケージングしたものである。(例えばWebサーバー、アプリケーションサーバー、データベースを一つにまとめたもの)
→といった使い方は、あまりしないらしい。Webサーバーで1コンテナ、アプリケーションサーバーで1コンテナというふうに分割して運用するのが普通らしい。
そして昨日の疑問、
疑問1:アプリケーション空間、ユーザー空間の仮想化とは、まだちゃんと理解できていない。どのレベルでDockerEngineは仮想化するのか
→独立したプロセス空間、ネットワーク空間を提供する。(アプリケーション側からは一見1つのOSとして見える。OSより下位レベルのシステムコールとかはできないんでしょうね)
疑問2:環境依存する部分は本当にないのかIPアドレス、MACアドレスとか。DockerEngineがそれを吸収するのか?あるいは環境情報は別途デプロイする必要があるのか?
→仮想ブリッジと仮想ネットワークインターフェースによってネットワーク差異を吸収する。(すごいぜ!)
その他
コンテナ自体の冗長化(クラスタリング)技術は、まだ発展途上にあるらしい(ほんのつい最近そういった技術が発表されつつある)
とすれば、大規模サービス(ブラウザゲームとか)は、OSレベルで冗長化して、その上にコンテナをいくつも載せていく構成になっていくのか?
自分は、これまでレガシーシステムの刷新を多く手がけてきたので、これら技術の基幹システムへの導入例は不勉強にして知らない。このような技術によって大企業の多くが悩んでいる迅速なサービスの提供が可能になる気がします。
0 件のコメント:
コメントを投稿