Costruire una rete Linux per la nostra azienda - Da dove iniziare?


16

Questa sarà una domanda piuttosto carica. Sto programmando in una società che esiste dal 1962. Molte cose, in particolare roba per computer / rete, sono molto datate. Vorrei dare un po 'più di sfondo.

La società gestisce già un server Windows. Sul server, molti computer hanno file nelle unità di rete condivise e ci sono anche alcuni programmi. Questo è il modo in cui viene concesso un ampio accesso dell'azienda a cose come la contabilità e l'inventario e come vengono condivisi i file. Sfortunatamente, non c'è mai stato un forte amministratore di sistema che abbia avuto un ruolo in nessuno dei progetti. Il sistema di contabilità è in esecuzione su Foxpro. I file sono totalmente caotici. I dipendenti sembrano conoscere il modo in cui si muovono in generale, ma per crescere e ridimensionare, dobbiamo rapidamente occuparci di questa rete. Alcune delle cose che vedo la necessità di:

  • Un database relazionale, accessibile tramite tutti i computer della rete che memorizzerà:
    • File (es. Disegni, citazioni, immagini di progetti completati, ecc.)
    • Dipendenti (quindi possiamo iniziare a fare cose come l'immissione computerizzata di time card)
    • Fatture, pagamenti e inventario
    • Gestione password
    • Tracciamento del lavoro

Vorrei creare applicazioni personalizzate in cima a questo database per alimentare tutto e creare API che consentano ai nostri siti Web di interagire con i nostri contenuti interni. Ovviamente devo lasciare intatti i sistemi esistenti mentre ne costruisco di nuovi. Vengo da uno sfondo web ... e mi sento molto a mio agio con Unix (ho amministrato dozzine di server che servono siti Web), PHP e sviluppo front-end. Mi piacerebbe attenermi a quelle tecnologie open source che già conosco bene.

La domanda più grande nella mia mente è da dove cominciare. Compro un server rack e inizio a creare una rete totalmente nuova? Spingo tutti nella nuova rete una volta pronti o provo a utilizzare entrambi contemporaneamente in qualche modo e migrare lentamente dalla vecchia?

Mi rendo conto che questo potrebbe essere un progetto che richiede un anno o più. Apprezzerei davvero alcune indicazioni: qualsiasi risorsa sulla progettazione del sistema, come iniziare, qualunque cosa. Sono disposto a mettermi al lavoro - ho solo bisogno di aiuto per creare una visione.


3
Se hai già server Windows, perché vuoi server Linux?
Jim B,

2
@Jim B, per alcuni motivi: nessuna spesa per le licenze, affidabilità, implementazione della rete che abbia un senso, abbandono della tecnologia meno dirompente, niente incubi nel registro, nessuno scambio di MS ...
Mike Pennington

4
@ Mike - Non ho intenzione di convincerti in entrambi i modi, ma mi chiedo quanto tempo è passato da quando hai recensito Windows? Server 2008, a parte le ovvie spese di licenza, soddisfa i criteri sopra menzionati. Solo un pensiero: sono parzializzato, tuttavia, perché sono un ragazzo di Windows. Rende l'integrazione tra desktop Windows e server un gioco da ragazzi, mentre potresti sbattere la testa cercando di integrare desktop Windows in un server * nix per condivisioni e autenticazione ecc.
Mark Henderson

3
Non so praticamente nulla di Microsoft. Tutta la mia esperienza di amministratore di sistema è in Unix ... e la adoro. E come ha detto Mike ...
Calvin Froedge,

1
Qualcuno ha esperienza con il server PMI? wiki.contribs.org/SME_Server:About
Calvin Froedge

Risposte:


13

Per favore, non offenderti, ma ti consiglio vivamente di portare una società di consulenza IT locale specializzata in sistemi e amministrazione di rete. Sono anche venuto da un background di programmazione molte lune fa e ho imparato molte lezioni difficili su cosa fare e cosa non fare nella gestione di un ambiente server in rete. (Per fortuna) ho avuto molti mentori e aiuti nel corso degli anni, perché senza di essa, chissà che tipo di rottame fumante sarebbe lasciato indietro.

Passando ora alla tua domanda originale: vedo due errori, uno è Linux: non fraintendermi, adoro Linux e lo uso in tutti i tipi di vari ruoli, ma come unico server in una piccola azienda che (di nuovo , senza offesa) non ha un amministratore di sistema a tempo pieno che chiede problemi. Trovare amministratori Linux competenti (ed è ancora più difficile trovare quelli che seguono le migliori pratiche) non è facile. Lungo la strada, se lasci o assumi una nuova persona per assumere i tuoi doveri, chi se ne occuperà?

Supponendo che tu abbia meno di 75 utenti finali, consiglierei vivamente lo standard Microsoft Small Business Server 2011 su hardware di livello 1 solido (come Dell, HP, IBM) con una garanzia di sostituzione di 3 anni in loco / 4 ore. Disponi almeno di un array con mirroring RAID 1 per i dati (e un altro per il sistema se puoi permetterlo). Ottieni almeno 8 GB di RAM, 12 GB è meglio. Investi in un backup offline / off-site: puoi iniziare con un paio di unità esterne o un'unità nastro, ma qualcosa che puoi portare fuori sede ogni sera.

Inoltre, non sono venduto su tuo suggerimento per un database "all-in-one" personalizzato: ci sono così tante opzioni software migliori e più praticabili là fuori che a meno che tu non abbia alcuni requisiti di nicchia molto specifici che solo una soluzione personalizzata può fornire , sarebbe molto meglio utilizzare un'offerta di terze parti ben supportata. Devi resistere alle sollecitazioni del programmatore "Posso scrivere qualcosa" e pensare a supportare questa soluzione a lungo termine.

E infine, penso che tu e il tuo datore di lavoro dovete decidere quale sarà il vostro ruolo in questa azienda. Sembra che tu sia nuovo lì e mentre hai ragione, probabilmente hanno bisogno di aggiornare i loro sistemi, non vuoi mordere più di quanto puoi masticare e non riuscire a fornire tutto ciò che è stato assunto lì fare.

MODIFICARE

Ci sono molte opinioni che fluttuano in questo momento, quindi ho intenzione di fare un passo indietro e spero di fornirti alcuni consigli indipendenti dalla piattaforma che ti saranno utili indipendentemente da ciò che finirai con:

  1. Fare un inventario completo di tutti i sistemi e dispositivi; controlla lo stato della garanzia dell'hardware (se si tratta di un Dell, IBM, ecc. dovresti essere in grado di utilizzare il tag di servizio per ottenere un controllo della garanzia; se si tratta di un server white box, potrebbero comunque avere una sorta di identificatore, ma avrai chiamare per scoprire quale sia lo stato più probabile).

  2. Fai un inventario completo di dati: non fidarti di non avere dati sui loro dischi C:; probabilmente lo fanno, in realtà probabilmente hanno file PST in tutto il posto della vecchia posta. Scopri cosa è fondamentale, cosa viene eseguito il backup, cosa non viene eseguito il backup, come viene eseguito il backup e se qualcosa viene portato fuori sede o meno. FISSA QUESTA PRIMA. PROPRIO ADESSO. Se non hanno una configurazione di backup, vai a comprare un'unità USB esterna in un negozio Big Box per ora e usa NTBackup (probabilmente è già su quel server) e fai un backup completo e portalo fuori sede. Se il backup è attivo, esegui un ripristino di prova (vedi sotto).

  3. Controlla i livelli di patch su tutti i sistemi (ordina prima il n. 2!): Non solo gli aggiornamenti di Windows, ma soprattutto Java e tutti i prodotti Adobe e aggiorna di conseguenza (potresti voler fare prima il n. 4 in modo da sapere quali macchine hanno la priorità più alta rispetto ad altre vale a dire che quella workstation per il personale part-time potrebbe sopportare un aggiornamento maledetto molto più del contabile che taglia gli assegni salariali).

  4. Parla con i tuoi utenti: scopri cosa funziona bene, cosa non funziona, fatti un'idea del livello di tolleranza ai cambiamenti di tutti, del loro livello di comfort con l'IT (potresti assumere un assistente per mettere in ordine le cose) e qualsiasi lista dei desideri possano avere. Comprendere i loro processi aziendali; come amministratore di sistema, la tua priorità dovrebbe essere quella di garantire che i sistemi da cui l'azienda dipende per funzionare funzionino correttamente e per farlo, devi sapere come tutti usano questi sistemi.

  5. Dopo il n. 1, dovresti avere un'idea di come configurare la rete. Cerca eventuali vecchi hub che possono essere sostituiti; ti consigliamo almeno 10/100 ovunque, per quanto riguarda l'interruttore. Controlla il firewall / router (assicurati che ce ne sia uno), controlla eventuali punti di accesso wi-fi aperti, ecc.

Se segui la strada per Linux, mantieni una distro ben supportata dalla community (Ubuntu sarebbe una buona scelta) e configurala su qualunque hardware tu possa permetterti (come sai, un box LAMP potrebbe essere un off- affittare la workstation P4 per ora) e il più isolato possibile dal sistema attualmente funzionante. Come esercizio di apprendimento (e potrebbe pagare enormi dividendi in uno scenario di ripristino di emergenza), cerca di far funzionare prima le applicazioni principali in esecuzione sul server corrente su un'altra finestra di Windows: usa il backup completo che hai fatto in # 2 per fare un test di ripristino; divertiti con quello :)

Per quanto riguarda la configurazione del test, puoi scegliere di acquistare qualcosa di robusto con molta RAM e quindi puoi virtualizzare (ESXi è gratuito, così è XenServer, quindi è VirtualBox) ma se il server corrente è Windows 2003 o precedente, probabilmente puoi ottenere quell'applicazione FoxPro che funziona su una workstation Windows XP off-lease a basso costo.

Ora tamponati sulla schiena; ora hai buoni backup; hai anche eseguito un ripristino di prova e ora hai una migliore comprensione di come tutto funziona insieme. Probabilmente avrai anche un (lungo) elenco TODO prioritario che ti terrà occupato per il prossimo futuro.

Oh, e quando è tutto fatto, ora hai un ambiente di test che puoi iniziare a costruire il tuo sistema "da sogno" utopico ... o magari fare una vacanza :)


