10 Stimmen

Funktionale Server-Namenskonventionen

Ich habe gesehen " Die coolsten Server-Namen und ich habe eine andere gesehen kleinere Frage zu meiner, die leider geschlossen wurde.

Das ist eine ernsthafte Frage, denn ich gehöre zu einem internen Entwicklungsteam für Anwendungen, das die Anwendungen auf einigen Dutzend Servern verwaltet. Den Netzwerkleuten ist es in der Regel egal, wie wir die Server nennen, solange sie sie kennen, also können wir mit beliebigen Konventionen aufwarten.

Bei den Anwendungen, mit denen die Server zu tun haben, kann es sich um selbst entwickelte, benutzerdefinierte Anwendungen oder um größere Anbieter wie SharePoint handeln. Das können sie sein:

  • In mehreren Netzwerkumgebungen, die nicht miteinander kommunizieren können (z. B. externe Server mit Firewalls gegen Intranet-ähnliche Server)
  • An unterschiedlichen Standorten (Büro in Kalifornien gegenüber New York usw.)
  • In mehreren Bereitstellungsebenen (Produktion, Staging, Test, Entwicklung)
  • eine oder mehrere Funktionen haben (Webserver, DB-Server, Mailserver, Anwendungsserver)
  • Lastausgleich oder nicht
  • Standby (für Wiederherstellungszwecke) oder primär

Puh! Glauben Sie, dass es überhaupt möglich ist, eine Konvention zu finden, die all diese Aspekte oder wichtige Aspekte berücksichtigt? Es wäre schön, einen Servernamen (oder einen DNS-Eintrag dafür) zu hören und sofort zu wissen, was er tut, und es funktioniert auch, um neue Mitarbeiter einzuarbeiten. "sharepoint-IPC-1 ist ausgefallen" könnte in "der interne SharePoint-Produktions-Webserver im kalifornischen Rechenzentrum, der der erste Knoten im Lastausgleich ist, ist ausgefallen" umgewandelt werden... aber das scheint auf den ersten Blick zu kompliziert.

Eine andere Sache, die ich im Hinterkopf habe, ist, dass ein alter Mail-Relay-Server ausgemustert wird, was bedeutet, dass wir eine Menge alter Anwendungen durchforsten müssen, um hart kodierte Serverwerte neu zu setzen (ich weiß... :).

0 Stimmen

Abstimmen für Schließen als Nicht programmierbezogen - bitte verwenden Sie stackoverflow.com/questions/321618/ oder warten Sie, bis die IT-Version von stackoverflow verfügbar ist.

3 Stimmen

Das hat viel mit Programmierung zu tun: Die Art und Weise, wie Sie Server benennen, wirkt sich stark auf Ihre Entwicklungsumgebung aus.

5 Stimmen

Ich selbst bin mit knappen Abstimmungen nicht einverstanden; dies hat große Auswirkungen auf Entwickler, die mit einer Vielzahl von Servern jonglieren müssen, die ihnen auch gehören, und die versuchen, das Chaos zu verringern. Andere, die sich in dieser Situation befinden, würden die Antworten wahrscheinlich ebenfalls hilfreich finden.

13voto

William Brendel Punkte 30822

Hier sind einige allgemeine Richtlinien, an die ich mich aufgrund von Fehlern, die ich in der Vergangenheit gemacht habe, zu halten versuche.

Basieren Sie Ihre Maschinennamen niemals auf...

  • Hardware Maschinen werden ständig ausgetauscht, und Sie wollen nicht zu viel Arbeit haben, wenn Sie von einem IBM-Server zu einem Sun-Server zu einem Dell-Server wechseln.

  • Standort Geräte und sogar ganze Serverräume können aufgrund von Geschäftsanforderungen oder technischen Problemen verlegt werden.

  • Verwendungszweck Wenn sich Ihr Produkt weiterentwickelt, kann sich auch der Verwendungszweck der einzelnen Server ändern. Ein Rechner mit dem Namen "dbsrv", der letztendlich auch als Dateiserver fungiert, ist verwirrend.

  • Eigentümer Die Person, der das Gerät "gehört" (ein Angestellter), kann sich aufgrund von Entlassungen, Entlassungen und Umzügen innerhalb des Unternehmens ändern.

  • Teilnetz Wie ich bereits sagte, können Labore und Subnetze umziehen. Eines der Hauptziele von DNS ist es, Sie von der Bindung an eine bestimmte IP-Adresse zu befreien. Warum sollten Sie sich also unnötig binden?

Nun einige Vorschläge für die von Ihnen beschriebene Situation...

  • Über eine Region verteilte Maschinen Dafür sind Subdomains im DNS gedacht. Sie könnten "west.firma.com" und "east.firma.com" haben.

  • eine oder mehrere Funktionen haben Benennen Sie sie nicht nach dem Verwendungszweck. Wenn Sie sie nach einer großen Sammlung von Namen benennen - zum Beispiel nach griechischen Göttern -, werden Sie irgendwann intuitiv wissen, dass zeus.east für Ihren Master-Datenbankserver und apollo.west für Ihren Backup-Datenbankserver steht. Im schlimmsten Fall schlagen Sie es in einer Tabelle nach.

  • Lastausgleich oder nicht Sie können zwei Wege einschlagen. Sie können einen eindeutigen Namen für jeden Knoten hinter dem Load Balancer verwenden, oder Sie können etwas wie athena-1.east, athena-2.east usw. verwenden. So oder so, ein Load Balancer wird Sie (hoffentlich) davon befreien, sich zu viele Gedanken darüber zu machen, wie die einzelnen Knoten benannt sind.

  • Standby oder nicht Das klingt nicht nach einem Kriterium, das sich auf den Maschinennamen auswirken sollte.

Was ich damit sagen will, ist:

  1. Trennen Sie Ihre Geräte in verschiedene regionale Subdomains
  2. Wählen Sie ein Benennungsschema mit vielen Namen (in diesem Beispiel griechische Götter)
  3. Legen Sie die Namen nicht nach einem der oben genannten Kriterien fest (Verwendungszweck, Standort usw.).

Der Versuch, etwas zu tun más als dass das mehr Ärger bedeutet, als es wert ist.

0 Stimmen

+1 sehr gut, das wollte ich auch sagen, aber Ihre Antwort ist viel besser

5voto

Tamas Czinege Punkte 114595

Ich weiß, dass es verlockend ist, Servern Namen zuzuweisen, die ihre Funktionen und andere ähnliche Attribute beschreiben, und in einer perfekten Welt wird das auch funktionieren, aber in der Praxis habe ich festgestellt, dass diese Dinge nach einer Weile durcheinander geraten, da sich Funktionen und andere Parameter der Server ändern (da sich die Anforderungen des Unternehmens ändern), so dass die Namen nicht mehr der Realität entsprechen.

Ich denke, Sie sollten den Servern eindeutige Namen zuweisen, die nichts über die Funktion oder andere Parameter aussagen, und eine Art (aktuelle) Liste führen, in der diese Dinge aufgeführt sind, damit Ihre Mitarbeiter sie nachschlagen können. Das ist es, was wir hier tun.

Das andere Extrem ist die ausschließliche Verwendung von IP-Adressen oder von Namen, die auf IP-Adressen basieren, was ebenfalls zu einem Desaster führen kann, wenn Sie Ihre IP-Adressen ändern müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X