Virtualisierung von Web-Applikationen mit Docker

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Information Portal Suite (IPS)
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Kurze Einführung in ASP
Datenbankzugriff im WWW (Kommerzielle Systeme)
Ruby on Rails im Überblick
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
1/19 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Bug Tracking (mit Mantis) Projektgruppe KIMAS Bug Tracking (mit Mantis) Daniel Karuseit.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
von Julia Pfander und Katja Holzapfel E 12/2
Coccon das Web-XML-Publishing System Thomas Haller.
WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Continuous Integration mit Jenkins
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
UniDASH 2.0 organize yourself Robert Koch MMT B2010 FH Salzburg.
Grundlagen: Client-Server-Modell
App-Entwicklung mit HTML5, CSS und JavaScript
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Anwendungen Servlet II Formular Auswertung Zähler
CGI (Common Gateway Interface)
Oliver Spritzendorfer Thomas Fekete
Top Features kurz vorgestellt: Workplace Join
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Die Publikations- datenbank des AIT Karl Riedling.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
JABBA: Flexibles Web - Interface Semesterarbeit von Thomas Zwicker, Thomas Moser und Lukas Karrer Prof. L. Thiele Betreuung: J. Greutert TIK ETH Zürich.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.

Übersicht und Neuerungen
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Christoph Wirtz | Seminarvortrag EBC | Lehrstuhl für Gebäude- und Raumklimatechnik Ein Tool zum automatisierten Erstellen von Conversion Scripts.
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
CMIP6-DICAD – FU Berlin Thomas Schartner
Aufgabe 1: Begriffswelt
WS2016: Container von A bis Z
Google App Engine - Technische Stärken und Schwächen
Web-Interface for Multi-FPGA Board Pamette
Begriffe Trees/Bäume Forests/Wälder Streams/Flüsse Pools/Sammelbecken
Systeme II 6. Die Anwendungsschicht
Installation und Beispiele
Dreamweaver-Grundkurs
Von Wietlisbach, Lenzin und Winter
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
Überblick zur Protokoll-/ Verbindungswahl zwischen Backend-Server und Gateway ITC-MEETING Tobias Hänel.
 Präsentation transkript:

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

Inhaltsverzeichnis Motivation Grundlagen Umsetzung Fazit

1. Motivation

Motivation halo Noc-Portal

Motivation Bisher: geteilte ressourcen bei fehlern werden andere Applikationen beeinflusst

Motivation Mit Docker: Ressourcen an Container gebunden

Motivation Bisher:

Motivation Mit Docker:

Motivation Bisher:

Motivation Mit Docker: Noc-Portal

2. Grundlagen

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

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

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

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

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

3. Umsetzung

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

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

Umsetzung Applikations-Dockerfile

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

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

Umsetzung docker-compose.yml

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

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

Ende Danke Fragen?