Software-Bereitstellung
Software-Bereitstellung ist alle Aktivitäten, die a machen Software System verfügbar für die Verwendung.[1]
Der allgemeine Bereitstellungsprozess besteht aus mehreren miteinander verbundenen Aktivitäten mit möglichen Übergängen zwischen ihnen. Diese Aktivitäten können auf dem auftreten Hersteller Seite oder auf der Verbraucher Seite oder beides. Weil jedes Softwaresystem einzigartig ist, das genaue Prozesse oder Verfahren Innerhalb jeder Aktivität kann kaum definiert werden. Daher sollte "Einsatz" als "Bereitstellung" interpretiert werden Allgemeiner Prozess Dies muss nach bestimmten Anforderungen oder Merkmalen angepasst werden.[2]
Geschichte
Wenn Computer extrem groß, teuer und sperrig waren (sperrig (Mainframes und Minicomputer) Die Software wurde oft zusammen mit der Hardware von Herstellern gebündelt. Wenn Geschäfts-Software Auf einem vorhandenen Computer installierte Systemarchitekt oder ein Berater. Für komplexe, lokale Installation von Unternehmenssoftware Heute kann dies manchmal immer noch der Fall sein.
Jedoch mit der Entwicklung von Massenmarkt Software für das neue Zeitalter von Mikrocomputer In den 1980er Jahren kamen neue Formen von Softwareverteilung- Erste Patronen, dann Kompakte Kassetten, dann Diskettendann (in den 1990er Jahren und später) Optische Medien, das Internet und Flash -Laufwerke. Dies bedeutete, dass die Softwarebereitstellung dem Kunden überlassen werden konnte. Es wurde jedoch auch im Laufe der Zeit zunehmend anerkannt, dass die Konfiguration der Software durch den Kunden wichtig war und dass dies idealerweise eine benutzerfreundliche Schnittstelle haben sollte (und beispielsweise, dass der Kunde Registrierungseinträge unter Windows bearbeiten muss).
In den Bereitstellungen vor dem Internet waren Bereitstellungen (und deren eng verwandte Cousin, neue Software-Freisetzungen) notwendigerweise teuer, selten, sperrige Angelegenheiten. Es ist daher bekannt Agile Software Entwicklung möglich. In der Tat das Aufkommen von Cloud Computing und Software als Dienst bedeutete, dass Software in wenigen Minuten über das Internet für eine große Anzahl von Kunden eingesetzt werden konnte. Dies bedeutete auch, dass die Einsatzpläne in der Regel vom Softwarelieferanten und nicht vom Kunden festgelegt wurden. Diese Flexibilität führte zum Aufstieg von kontinuierliche Lieferung als praktikable Option, insbesondere für weniger riskante Web Applikationen.
Bereitstellungsaktivitäten
- Veröffentlichung
- Das Veröffentlichung Aktivität folgt aus dem abgeschlossenen der Entwicklung Prozess und wird manchmal als Teil des Entwicklungsprozesses und nicht als Bereitstellungsprozess klassifiziert. Es enthält alle Vorgänge, um ein System für die Vorbereitung zu Montage und übertragen auf die Computersysteme, auf denen es in der Produktion ausgeführt wird. Daher beinhaltet es manchmal die Bestimmung der Ressourcen Erforderlich, damit das System mit tolerierbarer Leistung und Planung und/oder dokumentieren, um nachfolgende Aktivitäten des Bereitstellungsverfahrens zu dokumentieren.
- Installation und Aktivierung
- Für einfache Systeme, Installation beinhaltet die Festlegung einer Form von a Befehl, Shortcut, Skript oder Service Zur Ausführung der Software (manuell oder automatisch). Für komplexe Systeme kann es die Konfiguration des Systems beinhalten - möglicherweise durch fragen Sie das Endbenutzer Fragen zu der beabsichtigten Verwendung oder direkter Frage, wie sie es konfigurieren möchten - und/oder alle erforderlichen Subsysteme bereitzustellen. Die Aktivierung ist die Aktivität, um das zu starten ausführbar erstmals Komponente der Software (nicht zu verwechseln mit der gemeinsamen Verwendung des Begriffs Aktivierung In Bezug auf eine Softwarelizenz, die eine Funktion von ist Management von Digitalen Rechten Systeme.)
- In größeren Software -Bereitstellungen auf ServerDie Hauptkopie der Software, die von Benutzern verwendet wird - "Produktion" - kann in einer Produktionsumgebung auf einem Produktionsserver installiert werden. Andere Versionen der bereitgestellten Software können in a installiert werden Test Umgebung, Entwicklungsumgebung und Umgebung für Katastrophenwiederherstellungen.
- In komplex kontinuierliche Lieferung Umgebungen und/oder Software als Dienst System, unterschiedlich konfigurierte Versionen des Systems könnten sogar gleichzeitig in der Produktionsumgebung für verschiedene interne oder externe Kunden vorhanden sein (dies wird als als bezeichnet Multi-Mieter-Architektur) oder sogar nach und nach parallel zu verschiedenen Kundengruppen eingeführt werden, mit der Möglichkeit, einen oder mehrere der parallelen Bereitstellungen zu stornieren. Zum Beispiel, Twitter Es ist bekannt, den letzteren Ansatz für zu verwenden A/B -Test von neuen Funktionen und Benutzeroberfläche Änderungen. In einer Produktionsumgebung kann auch eine "versteckte Live" -Gruppe erstellt werden, die aus Servern besteht, die noch nicht mit der Produktion verbunden sind Lastenausgleicher, für die Zwecke der Blue-Green-Bereitstellung.
- Deactivation
- Die Deaktivierung ist die Umkehrung der Aktivierung und bezieht sich auf die Abschaltung jeglicher bereits ausgeführter Komponenten eines Systems. Eine Deaktivierung ist häufig erforderlich, um andere Bereitstellungsaktivitäten auszuführen, z. B. muss möglicherweise ein Softwaresystem deaktiviert werden, bevor ein Update durchgeführt werden kann. Die Praxis, selten verwendete oder veraltete Systeme aus dem Dienst zu entfernen Anwendungspension oder Anwendungstillstandung.
- Deinstallation
- Deinstallation ist die Umkehrung der Installation. Es ist die Entfernung eines Systems, das nicht mehr benötigt wird. Es kann auch eine gewisse Neukonfiguration anderer Softwaresysteme beinhalten, um das deinstallierte Systems zu entfernen Abhängigkeiten.
- Aktualisieren
- Der Aktualisierungsprozess ersetzt eine frühere Version von ganz oder Teil eines Softwaresystems durch eine neuere Version. Es besteht üblicherweise aus Deaktivierung, gefolgt von der Installation. Auf einigen Systemen, beispielsweise unter Linux bei der Verwendung des Systems des Systems Paket-ManagerDie alte Version einer Softwareanwendung wird normalerweise auch als automatischer Teil des Prozesses deinstalliert. (Dies liegt daran, dass Linux -Paketmanager in der Regel nicht gleichzeitig die Installation mehrerer Versionen einer Softwareanwendung unterstützen, es sei denn Arbeiten Sie herum diese Einschränkung.)
- Integriertes Update
- Mechanismen zur Installation von Aktualisierungen werden in einige Softwaresysteme integriert (oder im Fall einiger Betriebssysteme wie z. B. Linux, Android und iOS, in das Betriebssystem selbst). Die Automatisierung dieser Aktualisierungsprozesse ändert Norton Internet Security ist ein Beispiel für ein System mit einer halbautomatischen Methode zum Abrufen und Installieren von Aktualisierungen sowohl für die Antiviren-Definitionen als auch für andere Komponenten des Systems. Andere Softwareprodukte bieten Abfragemechanismen für die Ermittlung, wann Updates verfügbar sind.
- Versionsverfolgung
- Versionsverfolgungssysteme helfen dem Benutzer, Updates für Softwaresysteme zu finden und zu installieren. Zum Beispiel: Der Software -Katalog speichert die Version und andere Informationen für jedes in einem lokalen System installierte Softwarepaket. Ein Klick einer Schaltfläche startet ein Browserfenster auf die Upgrade-Webseite für die Anwendung, einschließlich automatischer Füllen des Benutzernamens und des Kennworts für Websites, für die eine Anmeldung erforderlich ist. Unter Linux, Android und iOS ist dieser Vorgang noch einfacher, da ein standardisierter Prozess für die Versionsverfolgung (für die offiziell unterstützte Softwarepakete) in das Betriebssystem integriert ist. Daher sind keine separaten Login-, Download- und Ausführungsschritte erforderlich. Der Prozess kann so konfiguriert werden, dass sie vollständig automatisiert werden. Einige Software von Drittanbietern unterstützt auch die automatisierte Versionsverfolgung und-aktualisiert für bestimmte Windows-Softwarepakete.
Bereitstellungsrollen
Die Komplexität und Variabilität von Softwareprodukten hat das Auftreten von speziellen Rollen für die Koordination und Entwicklung des Bereitstellungsprozesses gefördert. Für Desktop-Systeme werden Endbenutzer häufig auch zu "Software-Bereitstellern", wenn sie ein Softwarepaket auf ihrem Computer installieren. Der Einsatz von Unternehmenssoftware beinhaltet viel mehr Rollen, und diese Rollen ändern sich normalerweise, wenn die Anwendung vom Test (Vorproduktion) in Produktionsumgebungen verläuft. Typische Rollen, die an Softwarebereitstellungen für Unternehmensanwendungen beteiligt sind, können Folgendes umfassen:
- In Vorproduktionsumgebungen:
- Anwendungsentwickler: Siehe Softwareentwicklungsprozess
- Bau- und Veröffentlichungsingenieure: siehe Release Engineering
- Release -Manager: siehe Release management
- Bereitstellungskoordinatoren: Siehe DevOps
- in Produktionsumgebungen:
- Systemadministrator
- Datenbankadministrator
- Release -Koordinatoren: siehe DevOps
- Betriebsprojektmanager: siehe Itil
Siehe auch
- Anwendungslebenszyklusmanagement
- Produktlebenszyklusmanagement
- Systemmanagement
- Systembereitstellung
- Softwareveröffentlichung
- Definitive Medienbibliothek
- Liesmich
- Release management
- Bereitstellungsumgebung
Verweise
- ^ Roger S. Pressman Software -Engineering: Ansatz eines Praktikers (achte Ausgabe)
- ^ Rees-Carter, Stephen (13. Juli 2018). "So installieren und konfigurieren Sie Ansible auf Ubuntu 18.04". Digitalocean. Archiviert von das Original am 9. Juni 2019. Abgerufen 8. Juni 2019.
Konfigurationsverwaltungssysteme sind so konzipiert, dass die Steuerung einer großen Anzahl von Servern für Administratoren und Betriebsteams einfach ist. Sie ermöglichen es Ihnen, viele verschiedene Systeme automatisiert von einem zentralen Ort aus zu steuern.
Externe Links
- Standardisierungsbemühungen
- Artikel
- Carzaniga, Antonio; Fuggetta, Alfonso; Hall, Richard S.; Van der Hoek, André; Heimbigner, Dennis; Wolf, Alexander L. (April 1998). "Ein Charakterisierungsrahmen für Software-Bereitstellungstechnologien-Technischer Bericht CU-CS-857-98" (PDF). Boulder, co: Abteilung für Computerwissenschaften, Boulder der Universität von Colorado.
- Ressourcen