Blog

Die Zukunft der Bereitstellung - Teil 2.5 Wie Sie Ihre virtuelle Appliance von der Entwicklung zur Produktion bringen

Robert van Loghem

Aktualisiert Oktober 22, 2025
6 Minuten
Virtuelle Appliance

In meinem letzten Beitrag "Die Zukunft der Bereitstellung, Teil 2" habe ich über das neue Ohr gesprochen, das ein Image mit einem Betriebssystem und Ihrer Anwendung ist. Bevor ich nun zu Teil 3 übergehe, in dem es darum geht, Ihre eigene virtuelle Appliance, auch bekannt als "das Image", zu erstellen, habe ich eine wichtige Sache vergessen zu erwähnen: Einige der Vorteile der Bereitstellung einer virtuellen Appliance und der Überführung von Ihrer eigenen Entwicklungs- in die Produktionsumgebung! und ich werde die Vorteile für Administratoren/Operatoren und Entwickler auflisten.

Bitten Sie und Sie werden Ihre Umgebung sofort erhalten :o Sie beginnen also mit der Entwicklung Ihrer neuen Anwendung "CuteAnimalPark" (ja, wir bei Xebialabs mögen Tiere ;) ) und Sie sprechen mit den Administratoren und bitten sie um 3 Umgebungen, Test, Acceptance und Production. Sie antworten natürlich: "Das ist in Ordnung, wir werden es zum Laufen bringen, wenn Sie Ihre Anwendung liefern können", auch bekannt als "virtuelle Appliance", und geben Ihnen einen Link, über den Sie das virtuelle Image herunterladen können, auf dem Sie Ihre Anwendung installieren können. Was ist hier also passiert? Nun, ich wollte 3 Umgebungen und bekam keine!? Aber ich habe ein Image erhalten, das in der Tat das Image ist, das in der Produktion laufen wird. Das Image ist gehärtet, die Sicherheit ist aktiviert, alle Benutzerkonten und Dateisystemrechte sind in Ordnung und es ist auf den realen Betrieb im Internet abgestimmt. Die Aufgabe der Operatoren ist es, dafür zu sorgen, dass Anwendungen in die Produktion gelangen und dort zuverlässig und schnell laufen. Sie sind diejenigen, die aus dem Bett geholt werden, wenn meine Anwendung um 3 Uhr morgens abstürzt. Deshalb möchten sie Ihnen ein Image zur Verfügung stellen, das mit dem Image identisch ist, das in der Produktion läuft. Das bedeutet, dass IMHO eine der Tagesaufgaben dieser Jungs und Mädels darin besteht, die Images (Betriebssystem + Middleware) für Anwendungen vorzubereiten und sie an die Entwicklungsteams weiterzugeben, damit diese wiederum virtuelle Appliances erstellen können.

Aktion #1 Besorgen Sie sich ein produktionsfähiges Image, auf dem Sie die Anwendung installieren können. Vorteil für Entwickler #1 Sie entwickeln und installieren auf einem System, das der Produktion sehr nahe kommt. Vorteil für Ops #1 Sie erhalten eine Anwendung, von der bekannt ist, dass sie auf einem Produktionssystem läuft.

