Ich kenne das Problem selber. Geht es das benennen von Hardware oder Software bedient man sich gerne bei seinem Lieblingsuniversum. Sei dies Star Wars, Stargate oder auch die Simpsons. Dies kann aber zu Problemen führen.
So hat in einem Artikel ein IT Incident Response Berater klargestellt, das die Benamslung von Servern und sonstiger Hardware möglichst selbsterklärend sein sollte. Er hat keine Lust vor Ort bei einem Vorfall aushelfen zu müssen und jedes mal bei einem Namen nachfragen zu müssen, was dieser Server tut. Auch gilt zu beachten, das andere Personen nicht dein Wissen über die betreffenden Universen besitzen und somit Insidejokes oder Anspielungen auf die Aufgabe der Server nicht verstehen werden.
Fiktives Beispiel: Bei der Geschichte "Der Marsianer - Rettet Mark Watney" von Andy Weir wird ein geheimes Meeting einberufen, bei dem eine wichtige Entscheidung getroffen werden soll. Der Initiator gab dem Meeting den Codenamen "Elrond" als Anspielung auf Elronds Rat im ersten Buch von Herr der Ringe. Jedoch kennen nicht alle Teilnehmenden Herr der Ringe, was zu einer kurzen Diskussion und einem wütenden Ausspruch über Nerds führt.
Dies zeigt aber genau das Problem von gut gemeinten Anspielunge auf.
Ich bin nicht unschuldig
Am Anfang haben wir bei unseren Servernamen auch nicht immer den Ernst vorgezogen so hiessen unsere ersten drei Server: Frankenstein, Monster und Ghost. die Begründungen waren die folgenden
- Frankenstein: Dieser Server wurde in der Anfangszeit mehrfach neu aufgebaut mit jeweils neuer Hardware und Software
- Monster: Unser erster Server mit Serverhardware. Die CPU war ein EPYc mit 24 Kernen und 48 Threads. Die Leistung war im Vergleich zum Frankenstein mit seinen 6 Kernen und 12 Threads monströs
- Ghost: Hier hatte der Namen keinen direkten bezug zum Server, sondern wurde als passend zu den beiden anderen Servern gewählt
Keiner der drei Namen Sagt etwas über die Funktion oder den Standort des Servers aus. Diese drei Server tragen noch immer diese Namen. Vor allem, weil sie den wichtigsten Teammitglieder bekannt sind. Jedoch haben sie auch Namen, welche die Funktion betreffen, welche ich in der Dokumentation benutze. Die alten Namen beziehen sich noch auf die Hardware.
Der Kompromis
Aktuell sind die Servernamen funktionsbezogen, jedoch immer noch mit Insidejokes, aber ohne dass die erkennung der Server beeinflusst wird. So haben wir vier Server mit den Namen Nutanix1-4. Diese sind alte Nutanix Server, welche wir gespendes bekommen haben. Es läuft auch keine Software von Nutanix darauf. Jedoch haben sie vorne gross das Nutanix Logo drauf und sie beheimaten immer noch ein Hypervisorcluster
Anderes Beispiel sind die Server ODST1-4. Diese gehörden dem Ceph-Cluster an. Dort wird die Funktion, welche sich um die Dateträger kümmert, OSD genannt. Zum einen habe ich zum Teil leichte Legasthenie und war während der Inbetriebnahme von am lesen von Romanen aus dem Halo Universum. In der Dokumentation sind die Server mit OSD1-4 versehen. Auch die Hostnamen sind auf diese Namen gesetzt. Nur die Hardware ist aussen mit ODST angeschrieben.
Der ideale Weg.
Bei meinem vorherigen Arbeitgeber habe ich ein System zur besseren Beschriftung kennen gelernt. So Bestand der Namen dort aus sieben Buchstaben und einer Laufnummer. Der Aufbau war wie folgt:
- Zwei Buchstaben für das Land
- Zwei Buchstaben für den Standort
- Drei Buchstaben für die Kategorie
- Laufnummer zur Unterscheidung
Dies sicherte eine einfache Erkennung der Funktion sowie eines groben Standorts. Die Firma gehört einem Weltweiten Konzern an, wehalb die Angabe von Land und Standort erklärt.
Wichtige Fragen
Solltest du in der Position ein neues Namensschema einzuführen, solltest du dir die Antowrten zu den folgenden Fragen überlegen
- Wies sieht das Wachstum der Firma aus? Könnten weiter Standorte und Länder hinzukommen.
- Auf wie viele Standort wird die Hardware verteillt stehen? Dies müssen nicht nur verschiedene Gebäude sein. Es könnten auch mehrere Serverstandorte im gleichen Gebäude geben. Diese im Namen zu unterscheiden kann sinnvoll sein.
- Die Namen sollten leicht merkbar sein. So ist es besser gängige Landesbezeichnungen zu verwenden anstatt einen numerischen Code. Auch die Funktionsbezeichnungen sollten Abkürzungen sein und nicht zufällige Zeichenkombinationen.
- Sollte die Laufnummer über führende Nullen verfügen, was der Bezeichnung eine fixe länge geben würde. Dann müsste jedoch die zukünftige Anzahl an Geräten abgeschätzt werden. Was je nach Firma schwierig werden kann.
Ein wichtiger Grundsatz ist dabei "err on the side of cation". Lieber eine führende Null mehr in der Laufnummer, als das die Namen von hunderten Geräte angepasst werden müssten. Oder schlimer es Bezeichnungen mit unterschiedlichen Längen gibt.
Nimm lieber eine Standorbezeichnung auf, auch wenn im Moment ein Wachstum auf weiter Standorte nicht vorgesehen ist. Sollte es in 5-10 Jahren doch soweit sein, so bist du darauf vorbereitet und musst nicht das Konzept überarbeiten. Eine Standortbezeichnung kann zu beginn auch einen Hinweis auf das Land beinhalten. Somit ist eine Landesbezeichnung eher zweitranging, vorallem wen die Firma noch keinen zweiten Standort besitzt.