2009-03-31 17 views
10

Widziałem "The Coolest Server Names" i widziałem inną smaller-ish question powiązaną z moją, która została niestety zamknięta.Konwencje nazewnictwa funkcjonalnych serwerów

To poważne pytanie, ponieważ pracuję w wewnętrznym zespole programistów aplikacji, który zarządza aplikacjami na kilkudziesięciu serwerach. Ludzie z sieci zwykle nie dbają o to, co nazywamy serwerami, o ile wiedzą o nich, więc możemy wymyślić wszelkie konwencje.

Aplikacje, z którymi mają do czynienia serwery, mogą być niestandardowymi aplikacjami w domu lub mogą być większe, takie jak SharePoint. Mogą to być:

  • W wielu środowiskach sieciowych, które nie mogą ze sobą rozmawiać (myślę zaporę wyłączania serwerów zewnętrznych serwerach intranetowych versus-owskiej)
  • w różnych lokalizacjach fizycznych (biuro California versus New York, etc .)
  • W wielu poziomach wdrażania (produkcja, inscenizacja, testowanie, dev)
  • mieć jedną lub wiele funkcji (serwer wWW, serwer DB, serwer pocztowy, serwer aplikacji)
  • z równoważeniem obciążenia lub nie
  • Czekaj (dla celów odzyskiwania po awarii) lub podstawowego

Whew! Czy można wymyślić konwencję, która poradzi sobie z tymi wszystkimi aspektami lub z ważnymi? Byłoby miło usłyszeć nazwę serwera (lub wpis DNS dla niego) i być w stanie natychmiast wiedzieć, co robi, i to działa na uzyskanie nowych facetów do prędkości, jak również. "sharepoint-IPC-1 jest wyłączony" mógłby zostać sparsowany na "wewnętrzny serwer SharePoint SharePoint w kalifornijskim centrum danych, który jest pierwszym węzłem w równoważeniu obciążenia!" ... ale na pierwszy rzut oka wydaje się to zbyt skomplikowane.

Inną rzeczą, o której myślę, jest to, że stary serwer przekazujący pocztę zostaje wycofany ze służby, co oznacza, że ​​musimy przeszukać wiele starych aplikacji, aby ponownie wyznaczyć zakodowane wartości serwera (wiem ... :).

+0

Głosowanie za zbliżone do niezwiązanego z programowaniem - skorzystaj z http://stackoverflow.com/questions/321618/where-can-i-ask-questions-that-arent-programming-questions lub poczekaj na wersję IT stackoverflow jest dostępny. –

+3

Bardzo wiele związanych z programowaniem: w jaki sposób serwer nazw wpływa na środowisko programistyczne. –

+5

Nie zgadzam się z bliskimi głosami; to bardzo wpływa na programistów, którzy muszą żonglować tonami serwerów, które również posiadają i próbują zmniejszyć chaos. Inni w tej sytuacji najprawdopodobniej uznają również odpowiedzi za pomocne. – Chris

Odpowiedz

13

Oto kilka ogólnych wskazówek, których staram się przestrzegać, na podstawie błędów, które popełniłem w przeszłości.

Nigdy oprzeć swoje nazwy komputerów na ...

  • Hardware Machines się wyswapowany cały czas, a nie chcesz mieć zrobić zbyt dużo pracy, jeśli zmieni się z IBM serwer, do serwera Sun, do serwera Dell.

  • Lokalizacja Sprzęt, a nawet całe serwerownie mogą być przenoszone w zależności od wymagań biznesowych lub problemów technicznych.

  • Zastosowanie zgodne z przeznaczeniem Wraz z ewoluowaniem produktu, możliwe jest wykorzystanie każdego serwera. Posiadanie maszyny o nazwie "dbsrv", ale w końcu działa również jako serwer plików, jest mylące.

  • Właściciel Osoba, która „posiada” sprzęt (pracownik) może się zmienić z powodu wypalania, zwolnień i przechodzi w firmie.

  • Podsiewa Jak już wcześniej wspomniałem, laboratoria mogą się poruszać, podobnie jak podsieci. Jednym z głównych celów DNS jest uwolnienie cię od przywiązania do konkretnego adresu IP, więc dlaczego niepotrzebnie się przywiązujesz?

Teraz kilka sugestii dotyczących sytuacji opisanej wy ...

  • Machines rozprzestrzeniają się w danym regionie To co subdomeny są w DNS. Możesz mieć "west.company.com" i "east.firma.com".

  • Masz jedną lub wiele funkcji Nie określaj ich na podstawie zamierzonego zastosowania. Jeśli wymienisz je na podstawie dużej kolekcji nazw - na przykład greckich bogów - w końcu intuicyjnie dowiesz się, że zeus.east oznacza twój główny serwer bazy danych, a apollo.west to zapasowy serwer bazy danych. Najgorszy przypadek, poszukaj go w arkuszu kalkulacyjnym.

  • Równoważenie obciążenia lub brak Możesz wykonać dwa podejścia. Możesz mieć unikalną nazwę dla każdego węzła za loadbalancerem, lub możesz zrobić coś takiego jak athena-1.ast, athena-2.ast, itd. Tak czy inaczej, load balancer (mam nadzieję) uwolni cię od martwienia się zbytnio o czym jest każdy węzeł.

  • Gotowość czy nie To nie brzmi jak kryterium, które powinno mieć wpływ na nazwę komputera.

Co mam w zasadzie mówią to:

  1. oddzielić sprzęt do różnych subdomen regionalnych
  2. Wybierz schemat nazewnictwa z dużą ilością imion greckich bogów (w tym przykładzie)
  3. Don nie opierają się na żadnym z powyższych kryteriów (zamierzone użycie, lokalizacja itp.)

Próba zrób wszystko, co jest więcej niż niż będzie to więcej kłopotów niż to warte.

+0

+1 bardzo dobrze, to właśnie zamierzałem powiedzieć, ale twoja odpowiedź jest o wiele lepsza –

5

Wiem, że kuszące jest przypisywanie nazw serwerom, które opisują ich funkcje i inne podobne cechy oraz w idealnym świecie, który będzie działał, ale w praktyce odkryłem, że po jakimś czasie te rzeczy są pomieszane jako funkcje i inne parametry serwerów zmieniają się (w miarę zmieniających się wymagań firmy), więc nazwy nie odzwierciedlają już rzeczywistości.

Myślę, że powinieneś przypisać unikalne nazwy serwerom, które nic nie mówią o funkcji lub innych parametrach, i mieć jakąś (aktualną) listę z wyszczególnieniem tych rzeczy, aby Twoi ludzie mogli je wyszukać. Właśnie to robimy tutaj.

Innym ekstremum jest używanie tylko adresów IP lub nazw opartych na adresach IP, co może prowadzić do katastrofy również, jeśli kiedykolwiek będziesz musiał zmienić swoje adresy IP.