2
Vivo in una città con 2000 persone. L'interstatale più vicino è a un'ora di distanza. Non c'è nessuno tranne me. È un'azienda di famiglia, mio ​​nonno ha iniziato, quindi non sto guardando questo dal punto di vista dei dipendenti. Voglio quello che costruirà il business. Ho gestito una società di consulenza web per un paio d'anni ma recentemente l'ho venduta e sono tornata a casa per essere coinvolta. Nessuna offesa.
Calvin Froedge,

1
Siamo a 40 utenti finali. Dovrò controllare l'hardware esistente. Come ho detto, dato che non ho esperienza con Windows, mi spaventa =)
Calvin Froedge,

Ancora più motivo per non percorrere questa strada; avrai le mani piene a fare qualsiasi altra cosa come workstation, telefoni, stampanti, calcolatrici (forse non calcolatrici, ma sarai il ragazzo con tutte le batterie di riserva nel tuo ufficio).
gravyface,

2
Microsoft SBS Server è un rock; supportiamo dozzine in città senza personale IT in loco. Quando vengono chiamati i nostri ragazzi di break / fix, il 99% delle volte non ha nulla a che fare con il server, ma "Sally ha eliminato un'e-mail, puoi ripristinarla?" o "Word si è bloccato, puoi recuperare il mio file?"
gravyface,

