Compilare i file binari precompilati sulla macchina di produzione?

1

Ho fatto riferimento a Compilare e utilizzare le prestazioni dei binari predefiniti? . Il post parla di prestazioni e opportunità di ottimizzazione.

La mia domanda riguarda l'affidabilità.

Ho creato sia python che postgresql dal sorgente e stanno funzionando bene sul mio computer di sviluppo. Sto pensando di fare lo stesso nell'ambiente di produzione.

La compilazione per la produzione è uguale alla compilazione per l'ambiente di sviluppo?

In caso negativo, quali sono le precauzioni che devo prendere?

    
posta Rajkumar Rajendran 12.07.2015 - 11:49
fonte

2 risposte

3

Ci sono diversi compromessi che non sono immediatamente evidenti.

Eseguendo le tue build, sei responsabile di tenere traccia degli aggiornamenti a monte, in particolare per quanto riguarda la sicurezza.

Sei anche suscettibile di cambiamenti nel tuo ambiente che sarebbero stati gestiti nei pacchetti di distribuzione, ma devi ancora monitorare e reintegrare tali modifiche.

L'onere è anche su di te per verificare che i tuoi binari funzionino come dovrebbero sulla piattaforma di destinazione, in particolare se hai utilizzato impostazioni di build più aggressive.

A meno che non ci siano vantaggi evidenti per te (che richiedono versioni più recenti della distro, patch del sito necessarie, mancanza di connettività / fiducia), c'è ben poco da guadagnare da te stesso.

    
risposta data 12.07.2015 - 12:18
fonte
0

Ci sono rischi significativi se si crea il proprio pacchetto. Dovrai monitorare le modifiche a monte e tenerti aggiornato. (Altrimenti mancheranno sicurezza, funzionalità e cambiamenti di ottimizzazione.)

Invece di creare sul server di produzione, creare sul server di sviluppo e impacchettare il software per l'installazione sul server di produzione. Per molte distribuzioni, è possibile scaricare l'origine del pacchetto e creare il proprio pacchetto di distribuzione. Fai questo sul tuo server di sviluppo e distribuiscilo in produzione.

Mentre ci sono possibilità di ottimizzazione. È stata la mia esperienza molte ottimizzazioni in realtà rallentare le prestazioni. Hai bisogno dello stesso hardware per lo sviluppo e la produzione se stai costruendo e testando i tuoi pacchetti. (Diversi fattori possono causare ottimizzazioni che funzionano nello sviluppo fallire nella produzione e viceversa.)

Se hai davvero bisogno di una versione più recente in produzione, controlla la versione di backport. Anche se un backport non è disponibile, potrebbe essere possibile distribuire il pacchetto da una versione più recente del SO nell'ambiente corrente. Questo sarebbe più sicuro di costruire il tuo. Dovresti monitorare la distribuzione per gli aggiornamenti.

    
risposta data 12.07.2015 - 13:34
fonte

Leggi altre domande sui tag