コンテナ化再構築開発
お客様にて運用していたシステムが、OSのサポート切れによるOSのアップグレードを行う必要がありました。
同時に、現行システムに対しては、以下の示すような複数の問題点が存在していました。
- 管理用のWEBアプリはJavaが使われていたが実装技術が古すぎるため、メンテナンスできる人材を探すのが大変となっていた
- ネットワークセキュリティに問題があったことが判明した
- 拠点からだけではなく、在宅からのアクセスも要望として出てきた
- 利用していたデータベースサービスのEOSに伴い、データベースの引っ越しが必要となった
- OSのサポート切れ、および、同OSが今後バージョンアップされないことにより、ディストリビューションの変更が必須となった
- ソースコード管理システムが使われておらず、本番機および検証機にあるソースコードをそれぞれ変更してリリースを行っていた
- クラウドのファイルサーバーを、拠点のPCが同じようにマウントして使っていたため、ファイルサーバー無いが無秩序化していた
- 本当のコア機能については、Fortranによる数値計算で実装されていたため、ほとんどブラックボックスであった
これに対して、以下の方針でコンテナ化再構築をおこなった。
- 管理用のWEBアプリは、SpringBoot3系を使い、かつ、コンテナ化する
- 既存システムであった二台の仮想マシン(本番用・検証用)については、それぞれをコンテナ化する
- フロントエンド用にSSL解凍およびリバースプロキシー用の小さな仮想マシンをおいてコンテナの前段に置く
- Fortranのプログラムについては、コンテナの中に実行環境を構築することとした
- VPN等を使った複雑なルートでかつ使い勝手の悪いシンクライアントを使った運用環境からSSHでの運用に切り替え
- クライアント側で動作していた入力アプリケーションに関しては、ファイルサーバのマウントなしに動作するように、新規WEBアプリにAPIを用意して、そのAPI経由で動作するように修正
- 無秩序に使っていたクラウドのフィアルサーバーのローカルPCへのマウントは撤廃して、API経由での管理された状態に修正
本システムの再構築において、一番重要なのはFortranによる計算処理が、既存システムと再構築後で一致することであり、その検証のために、既存システムで処理したデータと、再構築後のコンテナの中でFortranを動かした結果を、比較して全く問題ないことを確認してから、実際のシステム再構築へと取り掛かった。
コンテナを含むクラウドのインフラ設計、環境構築等は当方が行い、今までの運用の蓄積が重要なFortran部分および、クライアントの入力アプリに関しては、共同開発したパートナーが行うという役割分担をおこなって、再構築をすすめて、2026年年明けから本番稼働を開始した。