1
Non quello che ho sentito: "settimane di servizio degradato" theregister.co.uk/2011/05/13/microsoft_bpos_apology
gravyface

6

Mentre in genere preferisco Linux sul lato server, questa non è sicuramente una di quelle situazioni. Resta con Windows e non conoscerai mai gli orrori della gestione delle autorizzazioni di Windows con gli ACL POSIX. Non scaricare i file nei database e i tuoi backup saranno molto più facili. Costruisci un ambiente Active Directory pulito e avrai il tempo di pranzare a lungo invece di cambiare le password degli utenti in una dozzina di posti ogni volta che li dimenticano.

In realtà stai cercando di reinventare tutti i tipi di ruote qui:

  • File in un database - Sharepoint.
  • Monitoraggio del tempo dei dipendenti: probabilmente lo fanno un centinaio di prodotti software diversi.
  • Password - Active Directory (qualsiasi prodotto software che si rispetti eseguirà l'autenticazione con AD)
  • Contabilità - Great Plains o simili.

E ti garantisco che se provi a scrivere tutto da zero, invece, la tua azienda perderà più denaro, i tuoi utenti ti odieranno e la sicurezza del tuo lavoro sarà notevolmente ridotta.


Fantastico, grazie per il feedback. Questo ha sicuramente senso.
Calvin Froedge,

Qualche idea sulla migrazione da FoxPro a Great Plains?
Calvin Froedge,

FoxPro è un database / ambiente di sviluppo (tipo di cosa pre-accesso / VB). Se il programma funziona / fa tutto ciò di cui hanno bisogno, lo sposterei e manterrei buoni backup fino a quando non avessi il tempo di migrarlo su un altro pacchetto software (che da solo sarà un'esperienza dolorosa).
gravyface,

3

Volevo aspettare un po 'per vedere cosa rispondevano gli altri, ma da quello che posso ricavare dalle tue domande e risposte avrei avuto difficoltà a giustificare la costruzione di un'infrastruttura server. Vorrei dare un'occhiata alla soluzione per le piccole imprese di Office 365 ( http://www.microsoft.com/en-us/office365/online-software.aspx ) che suona come se fosse esattamente ciò di cui hai bisogno. Non hai esperienza nella gestione di Windows Server ma chiaramente sei a tuo agio con i prodotti MS. Per tutte le attività di database che si desidera eseguire, è possibile utilizzare sharepoint per (si ottiene anche l'accesso a MS online per quelle esigenze leggere ma personalizzate) Il costo per utente inizia da $ 6. E se stai cercando di visitare Dynamix Great Plains anche questo è disponibile in una soluzione ospitata (ecco un google scelto -http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx ).

In poche parole, penso davvero che sia una chiamata difficile per una piccola impresa senza molta esperienza giustificare le spese necessarie per possedere la propria infrastruttura.

AGGIORNARE:

c'è stato qualcosa che mi ha infastidito in questa domanda e finalmente mi sono reso conto che stai cercando di risolvere un problema tecnico piuttosto che di problemi di business. Ad esempio, nel post originale menzionate che desiderate archiviare i file in un database. Perché? C'è qualche motivo commerciale per farlo? Cosa c'era di sbagliato con la condivisione file? Penso che prima di considerare cose come le scelte di piattaforma e software, sarebbe logico dare un'occhiata alle esigenze aziendali e valutare quali sono le potenziali soluzioni per ogni serie di requisiti.


Tranne se hai qualche tipo di latenza sulla tua connessione Internet ... e se tutto è nel cloud, vorrei connessioni Internet ridondanti perché ora non puoi fare nulla a livello locale ... e se sei preoccupato per la privacy dei dati ... o se hai applicazioni legacy che non sono disponibili come offerta in hosting / cloud ... o se hai file di grandi dimensioni da condividere ...
gravyface

La latenza non è un problema per il 99% delle applicazioni poiché quasi tutte utilizzano l'archiviazione locale per memorizzare nella cache sia l'app che le modifiche ai dati. I file di grandi dimensioni in realtà tendono ad essere più veloci nel cloud perché l'applicazione generalmente non invia l'intero documento che carica solo una vista.
Jim B,

Ho avuto intenzione di provarlo, ma sono sempre un po 'cauto con le nuove tecnologie (e perché mi piace l'approccio ibrido, specialmente per le aziende esistenti ...).
gravyface,

