Menschen, die in einem Raum sitzen und am Deployment einer Software arbeiten
Phase der Softwareentwicklung

Deployment

Hast du dich schon mal gefragt, was der Unterschied zwischen einer neuen Version, einem Release und dem Launch einer Software ist? Damit du für das Thema Deployment gut gewappnet bist, lernst du hier, welche Schritte notwendig sind, um Software produktiv zu schalten und zu aktualisieren.

  • HauptartikelSoftware-Entwicklung

  • Lesezeit5 Minuten

Das Wichtigste zusammengefasst

  • Das Deployment zielt darauf ab, die entwickelte Software auf dem Zielsystem zu installieren und lauffähig zu machen.
  • Eine Software-Version ist ein Entwicklungsstand zu einem bestimmten Zeitpunkt. Ein Release ist ein Deployment auf dem Produktivsystem einer bestimmten Version.
  • Ein Software-Release erfolgt durch eine schrittweise Bereitstellung und Prüfung auf das Entwicklungs-, Test- und Produktivsystem.
  • Beim Software-Launch wird die Software offiziell eingeführt und beworben.

Was bedeutet Deployment von Software?

Das Deployment, auch Verteilung oder Bereitstellung der Software genannt, ist ein Schritt der Softwareentwicklung, der darauf abzielt, die entwickelte Software auf dem Zielsystem zu installieren und lauffähig zu machen.

Die Bereitstellung bedeutet nicht, dass das Projekt damit bereits abgeschlossen ist. Denn zum einen kann ein Deployment auch regelmäßig erfolgen und zum anderen kann Software nicht nur auf das Produktivsystem, sondern auch auf dem Entwicklungs- oder Testsystem verteilt werden, auf dem Entwickler ihre Änderungen ausprobieren oder mit dem Kunden testen können.

Dies kann auf den ersten Blick alles sehr verwirrend erscheinen. Um dies besser zu verstehen, musst du zunächst einen Blick darauf werfen, wie Änderungen in Software ablaufen. Dabei stößt du immer wieder auf die Begriffe Version und Release.

Version und Release einer Software

Die Version der Software ist der Entwicklungsstand zu einem bestimmten Zeitpunkt. Mit jeder neuen Funktionalität und auch mit jeder Fehlerbehebung kann eine neue Version entstehen. Es werden die Folgenden drei Versionsarten unterschieden:

  • Bei einer neuen Major-Version kommen mindestens neue signifikante Funktionalitäten hinzu. Dies deutet oft darauf hin, dass die Software wesentliche Änderungen erhalten hat und möglicherweise eine Anpassung für die Benutzer erfordert.
  • Bei einer neuen Minor-Version kommen auch mindestens neue Funktionalitäten hinzu, welche jedoch nicht so signifikant sind, dass Nutzer sich umstellen oder anpassen müssen.
  • Mit einem neuen Patch werden lediglich Fehler behoben oder gar die Stabilität der Software verbessert. Bei einem Patch bleibt der Funktionsumfang somit gleich.

Eine Version wird üblicherweise mit einer dreistelligen Versionsnummer (zum Beispiel 5.0.4) versehen, welche darstellt, um welche Art von Änderung es sich handelt:

  • Ändert sich die erste Ziffer, zum Beispiel von 4.6.9 auf 5.0.0 entspricht das einer neuen Major-Version.
  • Ändert sich die zweite Ziffer, zum Beispiel von 4.5.1 auf 4.6.0 entspricht das einer neuen Minor-Version.
  • Ändert sich die dritte Ziffer, zum Beispiel von 5.0.1 zu 5.0.2 entspricht das einem Patch.

Für eine Versionsänderung kann nun gemeinsam mit dir als Kunden entschieden werden, ob diese veröffentlicht werden. Es besteht auch die Möglichkeit, erst nach einigen Versionsänderungen zu veröffentlichen, falls du Funktionalitäten lieber in einem großen Rutsch bereitstellen möchtest. Diese Veröffentlichung wird Release genannt. Da sich nur durch ein Release die Software für deine Kunden ändert, lässt sich daraus folglich ableiten: Ein Release geht immer mit einem Deployment auf das Produktivsystem einher.

All diese Vorgänge werden in einem Versionsverwaltungssystem wie Git festgehalten. Das hat vor allem den Vorteil, dass Änderungen nachvollziehbar bleiben und auch parallel an einem Projekt gearbeitet werden kann.

Ablauf eines Software-Releases

Ein erfolgreiches Release gemeinsam mit einer Software-Agentur wie uns läuft folgendermaßen ab:

  • Die Software-Agentur stellt die aktuelle Version auf dem Entwicklungssystem bereit und prüft diese funktional und qualitativ.
  • Im Anschluss wird die Version auf dem Testsystem bereitgestellt, sodass du diese sehen und prüfen kannst. Bei großen Änderungen erfolgt oftmals auch eine Präsentation.
  • Als letztes erfolgt das Deployment auf dem Produktivsystem. Die Software kann nun von deinen Kunden genutzt werden.

Im Grunde genommen funktioniert dieser Prozess sowohl für Web Apps als auch für mobile Apps. Unterschiede gibt es dabei nur beim Zielsystem der Bereitstellung:

  • Eine mobile App wird in den jeweiligen Stores (App-Store, Play Store) bereitgestellt. Da die App von Apple oder Google geprüft wird, kann dieser Schritt für das Produktivsystem innerhalb weniger Tage fertig sein, aber im schlimmsten Fall auch mal mehreren Wochen andauern. Beim Test- oder Entwicklungssystem treten solche Probleme nicht auf.
  • Eine Web App wird in der eigenen Infrastruktur bereitgestellt und benötigt keine Prüfung von Dritten. Im Regelfall benötigst du eine Domain, wenn deine Anwendung im Netz verfügbar sein soll. Diese wird über den Domain Name System (DNS) mit deiner Infrastruktur verbunden.

Was ist ein Software-Launch?

Der Launch ist der Zeitpunkt, ab dem die Software dann offiziell eingeführt und beworben wird. Ab diesem Punkt kommunizierst du das neue Produkt mit deinen Kunden. Oftmals wird der Begriff Release mit dem Launch verwechselt. Ein Launch und ein Release sind nicht dasselbe. Jeder Launch benötigt mindestens ein vorangehendes Release.

Für einen initialen Launch müssen auch rechtliche Dinge beachtet werden. Beispielsweise benötigt dein Unternehmen in vielen Fällen gültige allgemeine Geschäftsbedingungen, eine rechtskonforme Datenschutzerklärung, ein Impressum und einen Auftragsdatenverarbeitungsvertrag mit deiner Software-Agentur.

Hey Dakitec’,
könnt ihr mein Software-Projekt entwickeln?
Sehr gerne,
hier geht es weiter!
Mehr erfahren