Sto mantenendo gran parte del codice legacy, scritto in C. Questo codice inizialmente è stato scritto per essere compilato su Windows 3 per Workgroup, e successivamente è stata creata una versione per NT. Questa applicazione legacy è ancora in uso oggi, correndo allegramente su workstation 3.11 e NT dei primi anni '90. Funziona e fa quello che dovrebbe fare, e la ragione per cui vivono ancora è che i driver per alcuni dell'hardware personalizzato appartenente alla soluzione non sono compatibili con Windows successivo.
C'è anche un'altra applicazione che ho sostenuto che per gli stessi motivi funziona solo su Win2k.
Tuttavia, man mano che le cose vanno avanti, diventa sempre più difficile gestire questi ambienti legacy. In questo momento mantengo le macchine fisiche con il software di sviluppo installato, in modo da poter lavorare su hardware nativo. Ma questi possono morire in qualsiasi momento (dopo tutto hanno 25 anni).
Quindi la mia domanda è, visto che è il 2016, quali sono le mie opzioni per mantenere questo ambiente arcaico in un modo più stabile? Puoi spostare un 3.11 sul cloud hosting?
Ho provato la virtualizzazione, ma a causa della natura specializzata delle configurazioni, non sono riuscito a farlo funzionare con i driver del dispositivo, quindi sto pensando che potrebbe essere necessario creare un'immagine completa del sistema operativo così com'è e quindi eseguirlo in un VM per sviluppare il software? Una cosa del genere è possibile per le versioni del SO guest precedenti a Win3 e NT?
Esiste qualche esperienza nel mantenere vive piattaforme di sviluppo come queste, ma in un modo più moderno e sicuro da cui posso attingere?
Il mio obiettivo è liberarmi delle vecchie macchine fisiche e passare alla virtualizzazione.