Ho un cliente che preferirebbe ospitare la propria applicazione su Linux. Tuttavia, i miei colleghi e io abbiamo pochissima esperienza con Linux. Questo è un progetto breve con un budget basso, quindi fare scelte che risparmiano tempo e denaro non sono solo desiderati, sono un must. Siamo inoltre impegnati nell'integrazione e nell'automazione continue, molte delle quali sono già state comprese in Windows e possono essere riutilizzate da progetti precedenti. Detto questo, fare in modo che il team di sviluppo apprenda Linux e ricostruisca la nostra automazione in modo che possiamo sviluppare sullo stesso ambiente a cui intendiamo implementare, molto probabilmente non un'opzione praticabile. (Per un progetto più grande, forse, ma non questo.) Il team è abbastanza familiare con Python che scrivere l'applicazione in Python è un'opzione valida (anche se gran parte del nostro sviluppo è fatto in .NET. ), anche se avremmo bisogno di capire un buon meccanismo di packaging che può essere eseguito su Windows ed essere trasferito su una macchina Linux. Non prevedo di aver bisogno di librerie non disponibili su Windows. Molto probabilmente, avremo bisogno solo di psycopg
e sqlalchemy
in termini di librerie con componenti nativi.
Tutto ciò rende la nozione di avere sviluppatori che creano l'applicazione su Windows, la distribuzione in un ambiente di testing Linux, e quindi spingere alla produzione dopo test approfonditi sembrano un'opzione piuttosto allettante, ma sono scettico a riguardo. Linux e Windows sono sistemi operativi molto diversi, e sono preoccupato per i trucchi che potrebbero insinuarsi e rendere la vita molto difficile. Ci sono dei veri dubbi nel fare ciò (oltre le tipiche differenze nel percorso dei file e altre cose comuni facilmente risolte con buone pratiche di codifica)? Penso che molti provider di hosting condiviso stiano su Linux e non riesco a immaginare che tutti quelli che li usano si siano sviluppati su Linux negli ultimi tre anni. Questo è fatto più comunemente di quanto io sappia?