VMWARE → STACKIT · ARCHITEKTUR

Anwendungsabhängigkeiten vor einer VMware-Migration abbilden

Ein RVTools-Export sagt, welche VM an welcher Portgruppe hängt. Er sagt nicht, dass Billing die CRM-Datenbank liest, dass zwei Anwendungen einen Message Broker teilen oder dass niemand weiß, wer den FTP-Server nutzt. StackToIT baut Wellen aus der ersten Art von Fakten und übernimmt die zweite von Ihnen, als ausdrückliche Anwendungsdatei. Diese Seite zeigt die Grenze zwischen beiden an einer Demo-Umgebung mit sieben VMs und vergleicht vier Wege, die Lücke zu schließen.

Was der Export zeigt und was er nur andeutet

Ein Demo-Export, am 4. November 2026 von StackToIT bewertet. Links: vier vInfo-Zeilen; die letzten Spalten enthalten die Notiz, die ein Administrator getippt hat. Rechts: engineering/review-edges.csv, die vollständige Liste der Abhängigkeiten, die der Lauf abgeleitet hat.

BeispieleingabeRVTools_tabvInfo.csv
VM,Powerstate,Template,CPUs,Memory,NICs,Disks,Provisioned MiB,In use MiB,Primary IP Address,Datacenter,Cluster,Host,Folder,Annotation,OS according to the configuration file,OS according to the VMware Tools,VM UUID
crm-web01,poweredOn,False,4,8192,1,1,61440,24000,10.60.10.11,DC-Koeln,CL-Core,esx41,crm,CRM web tier - calls crm-app01 on 8443,Ubuntu Linux (64-bit),Ubuntu 22.04.4 LTS,4209-eeee-0001
crm-app01,poweredOn,False,8,16384,2,2,163840,70000,10.60.20.21,DC-Koeln,CL-Core,esx41,crm,CRM application server - reads crm-db01 and mq01,Red Hat Enterprise Linux 9 (64-bit),Red Hat Enterprise Linux 9.4,4209-eeee-0002
crm-db01,poweredOn,False,8,32768,1,2,614400,380000,10.60.30.31,DC-Koeln,CL-Core,esx42,crm,PostgreSQL 15 - also used by billing-app01,Debian GNU/Linux 12 (64-bit),Debian GNU/Linux 12,4209-eeee-0003
billing-app01,poweredOn,False,4,16384,1,1,102400,40000,10.60.20.41,DC-Koeln,CL-Core,esx42,billing,Billing batch - reads crm-db01 and writes files to fs01,Red Hat Enterprise Linux 9 (64-bit),Red Hat Enterprise Linux 9.4,4209-eeee-0004
Ausgabe von StackToITengineering/review-edges.csv
from_unit,to_unit,architect_verdict (correct|wrong|missing),comment
vm.billing-app01,network.PG-App,,
vm.crm-app01,network.PG-App,,
vm.crm-app01,network.PG-Data,,
vm.crm-db01,network.PG-Data,,
vm.crm-web01,network.PG-Web,,
vm.fs01,network.PG-Data,,
vm.legacy-ftp01,network.PG-App,,
vm.mq01,network.PG-App,,
  • Kanten führen von der VM zur Portgruppe

    Alle acht Kanten enden an einem Netzwerk. crm-app01 hat zwei Adapter und daher zwei Kanten, eine zu PG-App und eine zu PG-Data. Eine Kante von billing-app01 zu crm-db01 gibt es nicht.

  • Die Notiz wird nicht als Verbindung gelesen

    Aussagen wie „also used by billing-app01“ stehen im Freitext. Der Lauf führt die Notiz jeder VM unter den Eigenschaften, die er nicht übernimmt, und kann daher aus Text keine Kante machen.

  • Die Datei hat einen Platz für Ihre Korrektur

    Die dritte Spalte, architect_verdict, nimmt „correct“, „wrong“ oder „missing“ auf. Halten Sie dort Kanten fest, die der Lauf nicht sehen konnte, damit die Prüfung sie behält.

