IBMとRed Hatが推進するレガシーアプリケーションをKubernetesに移行するためのツールKonveyorを紹介
Cloud Native Computing Foundation(CNCF)が公開している動画シリーズから、Red HatとIBMが推進するオープンソースソフトウェアKonveyor(コンベア)の概要を解説する動画を紹介する。Konveyorは、レガシーなモノリシックアプリケーションをクラウドネイティブなアプリケーションに移行させるためのツールだ。Konveyorを使って3層構造のレガシーなWebアプリを移行させる例を示すことで、具体的な移行方法を解説するものとなっている。
レガシーシステムのモダン化を助けるKonveyor
Konveyorは、単にリフト&シフト(レガシーシステムをそのままクラウドに持ち込み、少しずつ調整していく手法)するだけではない。中途半端に分解されたモノリシックアプリを、コンテナ化とCI/CDによってソースの変更から自動で本番環境にデプロイできる状態にするところまでが、Konveyorの目的である。これは現実的なアプローチといえるだろう。また「中途半端」と書いた意味は、アプリケーションの一部がCloud Foundryや、マニュアルで運用されているKubernetesに点在する状況を意味している。ここから、最終的に全体をOpenShiftに移行していることがポイントだ。
PaaSの代名詞だったCloud Foundryを、2021年時点では積極的に選択するべきではないプラットフォームとしてRed Hatが位置付けているのが興味深い。かつてOpenShiftは、PaaSとしてはCloud Foundryに遠く及ばない位置にいた。しかし、OpenShiftバージョン3で古いコードを捨てて、コンテナのためのプラットフォームとしてKubernetesに移行した。これにより、一気にトップのコンテナプラットフォームとして成功したわけで、その自信が表れているとも言えるだろう。
動画のタイトルに「Migrating An N tier Application to Kubernetes With Open source Tools」とあるように、N層のアプリケーションをKubernetesに移行させることが目的だ。
動画:Migrating An N tier Application to Kubernetes With Open source Tools
プレゼンテーションを行ったのはJames Labocki氏など複数のエンジニアだ。プレゼンテーション内では所属を明かしてはいないが、全員がRed Hatのエンジニアだ。
ちなみにこの動画とほぼ同じ内容のブログ記事が、Red Hatのデベロッパー向けサイトにも公開されている。
参考:Modernize and migrate to Kubernetes with open source tools
現実にありそうな「中途半端」なシステム
ここでは、架空のGlobexという会社が使う仮想マシンベースのモノリシックなWebアプリケーションを使って移行を解説している。このスライドにあるように、元々はすべてが一体化したアプリケーションでWebにおける販売を行うRetailというアプリケーションで、内部にゲートウェイ、顧客データベース、在庫管理、オーダー管理などが存在している。
ApacheのWebサーバーの後ろにアプリケーションがあり、データベースはOracleというように、典型的な3階層のWebアプリケーションだ。
そこからアプリケーションの一部、ここではOracleデータベースを使う顧客管理と在庫管理を残して、フロントエンドとゲートウェイ、オーダー管理がCloud Foundryに移行、オーダーデータベースもPostgreSQLに移行したという想定となっている。
さらに仮想マシンで稼働していた在庫管理をKubernetesに移行、在庫データベースもKubernetes上のPostgreSQLに移行しているという前提だ。モノリシックな3層アプリケーションがVMwareベースの仮想マシン、Cloud Foundry、そしてKubernetesという横方向の3層構造、もしくは3つの異なるプラットフォーム上に実装されているということになる。DXの過程で、レガシーなシステムをクラウドに移行させるタイミングではありがちな状況を上手く表していると言える。
結果としてシステム全体において変更のための時間は短縮されず、3つの異なるプラットフォームを運用管理しなければいけなくなったとして、すべてが仮想マシンに収容されていた時よりも複雑さは増しているという問題を提起している。ここでもさりげなく「Services on Cloud Foundry need a path forward to a platform that has a strong future」と、Cloud Foundryには未来がないことを指摘している。
そして理想的なシステム像は、すべてがKubernetes上に実装され、GitOpsで構成管理が行われ、変更が自動的に実装されることだと解説した。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- モノリシックとマイクロサービスを同時にサポートするOpenShift 3.7
- Red Hat Summit 2018、初日午後のハイライトはMSとIBMとの協業発表
- コンテナをエンタープライズレディに OpenShiftにかけるRed Hatの意気込みとは?
- レッドハットが「OpenShift Commons Gathering Japan 2021」を開催、キーパーソンが語るハイブリッドクラウドを実現するための3つのポイントとは
- Red Hat Summit 2017 キーパーソンが語るOpenShift成功の秘訣
- CoreOSのCEOに訊くCoreOSの統合・OpenShiftとの関係
- KubeCon@San Diego前日に開催のOpenShiftのコミュニティイベント
- Red Hatがセキュリティ強化と自動化がポイントのOpenShift 4.3をリリース
- マイクロサービスと「Red Hat OpenShift Container Platform with Runtimes」の基礎知識
- CloudNative Days Tokyo 2019:あえてK8sを選ばなかったSoftBankペイメント