E 'una buona idea usare un server da cucina per vari servizi?

2

Il mio (nuovo) team di sviluppo sta impostando il suo ambiente di sviluppo software. Non descriverò l'intero scenario, poiché è un'altra domanda molto diffamata .

Comunque, avremo servizi come il controllo del codice sorgente (mercuriale), un wiki, un tracker di problemi, un server di file / documenti, DNS e probabilmente altre cose. La mia domanda: è una buona idea mettere il maggior numero possibile di questi su una singola macchina server 'kitchen-sink'? O è meglio distribuirli quanto denaro, potere e spazio nella stanza del server?

Note:

  • So che alcune cose devono andare su un server diverso, come un edificio continuo / periodico, con un sacco di crunch coinvolti. Sto parlando delle cose (teoricamente) più leggere.
  • Il nostro team ha 4 persone, che dovrebbero crescere fino a raddoppiare il numero nei prossimi due anni.
  • Non stiamo per essere servizi "martellanti", per quanto ne so io.
  • L'hardware previsto per il server è un normale PC vaniglia, ~ $ 1.000 al massimo, forse con un SSD.
posta einpoklum 29.08.2013 - 19:15
fonte

2 risposte

7

TL; DR

Is it a good idea to use a kitchen-sink server for various services?

Non esiste una risposta universalmente corretta a questa domanda. È fondamentalmente una decisione aziendale basata sul budget che hai e sui problemi che stai cercando di risolvere.

Argomenti per la separazione dei servizi

Ci sono molte ragioni per separare i servizi, ma due dei principali motivi per separare i servizi sono:

  1. Isolamento del servizio.

    Assicurati che i guasti del sistema, l'esaurimento delle risorse o i difetti di sicurezza relativi a un servizio non riducano tutti gli altri. Ottimo anche per l'applicazione di una separazione dei compiti a livello di sistema.

  2. Pianificazione della capacità.

    Assicurati che i servizi non contendano risorse limitate come I / O su disco, memoria o CPU.

Argomenti per la combinazione di servizi

Mettere più servizi su un singolo host o cluster presenta anche alcuni vantaggi. Alcuni esempi specifici includono:

  1. Una potenziale riduzione dei costi delle attrezzature.

    Molto dipende dal fatto che sia necessario scalare come alternativa al ridimensionamento. Altrimenti, meno macchine sono generalmente più economiche.

  2. Minori oneri amministrativi.

    Meno macchine da gestire possono semplificare le attività amministrative e ridurre i costi amministrativi.

Sommario

Non è tutto-o-niente. Puoi fare molto per isolare i servizi e gestire il consumo di risorse in una singola scatola, e puoi anche usare strumenti e flussi di lavoro per ridurre i costi e gli oneri amministrativi man mano che scalate.

Determinare ciò di cui ha bisogno la tua squadra e ciò che speri di ottenere dalle tue scelte progettuali è generalmente il primo passo corretto. La cosa fondamentale è fare in modo che tutti i membri dell'organizzazione si trovino sullo stesso foglio di musica riguardo alle decisioni prese.

    
risposta data 29.08.2013 - 20:16
fonte
1
  1. Secondo me dipende in gran parte dal consumo delle risorse. Se un server è sovraccarico, potrebbe causare problemi. Quindi se hai una piccola squadra non vedo molti problemi.

  2. Se vuoi essere in grado di scalare questa infrastruttura è forse meglio tenere le cose separate.

  3. Se hai me, un ragazzo che ama la bellezza della grande macchina e dei motori, potresti divertirti con una configurazione bella e potente.

risposta data 29.08.2013 - 19:26
fonte

Leggi altre domande sui tag