Vier Wege, Abhängigkeiten zu finden

Keiner ersetzt die anderen. Sie unterscheiden sich darin, was sie sehen und was sie Sie kosten.

MethodeWas sie sehen kannWas fehlt oder kostet
Netzwerkzugehörigkeit (was StackToIT ableitet)Welche VMs an welcher Portgruppe hängen und welches STACKIT-Netzwerk daher bereitstehen muss, bevor die jeweilige VM umziehtAufrufe zwischen VMs im selben oder in verschiedenen Netzwerken. Günstig, aber als alleinige Grundlage der Wellenplanung falsch.
Interviews mit Verantwortlichen und NotizenDie Absicht: welche VM zu welcher Anwendung gehört und wer verantwortlich istNur, woran sich Menschen erinnern. Schnell zu beginnen und die Quelle der Anwendungsdatei.
Beobachteter Verkehr aus Ihren NetzwerkwerkzeugenVerbindungen, die niemand aufgeschrieben hat, etwa ein alter FTP-Server, der noch Dateien erhältBraucht einen Erfassungszeitraum, der Monatsende und Batchläufe abdeckt. Die Daten stammen weder aus RVTools noch von StackToIT.
Konfigurationsmanagement oder CMDBDeklarierte Beziehungen zwischen Diensten und HostsBei den ältesten Maschinen, um die Sie sich sorgen, oft veraltet.

Eine praktische Reihenfolge: mit Notizen und Verantwortlichen beginnen, VMs Anwendungen zuordnen und das Ergebnis dann vor jedem Cutover gegen beobachteten Verkehr prüfen.

Geben Sie dem Lauf Ihre Anwendungsgrenzen

Die Anwendungsdatei gruppiert Einheiten über Selektoren. StackToIT leitet weder Verantwortung noch Kritikalität aus Namen ab. Links: die Datei dieses Laufs. Rechts: migration/waves.csv mit gefüllter Spalte application.

Anwendungsdateiapplications.yaml
applications:
  - id: crm
    name: CRM
    selectors:
      - vm.crm-*
    environment: production
    owners:
      business: sales
      technical: crm-platform
    business_criticality: high
    availability:
      rto: 4h
      rpo: 15m
      downtime_tolerance: 1h
  - id: billing
    name: Billing
    selectors:
      - vm.billing-*
    environment: production
    owners:
      business: finance
      technical: billing-platform
    business_criticality: critical
    availability:
      rto: 2h
      rpo: 5m
      downtime_tolerance: 30m
Ausgabe von StackToITmigration/waves.csv
wave,wave_state,unit,type,module_call,presence,class,confidence,application,application_status,proposed_group
1,MEMBER,network.PG-App,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
1,MEMBER,network.PG-Data,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
1,MEMBER,network.PG-Web,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.billing-app01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,billing,CONFIRMED,
2,MEMBER,vm.crm-app01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.crm-db01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.crm-web01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.fs01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.legacy-ftp01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.mq01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
  • Zugeordnet und nicht zugeordnet

    crm trifft drei VMs, billing eine. mq01, fs01 und legacy-ftp01 bleiben UNASSIGNED. Sie gehören noch keiner Anwendung an, und genau diese Liste gehört auf den Tisch der Verantwortlichen.

  • Wellen bleiben netzwerkgetrieben

    In migration/waves.csv bilden die drei Netzwerke Welle 1 und alle sieben VMs Welle 2, unabhängig von der Anwendungsdatei (der Migrationsplan nennt dieselbe Reihenfolge als Netzwerk- und Workload-Welle, mit eigener Nummerierung). Die Anwendungsgruppierung ändert den Zuschnitt des Berichts, nicht den Abhängigkeitsgraphen.

  • Wiederanlaufziele wie geschrieben

    RTO, RPO und Ausfalltoleranz aus der Datei werden so übernommen, wie Sie sie geschrieben haben. Fehlende Werte bleiben NOT_PROVIDED und werden nicht angenommen.

