Effiziente Entwicklung mit Virtualisierung (Teil 2)

von Tobias Kraft

Der erste Teil des zum Thema „Effiziente Entwicklung mit Virtualisierung“ hat die Vorteile der Virtualisierung für die Entwicklung aufgezeigt und ESXi als eine mögliche Lösung vorgestellt. In diesem Teil wird auf die Einrichtung und Konfiguration der Virtualisierungs-Images eingegangen.

Konfiguration eines Virtualisierungs-Images

Jeder Entwickler besitzt ein eigenes, vorkonfiguriertes VMWare-Image. Die Entwicklungstätigkeiten von exensio sind überwiegend im Bereich von Java angesiedelt und deshalb wird aus Performance-Gründen auf Linux als Betriebssystem für die Entwicklung und damit auch für die Virtualisierung gesetzt.

Es gibt ein Master-Image, das mit entsprechender Software, wie Entwicklungsumgebungen, Datenbank-Zugriff-Tools oder Versionsverwaltungssoftware, vorkonfiguriert ist. Die relevanten, über SVN versionierten, Software-Projekte werden entsprechend auf dem Master-Image ausgecheckt. Des Weiteren werden auf dem Master-Image auch zeitaufwendige Konfigurationen, wie die Einrichtung einer Domäne für einen Applikationsserver, vorgenommen.

Jeder PC-Benutzer hat natürlich auch seine Vorlieben und Einstellungen auf einem PC, die er nicht missen möchte. Durch Anlage eines Accounts auf dem Master-Image für jeden Entwickler können individuelle Konfiguration vorgenommen werden.

Neben den Entwicklungs-Images gibt es einen zentralen DB-Server auf dem alle Datenbanken für die Entwicklung verfügbar sind. Der DB-Server ist wiederum selbst eine virtuelle Maschine. Die nachfolgende Abbildung zeigt beispielhaft die virtuellen Maschinen für die Entwicklung und die Datenbank. Hierbei ist auf der rechten Seite der Abbildung auch zu sehen, dass virtuelle Netzwerke für die einzelnen Maschinen eingerichtet wurden. Damit werden die virtuellen Maschinen Netzwerk-Ports zugeordnet, um zu verhindern, dass alle über den gleichen Netzwerk-Port des ESXi-Servers gehen.

Ausrollen der Virtualisierungs-Images für ein neues Projekt

Wie erfolgt nun das Ausrollen der Virtualisierungs-Images, wenn exensio mit einem neuen Projekt beginnt?
  1. Ggfs. noch nicht installierte Software wird auf dem Master-Image eingerichtet
  2. Basisstruktur wird in der Entwicklungsumgebung angelegt (z.B. Workspace konfigurieren, Eclipse-Projekte erstellen, Domaine für den App-Server erstellen und konfigurieren)
  3. Datenbank und SVN-Repository für das neue Projekt einrichten und auf Master-Image auschecken bzw. konfigurieren
  4. Einfaches clonen des Master-Images für jeden Entwickler, der am Projekt teilnimmt
  5. Der Entwickler muss nach dem Starten seines Images noch ein Script ausführen, in dem individuelle Anpassungen vorgenommen werden, wie das Setzen des Hostnamen oder Berechtigungen für seinen Login-Benutzer
Die vorangegangene Auflistung zeigt noch einmal deutlich die Zeitersparnis, dass nur eine Person die eher lästigen Schritte 1. bis 4. durchführen muss und die anderen Entwickler anschließend direkt loslegen können.

Zurück

© 2006-2024 exensio GmbH
Einstellungen gespeichert
Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
×
Irving Tschepke
Irving Tschepke
Dipl.-Wirtsch.-Ing.
Peter Soth
Peter Soth
Dipl.-Inform. (FH)
Wir antworten in wenigen Stunden.
Oder rufen Sie einfach an:
×
Irving Tschepke
Irving Tschepke
Dipl.-Wirtsch.-Ing.
Peter Soth
Peter Soth
Dipl.-Inform. (FH)
Wir antworten in wenigen Stunden.
Oder rufen Sie einfach an:
You are using an outdated browser. The website may not be displayed correctly. Close