Version 1.0-final

Lecture: Time for a change

Der Umbau eines biomedizinischen Informationssystems auf Microservices

Eine monolithische Software in skalierbare und ausfallsichere Microservices zu überführen ist eine umfangreiche Aufgabe. Dabei gibt es gerade in einem Ökosystem von Open Source und proprietärer Software viel zu gewinnen. Wir möchten am Beispiel unseres biomedizinischen Informationssystems diskutieren, welche Schritte dafür zu gehen sind, wo Fallstricke liegen könnten und warum wir der Meinung sind, dass ein verteiltes System kleiner Microservices basierend auf Open Source Technik besser zu moderner Software passt.

Das Fraunhofer SCAI entwickelt seit vielen Jahren an einem biomedizinischen Informationssystem, dass durch die Webanwendungen SCAIView [1] und BELIEF [2] oder per API dem Nutzer zur Verfügung steht. Im Hintergrund steht ein großes System von Datenbanken (Lucene / Solr, Accumulo), Text Mining Pipelines (u.a. Apache UIMA) und anderen Systemen wie der Authentifizierung (KeyCloak, siehe [3]), Validierung von Daten und des Ontology Managements (OLS, siehe[4]). Auch wenn einige Services schon immer per REST angesprochen wurden, waren doch große Teile der Software monolithische Strukturen, die auf einzelnen Servern als Prozess liefen. Da wir enorm große Datenmengen prozessieren, begannen wir 2016 mit dem Umstellungsprozess unserer Text Mining Komponenten auf Microservices [5]. Inzwischen ist fast das gesamte System auf klassische Microservices oder Webservices als Microservice umgestellt. Ein Großteil unserer Software und Systeme setzt auf Open Source auf.
Wir wollen darstellen, welche generellen Designentscheidungen bei einer Umstellung einer großen, gewachsenen Software auf Microservices zu treffen sind. Wir haben uns für einen Weg mit Open Source (u.a. Docker, Apache UIMA, Apache Spring
) entschieden und möchten die Vorteile davon darstellen. Gerade in einem heterogenen Umfeld (Java und Python) und wenn einzelne Komponenten unter einer nicht freien Lizenz stehen, hat diese Wahl große Vorteile. Einzelne Komponenten können auch schneller durch Eigenentwicklungen oder andere Software ersetzt werden. Unsere Erwartungen an die Skalierbarkeit, Robustheit und Fehlertoleranz wurden bisher mehr als erfüllt.

Literatur
[1] https://www.scaiview.com/ - für akademische Zwecke kostenfrei
[2] http://belief.scai.fraunhofer.de/BeliefDashboard – für akademische Zwecke kostenfrei
[3] https://www.keycloak.org/
[4] R. G. Côté, P. Jones, R. Apweiler, and H. Hermjakob, “The ontology lookup service, a lightweight cross-platform tool for controlled vocabulary queries,” BMC bioinformatics, vol. 7, no. 1, p. 97, 2006.
[5] S. Hodapp, S. Madan, J. Fluck, and M. Zimmermann, “Integration of UIMA Text Mining Components into an Event-based Asynchronous Microservice Architecture,” in Proceedings of the LREC 2016 Workshop "Cross-Platform Text Mining and Natural Language Processing Interoperability". Portorož, Slovenia: European Language Resources Association (ELRA), 2016, pp. 19–23.

Info

Day: 2018-08-26
Start time: 11:10
Duration: 01:00
Room: C120
Track: FrOSCon meets Science
Language: de

Links:

Feedback

Click here to let us know how you liked this event.

Concurrent Events