Inspiré par la vieille conversation de Hacker News sur ce site Web, je me demande:
Ubuntu et Mono pourraient-ils exécuter un site Web ASP.NET MVC comme Ask Ubuntu?
La technologie est au centre ici au lieu du site. Pourriez-vous remplacer IIS, ASP.NET, MVC, etc. par des technologies libres et open source sans avoir à redévelopper complètement le site?
Note d'Oli : La méta- discussion (c'est-à-dire: Ask Ask Ubuntu migrera-t-elle vers Ubuntu + Mono?) A été déplacée vers une question distincte dans la partie méta du site Web
Réponses:
Je n'ai pas la base de code pour Ask Ubuntu, donc je ne peux pas vraiment dire s'il y a quelque chose de particulièrement spécifique à la plate-forme qui causerait un bloqueur mais en réponse à pouvez-vous le migrer , la réponse est probablement oui .
Vous devez garder à l'esprit que la plate-forme sur laquelle les sites Web ASP.NET sont assis est plus qu'un binaire ASP.NET magique:
ASP.NET peut être largement remplacé par Mono. Ce n'est pas toujours joli et les performances ne sont pas toujours excellentes mais cela peut être fait.
ASP.NET MVC est le moteur de création de modèles. Il se trouve normalement au-dessus d'ASP.NET mais il peut fonctionner sur Mono avec quelques modifications.
IIS pourrait être supprimé assez simplement, permettant aux gestionnaires personnalisés que SO exécute, le remplaçant par Apache (et al).
La base de données est techniquement la plus grande partie de l'ensemble. Dans les cas simples, où vous utilisez un bon code, bien sûr. Extrayez la base de données et remplacez-la. Spécifiquement pour ici, l'arrangement en cluster des serveurs MSSQL qui exécute les sites StackExchange pourrait probablement être porté sur MySQL (ou autre) mais cela nécessiterait probablement un travail important car il y a probablement une bonne partie du code spécifique à la DB qui se cache, soit dans la base de données lui-même ou (moins probable) dans le site lui-même. La plupart des faffings de données basés sur le code et spécifiques à la base de données appartiennent au passé grâce à LINQ, que Mono prend en charge (pour les bases de données non-SQL Server également).
Ce n'est en aucun cas une liste définitive de ce qui serait remplacé, mais ce sont les principaux éléments.
Que vous le vouliez ou non ... C'est une question plus difficile. Au moment où vous aviez cherché quelques dizaines de problèmes, vous êtes probablement déjà au point où vous auriez pu réimplémenter le système dans quelque chose comme Django. Bien sûr, cela dépend de la complexité du système. C'est aussi dur qu'un bout de ficelle.
la source