Ausführen des Produktions-Images bzw. der virtuellen Appliance in anderen Umgebungen als der Produktionsumgebung Wenn Sie also die Anwendung auf dem Image installiert haben, müssen Sie sicherstellen, dass sie in anderen Umgebungen als der Entwicklungsumgebung verwendet werden kann. Sobald die Anwendung also in der Umgebung platziert ist, müssen Sie die URL und höchstwahrscheinlich auch den Benutzernamen und das Passwort der Datenquelle ändern, die die Anwendung verwendet, damit sie sich z.B. mit der Datenbank in der Testumgebung verbindet und nicht mit der MySQL-Datenbank des Entwicklers auf seinem lokalen Rechner. Das Ändern der Art und Weise, wie eine Anwendung eine Datenbank verwendet, sollte genauso einfach sein, indem Sie die Eigenschaften einer Datenquelle ändern. Die meisten JEE-Container machen dies ziemlich einfach, aber ich persönlich habe viele andere Eigenschaften gesehen, die sehr umgebungsspezifisch sind und sich in Property-Dateien in JAR-Dateien befanden, die geändert werden mussten, wenn die Anwendung von einer Umgebung in die andere verschoben wurde. Nicht so einfach also ;( Stellen Sie beim Entwurf und der Entwicklung Ihrer Anwendung sicher, dass die umgebungsspezifischen Eigenschaften leicht zugänglich sind und von Operatoren geändert werden können.

Aktion #2 für Entwickler Entwerfen und erstellen Sie Ihre Anwendung so, dass sie in mehreren Umgebungen existieren kann. Aktion #2 für Ops Dies gilt auch für Operatoren, die sich darüber im Klaren sein müssen, dass das von ihnen gelieferte Image in verschiedenen Umgebungen ausgeführt werden muss (verwenden Sie z.B. Hostnamen bei der Installation von Middleware und keine IP-Adressen). Vorteil für Entwickler #2 Ihre Anwendung ist portabel, sie kann fast überall hin verschoben werden und die Administratoren können dies ohne Ihre Hilfe tun Vorteil für Ops #2 Verschieben Sie Images ganz einfach dorthin, wo Sie wollen, verschieben Sie Dinge aus Ihrer privaten Cloud in die öffentliche, das wird viel einfacher! pro Anwendung.
Virtuelle Appliance bereitstellen

Nach diesem Schritt kann Ihre virtuelle Appliance in den verschiedenen Umgebungen eingesetzt werden, in denen natürlich eine Art Virtualisierungshypervisor eines bekannten Anbieters läuft. Jedes Mal, wenn die Appliance bereitgestellt wird, konfigurieren die Betreiber sie, bevor sie gestartet wird. Sie stellen sicher, dass die Datenquelle mit der richtigen Datenbank verbunden ist, dass die Warteschlangen mit dem richtigen Message Broker verbunden sind und so weiter.Nachdem Sie die Anwendung konfiguriert haben, können Sie den ganzen Haufen starten und sich im Ruhm sonnen. (Stellen Sie sicher, dass die Mitarbeiter wissen, wie man die Anwendung richtig startet und wie sie feststellen können, dass sie funktioniert) Der Fluss von der Entwicklung bis zur Produktion ist so einfach, aber warten Sie! Es gibt noch mehr, Problemlösungen? Hier noch einmal der Ablauf aus den 2 Absätzen oben: - Erhalten Sie ein produktionsähnliches Bild

  • Installieren Sie Ihre Anwendung darauf
  • Erlauben Sie es den Bedienern, Ihre virtuelle Appliance von der Test- in die Produktionsphase zu verschieben (ohne Ihre Hilfe zu benötigen). Aber natürlich kann in der Produktion auch etwas schief gehen. Ihre Anwendung könnte unter extremer Last zusammenbrechen oder eine Race Condition aufweisen, und Sie als Entwickler würden gerne auf die Produktion zugreifen und herausfinden, was los ist. Aber leider erlauben Ihnen die Betreiber nicht, auf die Produktion zuzugreifen. Höchstwahrscheinlich werden sie Ihnen die Logs, Thread- und Heap-Dumps schicken, aber das war's dann auch schon. Wäre es also nicht schön, wenn Sie auf die Produktion zugreifen könnten, wenn diese nicht in der Produktion verwendet wird? Mit der Virtualisierung können Sie einen Schnappschuss der Images erstellen, die in der Produktion laufen, ihn in Ihre lokale Entwicklungsumgebung übertragen und das Problem wirklich finden. Es ist zwar immer mühsam, echte Benutzeranfragen zu generieren, aber dies ist ein großer Schritt nach vorn, um herauszufinden, wo das Problem wirklich liegt.
    Aktion #3 Wann immer ein Problem mit einer Anwendung auftaucht, erstellen Sie einen Snapshot des Images und geben Sie dem Entwickler Zugriff darauf. Vorteil für Entwickler #3 Sie können der Ursache des Problems leichter auf den Grund gehen Vorteil für Ops #3 Sie müssen den Entwicklern immer noch keinen Zugriff auf die Produktion gewähren, wenn Sie das nicht wollen, sondern können ihnen einfach eine Kopie des aktuellen Produktionsstatus zur Verfügung stellen.

    Macht das Sinn? Das ist es, was meiner Meinung nach in 3-5 Jahren die größte Veränderung in der Art und Weise sein wird, wie wir eine Anwendung von der Entwicklung bis zur Produktion einsetzen. Wie ich bereits erwähnt habe, wird es in Beitrag 3 darum gehen, wie Sie dies mit den derzeit verfügbaren Tools von Xebialabs und VMWare selbst tun können.

Verfasst von

Robert van Loghem

I'm always interested in the latest and greatest when it comes to; communication, infrastructure, user experience and coming up with some crazy creative solution which might seem as a weird combination ;) I use and spread the word about multimedia (podcasts, vodcasts, movies, comics) to effectively communicate concepts, ideas, documentation, past experiences and so on. Furthermore i am heavy into infrastructure but then the middleware part, like HTTP servers, Application Servers, Messaging, Virtualization, etc... I get really enthousiastic if the infrastructure is clustered, highly available and is critical to doing business! I also like to do development and thus "i eat my own dogfood".

Contact

Let’s discuss how we can support your journey.