Je conserve une grande partie du code hérité, écrit en C. Ce code a été initialement écrit pour être compilé avec Windows 3 pour Workgroups, et plus tard une version pour NT a été créée. Cette application héritée est toujours utilisée aujourd'hui, fonctionnant joyeusement sur les stations de travail 3.11 et NT du début des années 90. Cela fonctionne et il fait ce qu'il est censé faire, et la raison pour laquelle ils vivent toujours est que les pilotes pour certains des matériels personnalisés appartenant à la solution ne sont pas compatibles avec Windows plus tard.
Il existe également une application différente que j'ai maintenue pour les mêmes raisons, ne fonctionne que sur Win2k.
Cependant, à mesure que les choses évoluent, il devient de plus en plus difficile de gérer ces environnements hérités. En ce moment, je garde des machines physiques avec le logiciel de développement installé, donc je peux travailler sur du matériel natif. Mais ceux-ci peuvent mourir à tout moment (ils ont 25 ans après tout).
Donc ma question est, vu que c'est en 2016, quelles sont mes options pour maintenir cet environnement archaïque de manière plus stable? Pouvez-vous déplacer un 3.11 vers un hébergement cloud?
J'ai essayé la virtualisation, mais en raison de la nature spécialisée des configurations, je ne pouvais pas le faire fonctionner avec les pilotes de périphérique, donc je pense que l'on peut avoir besoin de faire une image complète du système d'exploitation tel quel, puis de l'exécuter dans un VM pour développer le logiciel? Une telle chose est-elle possible pour les versions de système d'exploitation invité aussi anciennes que Win3 et NT?
Y a-t-il une expérience dans le maintien en vie de plates-formes plus anciennes comme celles-ci pour le développement, mais de manière plus moderne et sécurisée, sur laquelle je peux puiser?
Mon objectif est de me débarrasser des anciennes machines physiques et de passer à la virtualisation.