L'ibrido funziona in modo molto più costoso e, a meno che non si disponga di motivi normativi, non si acquista nulla, dal momento che (almeno finora) le interruzioni vengono recuperate prima che si possa mettere in produzione la propria infrastruttura interna.
Jim B,

1

Mi aspetto che una delle persone più esperte ed eloquenti qui scriva un post davvero lungo e autorevole in risposta alla tua domanda. Tuttavia, ecco il mio miglior colpo:

Passo 1: fai qualche ricerca, conta il numero di utenti, la quantità totale di dati, come viene protetto dai guasti? Passaggio 2: inventario dell'hardware esistente, contare tutto, server, router, switch, si spera senza hub). Passaggio 3: (Il mio preferito personale) Decidi se puoi scaricare alcuni servizi a un fornitore esterno in modo conveniente. Ad esempio, per le piccole organizzazioni ospitate la posta elettronica è una buona cosa non doversi preoccupare delle spese generali di gestione. Passaggio 4: determinare quale hardware e software sono necessari per mantenere le normali attività commerciali e se esistono problemi esistenti come spazio di archiviazione, prestazioni, ecc. Passaggio 5: individuare un piano per risolvere i problemi esistenti.

Dovrai trovare un equilibrio tra ciò di cui la tua azienda ha bisogno, ciò che vuoi (per semplificare il tuo lavoro) e ciò che sta bene nel mezzo. Se fossi in me, inizierei dall'infrastruttura e mi assicurerei che l'instradamento e la commutazione siano solidi (leggi: non hub da 10 MB). Quindi misurerei l'età del "server" e pianificherei di sostituirlo con una coppia di partner ridondanti. Se un singolo server ha svolto il lavoro per anni, probabilmente una buona coppia di sistemi farebbe bene il suo lavoro.