Die gemeinsamen Teile und die Entscheidung, die jedes erzwingt

VMWas die Umgebung sagtEntscheidung des Architekten
crm-db01PostgreSQL, notiert als auch von billing-app01 genutztMit CRM umziehen und Billing bis zu dessen Umzug einen Netzwerkpfad lassen, oder beide in einer Welle umziehen. Der Lauf sieht beides nicht.
mq01Message Broker, genutzt von CRM und BillingIhn bewusst einer Anwendung zuordnen oder als gemeinsamen Dienst in die erste Welle seiner Nutzer legen.
fs01Dateiserver mit SMB-Freigaben für Billing und BüroSeine Clients sind keine VMs im Export. Finden Sie die Clients, bevor die Welle feststeht.
legacy-ftp01Notiz: niemand weiß, wer ihn nutzt; CentOS 7Erst Verkehr beobachten, dann stilllegen oder umziehen. Keine unbekannte Abhängigkeit ungeprüft in eine Welle tragen.

In diesem Lauf löst das Gastsystem von legacy-ftp01 eine Warnung zum Support-Ende aus, ein Grund, früh nachzufragen.

Die Abhängigkeitsliste in Zieldesign übersetzen

  1. Anwendungsdatei schreiben

    Ein Eintrag je Anwendung mit Selektoren für ihre VMs, Verantwortlichen und Wiederanlaufzielen. Nicht zugeordnete Einheiten im Bericht sind Ihre offenen Fragen.

  2. Fehlende Kanten festhalten

    Tragen Sie jede VM-zu-VM-Beziehung, von der Sie erfahren, als „missing“ mit Kommentar in review-edges.csv ein. So bleibt das Wissen neben dem Plan.

  3. Netzwerkregeln ableiten

    Auf STACKIT wirken Security Groups über die Netzwerkschnittstellen: Eingehender Verkehr ist standardmäßig gesperrt, außer von Mitgliedern derselben Gruppe; ausgehender Verkehr ist standardmäßig offen. Der Entwurf schreibt für eine VMware-Umgebung keine Security Group; jede bestätigte Beziehung wird daher zu einer Regel, die Sie schreiben.

  4. Geteilte Platten beachten

    Ein STACKIT-Datenvolume hängt immer nur an einer VM. Eine VM, die eine Platte mit einer anderen teilt, braucht ein anderes Design als ein einfacher Volume-Umzug. Die Spalte „Sharing mode“ im Blatt vDisk zeigt es; in dieser Umgebung steht jede Platte auf sharingNone.

  5. Wellen entlang der Anwendungen schneiden

    Ziehen Sie eine Anwendung als Ganzes um, wenn sie auf einer Seite laufen kann. Kann sie es nicht, planen Sie den Netzwerkpfad zwischen beiden Seiten als Teil der Welle.

Fragen zur Abhängigkeitsanalyse

Erkennt StackToIT Anwendungsabhängigkeiten?

StackToIT leitet ab, welche VMs eine Portgruppe teilen, und ordnet Wellen danach. Abhängigkeiten zwischen Anwendungen kommen aus Ihrer Anwendungsdatei und aus der Prüfung.

Kann RVTools Netzwerkverkehr zeigen?

Nein. Der Export beschreibt Maschinen, Platten und Adapter. Verkehr muss aus Ihren Netzwerkwerkzeugen kommen und liegt außerhalb dessen, was StackToIT liest.

Was passiert mit VMs, die ich keiner Anwendung zuordne?

Sie bleiben im Plan und in den Summen. Das Executive Brief führt sie als Einheiten, die keiner Anwendung angehören: In diesem Lauf tragen sie 15 manuelle Schritte, alle im Plan und in seinen Summen.

Ändern Abhängigkeiten die Klasse einer VM?

Nein. Alle sieben VMs sind RECONFIGURE, wie auch immer sie verbunden sind. Abhängigkeiten ändern Reihenfolge und Gruppierung der Arbeit, nicht die Klasse.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.