Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Virtualisierung von Web-Applikationen mit Docker

Ähnliche Präsentationen


Präsentation zum Thema: "Virtualisierung von Web-Applikationen mit Docker"—  Präsentation transkript:

1 Virtualisierung von Web-Applikationen mit Docker
Seminarvortrag von Alex Besteher Am Beispiel von „shared-data“

2 Inhaltsverzeichnis Motivation Grundlagen Umsetzung Fazit

3 1. Motivation

4 Motivation halo Noc-Portal

5 Motivation Bisher: geteilte ressourcen
bei fehlern werden andere Applikationen beeinflusst

6 Motivation Mit Docker: Ressourcen an Container gebunden

7 Motivation Bisher:

8 Motivation Mit Docker:

9 Motivation Bisher:

10 Motivation Mit Docker: Noc-Portal

11 2. Grundlagen

12 Grundlagen Ruby on Rails Gems Ruby: Programmiersprache, Interpreter
Rails: Webframework Implementiert Model-View-Controller Pattern Gems Ruby-Erweiterungen Installiert per bundler Gemfile: listet Quellen und zu installierende Gems

13 Grundlagen „Shared Database“ Background-Job
Applikation zur Speicherung von Preislisten/Rahmenverträgen Listet für mehrere Hersteller Geräte, Preise, Beschreibungen, … Kernstück: Einlesefunktion für Excel-Dokumente Einlesen ist in den Hintergrund ausgelagert Background-Job Ruby-Gem zum Ausführen von Prozessen im Hintergrund Liest Prozessinformationen aus Datenbank Worker-Thread liest Datenbank aus Applikation die für die containerisierung verwendet wurde Speichert gerätedaten Preise/beschreibungen/modellnummern/kategorisierung/rabattsätze Konfigurationsmöglichkeiten wie Filter, Herstellerinformationen, Kategorien Wichtigste Funktion: Excel-Dokumente einlesen Problem: groß! 1,6mio Zeilen Web-App -> User müsste waren In Background-Job ausgelagert Gem zum ausführen im hintergrund Liest Prozessinformationen aus Datenbank

14 Grundlagen Git Capistrano Versionsverwaltungssystem
Code auf mehreren Plattformen bearbeiten Capistrano Ruby-Gem zum Deployment ssh-Zugriff auf Noc-Portal Erlaubt Erstellen eigener Befehle Verteiltes Versionsverwaltungssystem Erlaubt arbeiten unabhängig von einander Speichert nur Änderungen gegenüber der alten Version „merge“ statt überschreiben Capistrano ist ein Gem ssh(secure shell)-Verbindung zum Server Führt in configfile definierte befehle aus

15 Grundlagen Apache, Nginx und Passenger Apache, Nginx sind Web-Server
Lauschen auf http-Requests Antworten mit statischen Dateien HTML, Bilder, … Problem: Ruby-Code in html-Dateien Passenger erzeugt statische Dateien für Webserver Apache hat mehr Features als Nginx Nginx ist aber schneller apache/nginx = webserver Antworten mit statischen dateien Serverseitige anpassung je nach situation/nutzer Passenger als aufsatz auf apache/nginx um ruby-code zu interpretieren Liefert dann statische html-dokumente Nginx hat weniger features ist aber schneller Fürs erste Nginx im Container Eventuell statt dessen Apache sollten Features wichtig werden

16 Grundlagen Docker Docker-Compose „lightweight virtualization“
Image wird aus Dockerfile erstellt Docker startet Image als Container „one Thread per Container“ Docker-Compose Erweiterte Containerverwaltung Multi-Container-Applikationen docker-compose.yml Nutzung: Dockerfile Gibt Anweisungen wie der Container zu erstellen ist Extra thread für background-job Features zur Containerverwaltung Besonders für Multi-Container-Applikationen docker-compose.yml, xml-Format Beispiele später

17 3. Umsetzung

18 Umsetzung Arbeitsplatz noc-portal $ cap docker:init log halo

19 Umsetzung Arbeitsplatz noc-portal halo $ cap docker: build_application
log halo Applikations-Dockerfile

20 Umsetzung Applikations-Dockerfile

21 Umsetzung Arbeitsplatz noc-portal halo $ cap docker:
build_background_job log tmp halo Background-Job-Dockerfile

22 Umsetzung Arbeitsplatz noc-portal halo $ cap docker: run_container log
tmp halo

23 Umsetzung docker-compose.yml

24 Fazit Umsetzung durch Container ausführbar
Beim ausführen sieht man: [nächste folie]

25 Fazit Fazit: funktioniert, keine bugs
Viele spezielle anforderungen zu behandeln Skalierung, verwaltung, wartung

26 Ende Danke Fragen?


Herunterladen ppt "Virtualisierung von Web-Applikationen mit Docker"

Ähnliche Präsentationen


Google-Anzeigen