Per quanto riguarda la migrazione degli utenti, è semplicemente una questione di pianificazione. Come ho detto, inizia prendendo l'inventario.


Ho già ricevuto tutte le e-mail sul cloud di Rackspace e sui siti Web, quindi non devi preoccuparti di queste cose. Fare l'inventario e conoscere meglio la rete esistente suona come un solido primo passo =) Grazie per il tuo feedback.
Calvin Froedge,

Ho rinunciato a suggerire di assumere un consulente perché hai indicato che sei disposto a dedicare del tempo. Puoi anche prendere in considerazione l'idea di ottenere alcuni libri di base sui sistemi e sulla gestione della rete.
SpacemanSpiff

1

Se fossi in te inizierei in piccolo e farei miglioramenti incrementali che non costano altro che tempo.

Ho fatto qualcosa di simile a quello che stai dicendo più di 10 anni fa. Sebbene abbiamo iniziato con 7 dipendenti e siamo cresciuti fino a un picco di 30 dispari. Non esisteva un sistema IT, quindi l'ho messo insieme.

Il sistema che ho installato e mantenuto fino a circa 5 anni fa (a parte tutti i recenti aggiornamenti) è ancora in uso oggi e la società è ancora operativa. Ad un certo punto, era tutto Linux, ma principalmente perché non potevamo permetterci un server Windows.

Ora è un server Windows con AD e DNS interno per fornire la risoluzione per le stampanti locali e così via. Un router / firewall che in realtà è freebsd e sta eseguendo la scansione della posta ecc. Anche se potresti cavartela usando pfsense o molto meno.

