‫レガシーなVMベースのモノリシックアプリをコンテナ化し､ クラウドネイティブにすることはよく知られていることですが､ その方法はあるのでしょうか？
‫また､ VMから入ってくるコンシューマ・リクエストを､ どのようにそれらのコンテナにリダイレクトするのか｡
‫これは非常に負荷の高い質問なので､ 最後の質問とさせていただきます｡
‫というのも､ 他のみなさんが私の質問を受け止めてくれていて､ 時間がなくなってしまったので､ 長い話題になってしまいましたが､
‫とてもいい話題です｡
‫基本的に､ あなたがここで尋ねていることは､ 質問をもう一度読むことです｡ モノリシック・アプリケーションに基づくレガシーVMをコンテナ化して､
‫クローン・ネイティブにするよく知られた方法はありますか？
‫また､ VMから入ってくるコンシューマ・リクエストを､ どのようにこれらのコンテナにリダイレクトするのか｡
‫ということで､ 2つに分けての質問です｡
‫私なら､ レガシーなVMをDockerが提供するコンテナ化するために､ まず最初にI'm going to answer the first oneを行います｡
‫企業顧客であれば､ アプリの内容に応じて一定レベルのツールを提供してくれますし､
‫非常にフレームワークに特化しています｡ 明らかにPythonアプリには特定の要件があり､
‫特定の依存関係があります｡
‫しかし､ レガシーアプリをコンテナ化するのはそれほど難しいことではありません｡
‫なぜなら､ どこかに文書やインストール方法のスクリーンショットが残っているはずだからです｡
‫そして､ その基本情報さえあれば､ Dockerファイルで再現することができます｡ Dockerファイルとは､ LinuxやWindowsに何かをインストールするための自動化された方法と同じようなものです｡
‫それで､ その指示書があれば､ それができるわけです｡
‫Dockerには､ Docker Enterpriseと一緒に販売されているようなツールもあります｡
‫基本的には1年前にサンフランシスコで開催されたDocker con twenty eighteenに戻ればいいのです｡
‫基調講演では､ レガシーなWebアプリケーション､ 特にWindows側のレガシーなWebアプリケーション（Dot
‫Netフレームワークのアプリケーションなど）を活用することについて話しています｡
‫そして､ それらのアプリケーションに付属するパッケージファイルに基づいて､ すべての部品やパーツを見つけるのです｡
‫これらのアプリには独自のパッケージインストールツールがあり､ それらのファイルを見て､ 適切なパーツをすべて見つけて入れてくれるのです｡
‫しかし､ オペレーティングシステム全体を見て､ 1つのコンテナにすべてを吸い込むような､
‫お勧めのツールは知りません｡
‫だから､ そのアプリがどのようにインストールされているか､ あるいはそれすらもない場合は基本的に情報を見てくださいということです｡
‫まずはDockerファイルで試してみて､ それを繰り返しながら､ 実際にコンテナで動作させるところまで持っていくことができます｡
‫ここで､ データを扱うのであれば､ データを移動させることは別の話です｡
‫まずはそのデータをボリュームにする必要があります｡
‫そのため､ それは別のプロセスで行われることになります｡
‫まず､ アプリを動作させることに集中し､ 古いVMの中にユニークなデータがある場合､
‫データを移動させる方法をサブプロジェクトとして心配します｡
‫そして3つ目は､ VMから入ってくるコンシューマ・リクエストを､ どのようにコンテナにリダイレクトするかです｡
‫そして､ それは本当にコンテナとは全く関係ないことなのです｡
‫それは､ これはWebのリクエストなのか､ ということと関係があります｡
‫エラスティックロードバランサー､ アプリケーションロードバランサー､ または独自のサードパーティ製F5プロキシのようなフロントエンドプロキシーが前にあるのでしょうか｡
‫Webアプリではないのでしょうか｡
‫ウェブアプリでない場合は､ その接続をどのように行うかを検討する必要があります｡
‫なぜなら､ Dockerはコネクションを行わないからです｡
‫古いVMからリダイレクトするというのは､ コンテナやコンテナ・オーケストレーションが解決してくれることではありません｡
‫というわけで､ まさに三拍子揃った大作です｡
‫そのため､ 古いアプリケーションをコンテナに移行するためにコンサルタントを雇う場合､
‫私はこのような方法をとっています｡
‫従来のアプリを移行するMTAプログラムと呼ばれるもので､ 基本的に有料でタイガーチームを企業に派遣し､
‫1週間かけて現地で作業してもらいます｡
‫そうすると､ アプリを移行してくれて､ それについてすべて学ぶことができるんです｡
‫コンテナへの移行やコンテナへのコピー､
‫実行､ データの移動､ 接続の交換など､
‫フロントエンドのロードバランシングを行わない場合は､ 基本的にコンテナでアプリを実行させ､ ダウンタイムは数分程度で､
‫DNSトラフィックや接続を交換するためのリダイレクトを行います｡