Microservices: Die Zukunft der Softwarearchitektur
Proffix, die Schweizer Software für KMU, lud am 21. August 2018 ihre Entwicklungs- und Vertriebspartner ein, gemeinsam mit dem Hersteller neue Ideen für die Zukunft auszutauschen. Dabei stellte Bruno Kaiser, Geschäftsleitungsmitglied und CTO bei PEAX, die Grundsätze und Technologien der Softwareentwicklung bei PEAX vor.
Genauso wie mit ihren Produkten will PEAX auch technologisch höchst innovativ sein und dazu die neusten Methoden und Tools der Softwareentwicklung anwenden. Damit macht PEAX ihre Produkte fit für die Zukunft und bietet (jungen) Entwicklern ein spannendes Arbeitsumfeld.
Unternehmerische Trends wie Dezentralisierung, Automatisierung und Digitalisierung erzwingen geradezu eine angepasste, modulare Softwarearchitektur und den Einsatz von neuen Technologien. Beispielsweise müssen wegen den zusätzlichen Clienten-Systemen auf Mobilgeräten die Frontends über sauber definierte Schnittstellen vom Backend entkoppelt werden. PEAX erstellt seine Lösungen in Form einer sogenannten Microservice-Architektur. Dabei wird die Funktionalität der Applikation in mehrere, unabhängig betreibbare Web-Services aufgetrennt. Dies bietet Vorteile für die Betreibbarkeit, die Softwarequalität und die Time-to-Market bei gleichzeitig reduzierten Entwicklungskosten dank wiederverwendbaren Komponenten.
Die Microservices werden in sog. Docker Containern installiert. Dieses sind eigenständig betreibbare, isolierte Prozessräume, welche über Kubernetes verwaltet werden können. Dieser Ansatz bietet auch den Vorteil, dass die identischen Services auf unterschiedlichsten Infrastrukturen und in verschiedenen Umgebungen (dev, test, prod etc.) oder für verschiedene Mandanten installiert werden können. Diese Infrastrukturunabhängigkeit löst das Risiko eines Vendor Lock-in.
A web service is a service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web. In a Web service, Web technology such as HTTP, originally designed for human-to-machine communication, is utilized for machine-to-machine communication, more specifically for transferring readable file formats such as XML and JSON.» (Definition „web service“ auf Wikipedia)
Die Services können von unterschiedlichen Clients über eine REST/JSON Schnittstelle aufgerufen werden. Genau gleich kommunizieren auch die Services untereinander. Es erfolgt kein direkter Zugriff auf Datenbanken oder Dateisysteme. Als IaaS nutzt PEAX eine Private Cloud (VM/ESX auf eigener Hardware) im Green Datacenter. Als PaaS setzt PEAX auf OpenShift von RedHat. PEAX selber bietet seine Services auf dieser Infrastruktur in einem SaaS-Modell an.
Dem Vortrag folgte ein reger und interessierter Austausch. Sollten auch Sie interessiert sein, einen fundierteren Einblick in die PEAX Softwarearchitektur zu erhalten, dann melden Sie sich gerne direkt bei Bruno Kaiser unter bruno.kaiser@peax.ch.