A proposito, Linux è fantastico, ma Samba è un vero mal di testa e anche se configurato correttamente e funziona come dovrebbe non funzionare quasi come fa Windows Server! All'epoca mancavano importanti funzionalità e credo che lo siano ancora. Quindi fatevi un favore e andate con Windows Server.

Non aggiornare il sistema contabile a meno che non sia necessario. Non aggiustare ciò che non ha rotto. Soddisfare l'azienda ha bisogno di OK? o in caso contrario, considera un aggiornamento a qualcos'altro.

Organizzare i file è semplicemente una questione di fornire una certa gestione di condivisioni e cose e insegnare alle persone dove collocare le cose. Può essere solo un processo manuale. Non metterli in un database, ti pentirai di averlo fatto. Con un database, il backup e il ripristino diventano difficili. Cosa succede se si perde un file e si desidera ripristinare solo un singolo record contenente quel file? nel frattempo hai aggiunto altri record .. ora devi unirti per riavere indietro un file!


1
Ora soddisfa le esigenze ... ma uno dei problemi principali è che i nostri dati non sono abbastanza ricchi. Non abbiamo abbastanza informazioni su ciascun prodotto. Deve davvero essere ripulito. Per quanto riguarda l'archiviazione dei file di database, suppongo che avrei dovuto dire che volevo i riferimenti in un database, in modo da poter taggare le foto, aggiungere descrizioni, classificarle e cercarle. Le immagini / i video verrebbero comunque archiviati nel file system. Quanto tempo hai impiegato per costruire il tuo server? Hai qualche esperienza con il server PMI? wiki.contribs.org/SME_Server:About
Calvin Froedge

Stai vendendo prodotti online? dai un'occhiata alla costruzione di una catelog con Magento o simili. È possibile mantenere la catelog attraverso di essa, comprese tutte le immagini del prodotto.
Matt,

Stiamo vendendo prodotti online ... ma non costruirò MAI un sito Web con Magento. Voglio lavorare per una straordinaria soluzione di e-commerce .... ma mi piacerebbe costruirla e controllarla da solo.
Calvin Froedge,

Magento era solo un suggerimento. Perché reinventare la ruota? con molte di queste soluzioni di e-commerce open source hai tutto il codice sorgente disponibile. Sono stato in grado di creare un sito Web di e-commerce molto semplice con Magento in un paio di settimane. Se lo avessi fatto da zero, non avrebbe avuto tante funzioni o sarebbe stato costruito più velocemente o sarebbe costato meno. Il cliente ha il controllo su ciò che ha inserito e non ha bisogno di un programmatore per mantenerlo. Credo che sia folle dire "Voglio fare tutto da zero". Costruisci qualcosa in cui non è necessario un programmatore per mantenere il catalogo.
Matt,

Utilizzare un framework con una libreria di e-commerce. Vorrei persino usare Wordpress prima di Magento. O shopify. Se stai costruendo siti di e-commerce con Magento, ti consiglio vivamente di guardarti intorno per vedere quali altre opzioni hai. Ho iniziato con oscommerce e Magento e sì è veloce ma ottieni quello per cui paghi =)
Calvin Froedge

1

I miei 2 centesimi a meno che la tua attività non sia consulenza IT. Sarebbe meglio spendere il ROI perché l'azienda guidasse la tecnologia e non viceversa. Se vuoi che un laboratorio costruisca un laboratorio ma se vuoi sfruttare la tecnologia per far crescere la tua attività, assumi un consulente, il TCO è inferiore.

@Calvin Abito in un posto così. I nostri consulenti venivano dalla regione, a 2-3 ore di distanza. Principalmente lavorano in remoto quando abbiamo avuto un problema, ma vengono sul posto per realizzare l'implementazione del progetto.

(nota dello scrittore: mi arrabbio nell'usare termini come ROI e TCO ma IMHO sono rilevanti qui).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.