Je suis en train de concevoir un moteur d'orchestration capable d'automatiser des tâches dans plusieurs environnements: les interfaces utilisateur Web JavaScript, les serveurs Web Python et les environnements d'exécution c. Une approche possible consiste à écrire le noyau d'orchestration dans chaque langue. Cela semble fragile car chaque nouvelle fonctionnalité du moteur devra être ajoutée à chaque langue prise en charge (et les bogues devront être résolus plusieurs fois, tout en traitant des idiomes différents dans chaque langue). Une autre approche consisterait à écrire le noyau une fois dans la langue du plus petit dénominateur commun (éventuellement c), puis à l'inclure dans les autres langues. Mais, je pense que le déploiement des bibliothèques compilées vers les navigateurs serait un cauchemar sinon impossible. Donc, une autre option que je considère est la génération de modèles et de code. Le moteur pourrait alors être écrit une fois (probablement en Python), et les flux de travail compilés à chaque cible en utilisant des modèles jinja.Génération de code pour plusieurs plates-formes
Cette dernière approche semble-t-elle faisable? Si je fais cette route, quels pièges devrais-je connaître? Devrais-je l'aspirer et écrire le moteur trois fois?
Voulez-vous dire que vous réimplémentez Chef ou Ansible? –
@JohnZwinck heh, bonne question! Je ne pense pas que je ne traite pas de la configuration du serveur et du déploiement des applications. Même si j'étais, les gens ont senti qu'il y avait place pour l'ansible et le sel;) mais non, c'est plus sur le traitement des données dans plusieurs temps d'exécution. – matthewatabet