Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett.

Ähnliche Präsentationen


Präsentation zum Thema: "Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett."—  Präsentation transkript:

1 Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett

2 Motivation  Anwendungen werden in das Web ausgelagert permanent verfügbar Problem: Änderungen im laufenden Betrieb  Cluster  bessere Performance  Ausfallsicherheit  Problem: manuelle Verwaltung unmöglich 2

3 Idee  Repository und Versionierung nutzen  Besonderheiten des Webdeployments nutzen  Automatisierende Skripte nutzen 3

4 Ziel  Permanente Verfügbarkeit von Webanwendungen mit fortlaufender Entwicklung gewährleisten.  Sicheres Deployment  Einfaches Notfallhandling 4

5 Agenda  Grundlagen  Deployment-Arten  Cluster-Deployment  Vergleich der Deployments  automatisierte Skripte  Durchlaufstufen eines Deployment-Prozesses  Lösungsvorschlag  Ausblick 5

6 Definition  „Softwareverteilung (engl. deployment) nennt man Prozesse zur Installation von Software auf Anwender-PCs oder Servern in Betrieben.“ (Wikipedia)  Hot deployment ermöglicht die Installation und das Aktualisieren von Anwendungen im laufenden Betrieb, ohne diesen zu unterbrechen. 6

7 Repository 7 Darstellung eines Projektes im Entwicklungsprozess innerhalb des Repositorys

8 Rollout & Rollback  Rollout Verteilung von Software auf die Clients im Web: Nicht an User sondern an Server  Rollback Software wird auf letzten stabilen Stand gebracht Problem: Datenstrukturen könnten sich geändert haben 8

9 Testing  problemfreien Ablauf gewährleisten  Zeitintensität nicht zu vernachlässigen 9

10 Deployment-Arten  Webdeployment Gut handelbar (interpretierte Skripte) Anwendung werden nicht gestartet keine Down-Time (hotdeployment)  Javadeployment Applikation-Server Ordnerstruktur wichtig Down-Time 10

11 Deployment-Arten  C/C++ - Deployment Desktopinstallation (Betriebssystemabhängig) Serveranwendungen (keine einheitlichen Vorgehensweisen beim Deployment) Anwendungen müssen installiert werden Down-Time 11

12 Webdeployment auf Cluster  Keine Down-Time  Ausnahme: sehr große Datenmengen  Daten als Paket auf alle Server verteilen.  Skripte führen entpacken der Pakete aus.  Synchronität beachten 12

13 Cluster Deployment  Geeigneten Zeitpunkt finden.  Prüfen ob neue Version auf allen Servern korrekt ankommen sind und funktionieren.  Clusterschwenk Nachteil: langsam und teuer  Zentrales Deployment  Problem: Asynchrone Server  Problem: Löschen von Dateien 13

14 Schematische vereinfachte Darstellung eines Clusterschwenks 14

15 Vergleich der Deployments Web-DeploymentJava-DeploymentC/C++-Deployment Down-TimeNeinJa Vorgehensweise (In welchen Schritten die Cluster bestückt werden.) 100% (alle Server gleichzeitig) 50%-50% (erste Hälfte – zweite Hälfte) 50%-50% (erste Hälfte – zweite Hälfte) Ausnahmen (Bei denen Down- Time oder Vorgehen beeinflusst wird.) Große Datenmengen können zu Down- Times führen. (teilweise Hot-Deployment) - Installation (Ausführen der Dateien nötig?) NeinJa 15

16 Automatisierte Skripte  Prozess durch ein Skript automatisch  Nacheinander ablaufende Befehle  Fehlerquelle Mensch weitestgehend ausgeschlossen  (z.B. ANT bzw. PHING) 16

17 Darstellung eines vereinfachten Deployments-Prozesses 17 Durchlaufstufen eines Deployment- Prozesses

18 Lösungsvorschlag  Entwickler entwickelt und testet auf einer Testumgebung.  Nach dem Commit ins Repository, wird ein neuer Tag erstellt. Tag wird auf ein Integrationssystem gespielt. Integrationstest  Tag wird mit Hilfe eines Deployment-Servers und Repository auf ein Staging-System gespielt. Deployment-Server arbeitet mit automatisiert Skripten (z.B. PHING) In den Server werden die Projektdaten (eventuell mit einem Datum versehen) eingespielt. 18

19 Lösungsvorschlag  Staging-System: Entwickler macht Systemtest und der Abnehmer den Abnahmetest. neue Version mit Versionsnummer  beide Versionen existieren Die neue Version wird mit Hilfe von Checksummen mit dem Repository verglichen. Automatisiert wird auf die neue Version umgeschaltet. Die alte Version wird automatisch vom Server entfernt. 19

20 Lösungsvorschlag  Tests bestanden: über Deployment Server Rollout Server mit neuen Version bestücken Wenn Checksummentest bestanden ist, synchron auf neue Version umstellen.  Tests nicht bestanden: Zurück zum Beginn(Bugfix)  XML mit Versionsverlauf aktualisieren 20

21 Schematische Darstellung des Deployments mit Hilfe eines zentralen Repository 21

22 Lösungsvorschlag  Sonderbehandlung Server offline oder neu Server an Übersichtssystem angeschlossen (jeweilige wird Version abgebildet)  veraltete Versionen sofort erkennbar. In regelmäßigen Abständen Checksummentest: nicht aktuelle Server identifizieren und nachrüsten Server mit veralteten Version gefunden: Diesen mittels rsync auf den neuen Stand bringen. 22

23 Ausblick  Tool Repository & Versionierung automatisiertes gut kontrollierbares Deployment auf Cluster Schnittstelle zwischen den verschiedenen Abteilungen Entwickler gibt Teile der Verantwortung ab Übersicht über Versionen der Anwendungen 23

24 Danke für die Aufmerksamkeit! Fragen? 24

25 Automatisierte Skripte(PHING) 25

26 Quellen  Wikipedia http://de.wikipedia.org/wiki/Softwareverteilung  Testufen http://winfwiki.wi- fom.de/index.php/Analyse_der_Anwendungsm%C 3%B6glichkeiten_von_Testautomatisierung http://winfwiki.wi- fom.de/index.php/Analyse_der_Anwendungsm%C 3%B6glichkeiten_von_Testautomatisierung 26


Herunterladen ppt "Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett."

Ähnliche Präsentationen


Google-Anzeigen