To będzie nieco obciążone pytanie. Programuję w firmie, która istnieje od 1962 roku. Wiele rzeczy, szczególnie komputerowych / sieciowych, jest bardzo przestarzała. Pozwól, że podam trochę więcej tła.
Firma już obsługuje serwer Windows. Na serwerze wiele komputerów ma pliki na współdzielonych dyskach sieciowych, a także niektóre programy. W ten sposób zapewniony jest szeroki dostęp firmy do księgowości i zapasów oraz sposób udostępniania plików. Niestety, żaden sysadmin nigdy nie grał roli w żadnym projekcie. System księgowy działa na Foxpro. Pliki są całkowicie chaotyczne. Wygląda na to, że pracownicy znają się na rzeczy, ale aby się rozwijać i skalować, musimy szybko opanować tę sieć. Niektóre z rzeczy, które widzę w potrzebie:
- Relacyjna baza danych dostępna za pośrednictwem wszystkich komputerów w sieci, w której będą przechowywane:
- Pliki (tj. Rysunki, cytaty, zdjęcia zakończonych projektów itp.)
- Pracownicy (wtedy możemy zacząć robić takie rzeczy, jak skomputeryzowane wprowadzanie karty czasu)
- Faktury, płatności i zapasy
- Zarządzanie hasłami
- Śledzenie pracy
Chciałbym zbudować niestandardowe aplikacje na bazie tej bazy danych, aby zasilić wszystko i zbudować interfejsy API, które pozwalają naszym stronom internetowym na interakcję z naszymi wewnętrznymi sprawami. Oczywiście muszę pozostawiać istniejące systemy nietknięte, gdy buduję nowe. Pochodzę z środowisk internetowych ... i bardzo dobrze czuję się w Uniksie (administrowałem dziesiątkami serwerów obsługujących strony internetowe), PHP i programowaniu front-end. Chciałbym trzymać się technologii open source, które już dobrze znam.
Największe pytanie w mojej głowie brzmi: od czego zacząć. Czy kupuję szafę serwerową i zaczynam budować zupełnie nową sieć? Czy spycham wszystkich do nowej sieci, gdy są gotowi, czy próbuję jakoś korzystać z obu jednocześnie i powoli migruję ze starej?
Zdaję sobie sprawę, że może to być projekt trwający rok lub dłużej. Byłbym wdzięczny za pewne wskazówki - wszelkie zasoby dotyczące projektowania systemu, jak zacząć, cokolwiek. Jestem gotów włączyć się w pracę - potrzebuję tylko pomocy w stworzeniu wizji.
źródło
Odpowiedzi:
Nie obrażaj się, ale zdecydowanie sugeruję, abyś przyprowadził lokalną firmę konsultingową IT specjalizującą się w administrowaniu systemami i siecią. Pochodziłem także ze środowiska programistycznego wiele księżyców temu i nauczyłem się wielu trudnych lekcji na temat nakazów i zakazów zarządzania środowiskiem serwerów sieciowych. Przez całe lata miałem (na szczęście) wielu mentorów i pomoc, ponieważ bez nich, kto wie, jaki rodzaj tlącego się wraku zostałby w tyle.
Przejdźmy teraz do twojego pierwotnego pytania: widzę dwa błędy, jednym z nich jest Linux: nie zrozum mnie źle, uwielbiam Linuksa i używam go do różnego rodzaju ról, ale jako jedyny serwer w małej firmie, która (znowu , bez obrazy) nie ma pełnoetatowej sysadmin prosi o kłopoty. Znalezienie kompetentnych administratorów Linuksa (a jeszcze trudniej jest znaleźć takich, którzy postępują zgodnie z najlepszymi praktykami) nie jest łatwe. Jeśli odejdziesz lub zatrudnisz nową osobę do przejęcia obowiązków, kto będzie się nią opiekował?
Zakładając, że masz mniej niż 75 użytkowników końcowych, zdecydowanie polecam Microsoft Small Business Server 2011 Standard na solidnym sprzęcie poziomu 1 (takim jak Dell, HP, IBM) z 3-letnią gwarancją na miejscu / 4 godziny na wymianę. Posiadaj przynajmniej lustrzaną macierz RAID 1 dla danych (i drugą dla systemu, jeśli możesz sobie na to pozwolić). Uzyskaj co najmniej 8 GB pamięci RAM, 12 GB jest lepsze. Zainwestuj w kopię zapasową offline / poza witryną: możesz zacząć od kilku zewnętrznych dysków lub napędu taśmowego, ale coś, co możesz zabrać ze sobą co wieczór.
Nie jestem również sprzedany na twoją sugestię dotyczącą niestandardowej bazy danych „wszystko w jednym”: istnieje tak wiele lepszych, bardziej wykonalnych opcji oprogramowania, że o ile nie masz bardzo specyficznych wymagań niszowych, które może zapewnić tylko niestandardowe rozwiązanie , lepiej byłoby skorzystać z dobrze obsługiwanej oferty innej firmy. Musisz się oprzeć zaleceniom programisty „Mogę coś napisać” i pomyśleć o długoterminowym wspieraniu tego rozwiązania.
I wreszcie myślę, że ty i twój pracodawca musicie zdecydować, jaką rolę będziecie pełnić w tej firmie. Wygląda na to, że jesteś tam nowy i chociaż masz rację, prawdopodobnie potrzebują uaktualnienia swoich systemów, nie chcesz odgryźć więcej, niż możesz przeżuć i nie dostarczysz niczego, do czego zostałeś tam zatrudniony robić.
EDYTOWAĆ
W tej chwili krąży wiele opinii, więc zrobię krok do tyłu i mam nadzieję, że udzielę kilku niezależnych od platformy porad, które przydadzą ci się bez względu na to, z czym skończysz:
Wykonaj pełny spis wszystkich systemów i urządzeń; sprawdź status gwarancji sprzętu (jeśli jest to Dell, IBM itp.) powinieneś być w stanie użyć tagu serwisowego, aby uzyskać sprawdzenie gwarancji; jeśli jest to serwer białych skrzynek, mogą one nadal mieć jakiś identyfikator, ale będziesz mieć zadzwonić, aby dowiedzieć się, jaki jest najbardziej prawdopodobny status).
Wykonaj pełną inwentaryzację danych: Nie ufaj, że nie mają danych na dyskach C:; prawdopodobnie tak, w rzeczywistości prawdopodobnie mają pliki PST w całym miejscu starej poczty. Dowiedz się, co jest najważniejsze, co jest archiwizowane, co nie jest archiwizowane, w jaki sposób jest archiwizowane i czy coś jest usuwane poza witrynę, czy nie. NAPRAW TĄ PIERWSZĄ. TERAZ. Jeśli nie mają konfiguracji kopii zapasowej, kup teraz zewnętrzny dysk USB w sklepie Big Box i użyj NTBackup (prawdopodobnie już na tym serwerze) i zrób pełną kopię zapasową i zabierz ją ze sobą. Jeśli mają kopię zapasową, przejdź do przywracania testowego (patrz poniżej).
Sprawdź poziomy poprawek we wszystkich systemach (najpierw posortuj numer 2!): Nie tylko aktualizacje systemu Windows, ale szczególnie Java i wszystkie produkty Adobe, i odpowiednio je zaktualizuj (najpierw warto zrobić numer 4, aby wiedzieć, które maszyny mają wyższy priorytet niż inne) np. ta stacja robocza dla pracownika zatrudnionego w niepełnym wymiarze godzin mogłaby znieść znacznie bardziej nieudaną aktualizację niż księgowy, który odcina kontrole płac).
Porozmawiaj z użytkownikami: dowiedz się, co działa dobrze, a co nie, sprawdź poziom tolerancji zmian dla każdego, poziom komfortu w IT (możesz rekrutować pomocnika, aby uporządkować sprawy) oraz listy życzeń, które mogą mieć. Zrozumieć ich procesy biznesowe; jako sysadmin Twoim priorytetem powinno być zapewnienie, że systemy, na których funkcjonuje firma, działają w dobrym stanie i aby to zrobić, musisz wiedzieć, w jaki sposób wszyscy korzystają z tych systemów.
Po # 1 powinieneś mieć pojęcie o konfiguracji sieci. Poszukaj wszelkich starych koncentratorów, które można wymienić; będziesz chciał co najmniej 10/100 wszędzie, pod względem przełączania. Sprawdź zaporę / router (upewnij się, że istnieje), sprawdź, czy nie ma otwartych punktów dostępu Wi-Fi itp.
Jeśli pójdziesz drogą Linuksa, trzymaj się dystrybucji, która jest dobrze wspierana przez społeczność (Ubuntu byłby dobrym wyborem) i skonfiguruj ją na dowolnym sprzęcie, na jaki Cię stać (jak wiesz, pudełko LAMP może być off- dzierżawić na razie stację roboczą P4) i jak najbardziej odizolować od aktualnie działającego systemu. Jako ćwiczenie edukacyjne (które może przynieść ogromne dywidendy w scenariuszu odzyskiwania po awarii), spróbuj najpierw uruchomić podstawowe aplikacje działające na bieżącym serwerze na innym systemie Windows - użyj pełnej kopii zapasowej wykonanej w punkcie 2, aby wykonać przywracanie testowe; baw się dobrze :)
Jeśli chodzi o konfigurację testową, możesz zdecydować się na zakup czegoś mocnego z dużą ilością pamięci RAM, a następnie możesz wirtualizować (ESXi jest bezpłatny, podobnie jak XenServer, podobnie jak VirtualBox), ale jeśli bieżący serwer to Windows 2003 lub starszy, prawdopodobnie możesz uzyskać ta aplikacja FoxPro działa na nieleasingowej stacji roboczej z systemem Windows XP.
Teraz poklep się po plecach; masz teraz dobre kopie zapasowe; wykonałeś również przywracanie testowe i teraz lepiej rozumiesz, jak wszystko działa razem. Prawdopodobnie masz również (długą) priorytetową listę rzeczy do zrobienia, które zapewnią ci zajęcie w dającej się przewidzieć przyszłości.
Aha, a kiedy wszystko się skończy, masz teraz środowisko testowe, możesz zacząć budować swój utopijny system „marzeń” ... a może wziąć urlop :)
źródło
Chociaż ogólnie wolę Linuksa po stronie serwera, zdecydowanie nie jest to jedna z takich sytuacji. Trzymaj się Windows, a nigdy nie poznasz horrorów związanych z zarządzaniem uprawnieniami Windows za pomocą list ACL POSIX. Nie zrzucaj plików do baz danych, a tworzenie kopii zapasowych będzie znacznie łatwiejsze. Zbuduj czyste środowisko Active Directory, a będziesz mieć czas na długie obiady zamiast zmieniać hasła użytkowników w kilkunastu miejscach za każdym razem, gdy je zapomną.
Naprawdę próbujesz wymyślić tutaj wszystkie rodzaje kół:
Gwarantuję ci, że jeśli zamiast tego spróbujesz napisać wszystko od zera, Twoja firma straci więcej pieniędzy, użytkownicy będą cię nienawidzić, a bezpieczeństwo pracy znacznie się zmniejszy.
źródło
Chciałem trochę poczekać, aby zobaczyć, na co odpowiedzieli inni, ale z tego, co mogę zebrać z twojego pytania i odpowiedzi, trudno byłoby mi w ogóle uzasadnić budowę infrastruktury serwerowej. Chciałbym rzucić okiem na rozwiązanie Office 365 dla małych firm ( http://www.microsoft.com/en-us/office365/online-software.aspx ), które wydaje się dokładnie tym, czego potrzebujesz. Nie masz doświadczenia w zarządzaniu serwerem Windows, ale najwyraźniej masz komfort korzystania z produktów MS. Do wszystkich zadań związanych z bazą danych, które chcesz wykonać, możesz użyć programu SharePoint (możesz także uzyskać dostęp do MS przez Internet dla tych lekkich, ale niestandardowych potrzeb) Koszt na użytkownika zaczyna się od 6 USD. A jeśli chcesz przejść na wielkie równiny Dynamix, nawet to jest dostępne w hostowanym rozwiązaniu (oto jeden wybrany przez Google -http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx ).
Krótko mówiąc, naprawdę uważam, że jest to trudna decyzja dla małego biznesu bez dużej wiedzy specjalistycznej, aby uzasadnić wydatki niezbędne do posiadania własnej infrastruktury.
AKTUALIZACJA:
coś mnie niepokoi w tym pytaniu i w końcu dotarło do mnie, że szukasz rozwiązania technicznego problemu, a nie problemów biznesowych. EG wspominasz w oryginalnym poście, że chcesz przechowywać pliki w bazie danych. Dlaczego? Czy istnieje jakiś powód biznesowy? Co było nie tak z udostępnianiem plików? Myślę, że zanim zastanowisz się nad wyborem platformy i oprogramowania, warto przyjrzeć się potrzebom biznesowym i ocenić, jakie są potencjalne rozwiązania dla każdego zestawu wymagań.
źródło
Spodziewałbym się, że jedna z bardziej wytrawnych i elokwentnych osób napisze tutaj naprawdę długi i autorytatywny post w odpowiedzi na twoje pytanie. Oto jednak moja najlepsza próba:
Krok 1: Czy niektóre badania, liczą użytkowników, całkowitą ilość danych, w jaki sposób są chronione przed awarią? Krok 2: Inwentaryzuj istniejący sprzęt, policz wszystko, serwery, routery, przełączniki (mam nadzieję, że nie ma koncentratorów). Krok 3: (Mój osobisty faworyt) Zdecyduj, czy możesz odciążyć niektóre usługi zewnętrznemu dostawcy w opłacalny sposób. Na przykład w przypadku małych organizacji hostowana poczta e-mail to dobra rzecz, aby nie martwić się o koszty ogólne zarządzania. Krok 4: Określ, który sprzęt i oprogramowanie są wymagane do utrzymania normalnej działalności oraz czy istnieją jakiekolwiek problemy, takie jak miejsce do przechowywania, wydajność itp. Krok 5: Opracuj plan rozwiązania istniejących problemów.
Będziesz musiał znaleźć równowagę między tym, czego potrzebuje Twoja firma, tym, czego chcesz (aby ułatwić Ci pracę), a tym, co ładnie leży pomiędzy nimi. Gdybym to był ja, zacznę od infrastruktury i upewnię się, że routing i przełączanie są solidne (czytaj: nie koncentratory 10 MB). Następnie oceniłbym wiek „serwera” i planowałem zastąpić go parą zbędnych partnerów. Jeśli pojedynczy serwer wykonał to zadanie od wieków, ładna para systemów prawdopodobnie wykonałaby to zadanie dobrze.
Jeśli chodzi o migrację użytkowników, to po prostu kwestia planowania. Tak jak powiedziałem, zacznij od inwentaryzacji.
źródło
Gdybym był tobą, zacząłbym od drobnych ulepszeń, które kosztowałyby tylko czas.
Zrobiłem coś podobnego do tego, co mówisz ponad 10 lat temu. Chociaż zaczęliśmy od 7 pracowników i osiągnęliśmy szczyt 30 dziwnych. Nie było systemu informatycznego, więc go poskładałem.
System, który wówczas wprowadziłem i utrzymywałem około 5 lat temu (oprócz wszystkich ostatnich aktualizacji) jest nadal w użyciu i firma nadal działa. W pewnym momencie był to cały Linux, ale głównie dlatego, że nie było nas stać na serwer Windows.
Teraz jest to serwer Windows z AD i wewnętrznym DNS, który zapewnia rozdzielczość dla lokalnych drukarek i tak dalej. Router / zapora sieciowa, która w rzeczywistości jest freebsd i skanuje pocztę itp., Chociaż możesz uniknąć użycia pfsense lub znacznie mniej.
Nawiasem mówiąc, Linux jest świetny, ale Samba to prawdziwy ból głowy, a nawet jeśli jest poprawnie skonfigurowany i działa tak, jak powinien, nie działa tak dobrze, jak serwer Windows! W tym czasie brakowało ważnych funkcji i uważam, że nadal są. Więc zrób sobie przysługę i skorzystaj z systemu Windows Server.
Nie aktualizuj systemu rachunkowości, chyba że naprawdę potrzebujesz. Nie naprawiaj, co się nie zepsuło. Czy to odpowiada firmie potrzebuje OK? a jeśli nie, to rozważ uaktualnienie do czegoś innego.
Porządkowanie plików polega po prostu na zapewnieniu zarządzania udziałami i rzeczami oraz nauczeniu ludzi, gdzie je umieścić. Może to być po prostu proces ręczny. Nie umieszczaj ich w bazie danych, będziesz tego żałować. W przypadku bazy danych tworzenie kopii zapasowych i przywracanie staje się trudne. Co się stanie, jeśli stracisz plik i po prostu chcesz przywrócić pojedynczy rekord zawierający ten plik? w międzyczasie dodałeś inne rekordy ... teraz musisz się połączyć, aby odzyskać jeden plik!
źródło
Moje 2 centy, chyba że Twoja firma to doradztwo IT. Zwrot z inwestycji lepiej byłoby, gdyby firma napędzała technologię, a nie na odwrót. Jeśli chcesz zbudować laboratorium, ale jeśli chcesz wykorzystać technologię do rozwoju firmy, zatrudnij konsultanta, całkowity koszt posiadania jest niższy.
@Calvin Mieszkam w takim miejscu. Nasi konsultanci przybyli z regionu, w odległości 2-3 godzin. Przeważnie działają one zdalnie, gdy mieliśmy problem, ale przychodzą na miejsce, aby wykonać projekt.
(uwaga autora: marudzę, używając terminów takich jak ROI i TCO, ale IMHO są tutaj istotne).
źródło