Portierung einer Web App auf Docker

Konzeption und Umsetzung einer bestehenden Web App als Docker-basierter Stack.

Bildungsdirektion Zürich Stimmungsbild

Die Bildungsdirektion setzt auf Docker

Für die Bildungsdirektion des Kanton Zürichs zeichnen wir für die Wartung und Weiterentwicklung einer webbasierten Applikation für die Erfassung von Sonderschulmassnahmen verantwortlich. Um weiterhin einen sicheren und reibungslosen Betrieb der Applikation sicherzustellen, wurde diese nach dem Prinzip der Microservices-Architektur auf Docker portiert.

Docker ist eine moderne Technologie zur Isolierung von Anwendungen mittels Containervirtualisierung. Es vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen. Letztlich tragen Container zu einer höheren Sicherheit des Systems bei, in dem sie die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen gewährleisten.

Microservices-Architektur

Docker-basierte Virtualisierungen erfolgen nach dem Microservice-Prinzip: generell lauft pro Container nur ein Prozess bzw. ein Container entspricht einer Systemkomponente. Um die Web Applikation auf Docker zu portieren wurden also mehrere Container umgesetzt: ein Webserver nach aussen, ein PHP Container mit dem Quellcode der Applikation, ein Datenbank-Container, sowie weitere Container zu administrativen Zwecken.

Angleich der Umgebungen

Mit Docker können ebenfalls die Entwicklungs-, Test- und Produktivumgebungen aneinander angeglichen werden. Damit können Probleme beim Roll-Out von neuen Features vermindert werden bzw. Bugs, welche erst auf den produktiven Instanzen auftreten. Die Entwickler der ditoy können mit Docker ebenfalls klar die Abhängigkeiten der Applikation von anderen Softwarepaketen und Versionen spezifizieren, oder Softwarepakete gezielt für eine Instanz anheben. Docker erlaubt aufgrund der Virtualisierung ebenfalls, dass verschiedene Instanzen der Applikation auf unterschiedlichen Versionen von Abhängigkeiten laufen.

Unsere Leistungen

  • Architektur und Umsetzung der Applikation auf Docker
  • Angleichung der Entwicklungs-, Test- und Produktionsumgebungen
  • Koordination mit dem Datacenter-Betreiber