
タイトルは2つの主張をします:
- メインフレームの近代化は困難です。
- メインフレームの近代化は楽しいです。
このエッセイの目的は、これらの主張を正当化することです。 成功すると、私は励まされる少数の技術的な人々を説得したいと考えています。
はじめに、何を話しているのかを説明する必要があります。
メインフレームを考えると、モノクロームグリーンスクリーンのターミナルをイメージするかもしれません。 長年にわたり、リンステキストを下げることは、世界的な金融の定着的心拍となっています。
基本的に、メインフレームのモダニゼーションは、動作、正確性、運用保証を維持しながら、メインフレームで実行するアプリケーションまたはスイートを近代的な分散システムに変換します。
メインフレームコンピュータとは何ですか? IBMは、メインフレームの最大のプロバイダである「[they]は、セキュリティと信頼性の最高レベルで毎日1兆のWeb取引を処理するように設計されたデータサーバーです。」 クラウドコンピューティングの上昇にもかかわらず、メインフレームは、特に重要な取引量が多い、より伝統的な業界において、ITインフラストラクチャの重要な役割を果たし続けています。
最近の IBM レポートに基づいて, “トップの 45 銀行, 4 トップの 5 航空会社, 7 トップの 10 グローバル小売店と 67 フォーチュン 100 企業は、コア プラットフォームとしてメインフレームを活用します。” ロンドンのクレジットカードをスワイプしたり、ボゴダのペスを撤回したりすると、これらのマシンとやり取りします。
なぜ
なぜ近代化? メインフレームがとても良い場合、なぜそれらから離れるのですか? 様々な理由を持つ組織の浄化。 しかし、今日の主要な銀行の手術室に立ったら、次の2つの基本ポイントに沸騰していることがわかります。
- 敏捷性。 COBOLをまだ知らず、40歳までの銀行インフラの内面が急速に風化している人が増えています。 これにより、これらのプログラムを変更することは危険になり、ビジネスの一部が時間内に凍結する可能性があります。 最終的に死ぬことを認める事業、そして、その敏捷性は生存に有能です。
- コスト。 IBMは、メインフレーム市場でモノポリ近くを保持しています。 1つのメインフレームを1年あたりのコストを削減できます。 誰にとっても取引業者ではありませんが、多くの企業は、明確で低リスクのパスがあったら、高価なIBM契約から離れるだろう。
したがって、メインフレームに誤っても、1 条, 世界の市場条件と状態は、それらから離れて近代化するための強力なtailwindsを作成します, 主観的な近代化市場は、数十億ドルで推定.
本体の近代化は困難です
本体のモダナイゼーションは、コンピュータサイエンスとソフトウェアエンジニアリングのすべての最も困難な問題の異常であるため、非常に困難です。
私たちは、暗黙の共有状態、文書化されていない制御フロー、非忠実なトランザクション境界、数十年以上蓄積してきた数値的なエッジケース、およびメインフレームが暗黙的に提供する分散一貫性保証などの問題に対処する必要があります。 分散型システムでは動作しません。
これは「グリーンスクリーン」の遺産の現実です: 現代のソフトウェアエンジニアリングとオブジェクト指向プログラミングの出現前に書かれた、ほとんど誰も知っている言語でテック債務のメインフレーム近代化タックル10年。 設計パターンは不在であり、文書は痛みを伴う不完全である。
数字と同じくらい単純に何かを考えてみましょう。
COBOLは、一般的に、COMP-3などの小数フォーマットを使用しており、ベース-10算数をメモリ内で直接エンコードし、正確な精度を保証します。 そのロジックをクラウドネイティブのフローティングポイントタイプに移行すると、システムの数学的な動作がほとんど変更されます。 IEEE 754 フロートはベース-2 近似であり、0.1 などの値は正確に表現できません。 個々の不透明度は小さいですが、銀行システムでは100万を超える毎日の計算で、エラー化合物。
システムは、意図せずにお金を作成または破壊し始めます。
理論的には、このスケールでの練習では、静的な解析は、この大きなシステムとこの古いシステムの動作を完全に特徴付けることはできません。 実際の入力、実際のデータ、実際のタイミングでのみ自身を明らかにする動作が常にあります。
ターゲットアプリケーションは、多くの場合、その欠陥やバグを含むメインフレームの「シェルのホスト」を正確にキャプチャする必要があります。 ダウンストリームアプリケーションは、idiosyncratic の方法で既知のバグを処理し、これらの既知のバグを修正することで、予期しない秒数と高い注文大惨事につながる可能性があります。
リンディエフェクトのポストで述べたように、歴史は伝統的な人間の焦点を合わせた近代化の大きな規模の失敗で散らばっています。 私たちは、より良いことに努めます。
難しい問題の解決(楽しい)
安全に近代化するためには、数学的精度で実証しなければなりません。新しいシステムは、古いもののように正確に動作します。 これは、現実の完璧な反射として機能する洗練された機能テストスイートを作成する必要があります。
これを作成するには、2つの目的を考慮する必要があります。
- 顧客ビュー:すべての生産入力では、ターゲットシステムがソースと同じ出力を生成しますか?
- エンジニアリングビュー: ターゲットアプリケーションを作成するAIエージェントの非曖昧で理解しやすいスペックを作成する方法でテストスイートを書くことができますか?
人間は一度に1つの実行パスを理由にすることができます。 この問題は、何百万もの理由が必要です。 ステートスペースが大きすぎると、インタラクションも微妙で、フィードバックループは人間だけでも遅くなります。 私たちが必要とするのは、より多くの手書きコードではなく、可能性を探求し、制約を吸収し、人間が一致できる速度で反復できるシステムではありません。 しかし、そのシステムは、それが従うために禁忌である現実と同じくらい良いです。
フロンティア
これは、エンジニアのロールがライティングコードからシフトし、現実を定義する制約を設計するフロンティアです。
Hypercubicでは、エージェントAIの現実を制約する能力は、次世代のソフトウェアエンジニアリングの確かな技術です。
これらの制約を築き上げるための正しい方法を発見しています。 残高保存などの高レベルの不変性について、ファイルI/O注文や取引レトリーなどの低レベルの動作をトレースする必要もあります。 静的コード解析、動的データフローグラフ、および大量に分散したシステム間で取引を注文する。
ほとんどのソフトウェアエンジニアリングは、画面上でよく文書化された API や移動ボタンを組み合わせています。 予測可能で安全な作業です。
メインフレームの近代化は反対です。 世界経済の混在的基盤と文書化されていない基盤に直接関与する必要があります。
いよいよ21世紀の光に論理を引っ張るため、緑色の画面を輝かせた後ろに辿り着きます。
理論的に不可能であるが、実質的にあなたに訴える必要がある問題の解決の考えなら、私達はあなたに会いたいと思う。