Microservices, Integration

Die Microservices Architektur bietet den Vorteil der freien Technologieauswahl bei jedem Microservice. Ein wichtiger Punkt unseres Evaluierungsprojektes war die Prüfung der Integrationsfähigkeit von Softwarekomponenten, welche nicht Java, bzw. Spring Cloud im Technologiestack enthalten. Dazu möchte ich in diesem Beitrag unserer Blogserie zeigen auf welche Art und Weise wir legacy Software, wie zum Beispiel Fedora4 Content Repository in die „Platform Service“ der Microservices Welt integriert haben.

 

Integration

Für die Integration solcher “nicht Java basierten Softwarekomponenten” stellt Netflix Open Source Stack (Netflix OSS) das Projekt Prana bereit. Prana ist eine sogenannte Sidecar Anwendung. Durch die Nutzung von Prana ist es möglich die “Platform Service“, wie zum Beispiel Eureka, Circuit Breaker und Ribbon in solchen Projekten zu verwenden. Wie der Name “Beistellwagen” schon verrät wird das Prana Projekt lediglich neben den nicht Netflix fähigen Microservice gestellt und konfiguriert. Wie genau das funktioniert, möchte ich gerne an folgendem konkreten Beispiel demonstrieren.

 

Dazu haben wir im ersten Schritt ein Spring Boot Projekt aufgesetzt und Spring Cloud Sidecar durch folgende Annotation an der “main” Klasse aktiviert.

 

@EnableSidecar

@SpringBootApplication

public class SideCarApplication {

 

public static void main(String[] args) {

SpringApplication.run(SideCarApplication.class, args);

}

}

 

Anschließend müssen im Sidecar Projekt noch folgende Properties gesetzt werden:

 

spring.application.name=Fedora4-Sidecar

server.display-name=Staatsbibliothek Fedora Sidecar

server.port=9080

sidecar.health-uri=http://localhost:8080/rest/health.json

sidecar.port=8080

sidecar.home-page-uri=http://localhost:8080/

 

Mit der Angabe der health-uri wird auf einen REST Endpunkt der Fedora4 Anwendung verwiesen, aus welchem Sidecar die Statusinformation zur Übermittlung an Eureka erhält. Dazu haben wir im Fedora4 folgendes triviales JSON Dokument hinterlegt:

health.json

{“status”:”UP”}

Bei erreichbarem Fedora4 kann Sidecar nun diese Statusinformation an Eureka übermitteln. Sidecar muss auf demselben Server laufen wie Fedora4. Zusätzlich zur Sidecar Konfiguration müssen natürlich noch die Konfigurationswerte für Eureka, Hystrix und Ribbon gesetzt werden. Um Fedora4 in Eureka sichtbar zu machen haben wir daher für die Service Registry folgende Werte gesetzt:

 

eureka.instance.leaseRenewalIntervalInSeconds=10

eureka.client.healthcheck.enabled=true

eureka.client.serviceUrl.defaultZone=http://localhost:8761/serviceregistry/eureka/

eureka.client.registryFetchIntervalSeconds=5

 

Ist Fedora4 gestartet zeigt Eureka die Integration wie folgt an:

fedora-sidecar

Ist das Sidecar Projekt gestartet und verfügbar, kann anschließend Fedora4 über folgende URL angesteuert werden:

 http://<hostname>:9080/fedora4-sidecar/

 

Welche Vorteile bringt uns diese Integration nun aber ganz konkret.

 

  • ohne Fedora4 anpassen zu müssen, lässt es sich in die “Platform Services” von Netflix integrieren,
  • Fedora4 ist damit in der Service Registry sichtbar und abrufbar,
  • ein Aufruf von Fedora4 über die Sidecar URL wird als Circuit Breaker Command ausgeführt,
  • es werden Hystrix Metriken generiert welche im Hystrix Dashboard sichtbar sind,
  • es kann Load Balancing verwendet werden, sobald Fedora4 mehrfach installiert ist,
  • es kann die zentrale Configuration Management Instanz verwendet werden.

 

Obwohl Fedora4 kein Microservice ist können Client Anwendungen die Service Registry nach der Einstiegs URL von Fedora4 fragen. Anschließend wird jede Anfrage der Clients via Hystrix abgesichert und aufgezeichnet. So konnten wir zum Beispiel die Antwortzeiten der Fedora4 REST API im Hystrix Dashboard aufzeichnen und auswerten.

hystrix-fedora

All diese Vorteile sind ohne eine einzige Anpassung des Fedora4 Systems möglich. Auf dieselbe Art  und Weise haben wir einen reinen Javascript Microservice eingebunden.

 

Fazit

Wie dieser Beitrag zeigt, ist die Integration einer Softwarekomponente, welche nicht den Netflix Stack via Bibliotheken Integration nutzen kann, sehr einfach. Die aufgezeigten Möglichkeiten, welche sich dadurch bieten finde ich beeindruckend. Hinzufügen muss ich allerdings, dass sich auf diese Art und Weise nur Softwarekomponenten integrieren lassen, welche über eine REST API angesprochen werden können. Da alle Aufrufe dieser REST API über Sidecar geroutet werden. Für Softwarekomponenten ohne REST API ist die Integration ebenfalls möglich aber etwas aufwendiger.

Werkstattgespräch zu den Kalligrafischen Druckschriften Hermann Zapfs am 7.6.

Wissenswerkstatt
Kalligrafische Druckschriften Hermann Zapfs – von “Virtuosa” bis “Zapfino”
Werkstattgespräch mit Dr. Nikolaus Weichselbaumer, Johannes Gutenberg-Universität Mainz

Dienstag, 7. Juni
18.15 Uhr
Konferenzraum 4, Haus Unter den Linden (Eingang über Dorotheenstraße 27)
Treffpunkt in der Eingangshalle (Rotunde)

Eintritt frei, Anmeldung erbeten

 

Hermann Zapf (1918-2015) war einer der einflussreichsten Kalligrafen, Buch- und Schriftgestalter des 20. Jahrhunderts. Sein Werk überspannt mehr als sieben Jahrzehnte, in denen er für alle Schrifttechnologien der Druckgeschichte gearbeitet hat – vom Bleisatz bis zur modernen Font-Datei. Eine zentrale Rolle in diesem Oeuvre nehmen kalligrafische Schriften ein, die für Gestalter durch ihre ausladenden und unregelmäßigen Formen eine besondere Herausforderung darstellen. Der Vortrag stellt Zapfs wichtigste kalligrafische Schriftentwürfe in die Traditionslinien der Typographiegeschichte und rekonstruiert auf Basis erhaltener Entwurfszeichnungen und ergänzender Quellen Zapfs Arbeitstechniken. Besondere Aufmerksamkeit liegt auf der Bedeutung von Technologie für die Formgebung von Schriften.

Eine Veranstaltung aus der Reihe “Die Materialität von Schriftlichkeit

Prima zum Imprimatur: Publikationsberatung für Promovierende

Nicht zuletzt die mehr als 100 strukturierten Graduiertenprogramme, die das Portal Doctoral Programs in Berlin verzeichnet, machen die Hauptstadt mit ihren vier großen Universitäten und zahllosen Forschungseinrichtungen zu einem beliebten Pflaster für Promotionswillige. Da aber der Weg zum Doktorhut nicht selten schmerzhaft hart gepflastert ist – bekanntlich geht es ja immer nur per aspera ad astra – , sind informationspraktische “Blasenpflaster” auch in den Graduiertenschulen und -kollegs gerne willkommen. Und in genau dieser Absicht hat die Staatsbibliothek zu Berlin bereits vor einiger Zeit in ihrer Wissenswerkstatt ein zielgruppenspezifisches Veranstaltungsformat zum wissenschaftlichen Publizieren für Promovierende entwickelt oder – um im Bild zu bleiben – zusammengeschustert. Dieses möchte dazu beitragen, drückende Hemmschuhe aufzuschnüren und Sie möglichst leichtfüßig auf die letzte Etappe zur Erlangung Ihres akademischen Ritterschlags zu schicken. Denn erst mit der fristgerechten Veröffentlichung der Dissertationsschrift – darin sind sich die Promotionsordnungen aller Fakultäten einig – hat das Promotionsverfahren seinen formalen Endpunkt erreicht. Schließlich muss sich Ihre eigenständige Forschungsleistung, um überhaupt als solche gelten zu können, nicht nur in der Disputation – mithin im Kreuzverhör einer universitätsinternen Fachöffentlichkeit – behaupten, sondern später auch im Säurebad von Wissenschaftsdiskurs und Plagiatserkennungssoftware bestehen.

Konkret versuchen wir im Rahmen unseres quartalsweise angebotenen zweiteiligen Workshops Publish or Perish!? Wissenschaftliches Publizieren für Promovierende, Ihnen einige Tipps zur strategischen Wahl des für Sie „richtigen“ Publikationsorts zu geben – sei dieser nun möglichst reputationsförderlichen oder vielleicht besonders kostengünstig –, den Paragraphendschungel des Verlagsvertragsrechts zu lichten, juristische Fragen bei der Nutzung von Bildern zu klären und Ihnen die Akquise von Druckkostenzuschüssen zu erleichtern. Mit Blick auf den gegenwärtigen Strukturwandel der Wissenschaftskommunikation und die daraus resultierende Vervielfachung neuer Publikationsformen zielt Publish or Perish!? zugleich darauf, die Felder von Open Access, Forschungsdatenmanagement und (alternativer) Bibliometrie zumindest in groben Zügen zu kartieren.

Allerdings legt es gerade die erst kürzlich angesprochene neue Unübersichtlichkeit des wissenschaftlichen Publikationsmarkts nahe, mit einer Öffnung dieses Veranstaltungsformats zu experimentieren, zumal die Staatsbibliothek zu Berlin bei der Konzeption innovativer Beratungsangebote ohnehin im Netzwerk Informationskompetenz Berlin/Brandenburg mit zahlreichen anderen wissenschaftlichen Bibliotheken kooperiert. Im Rahmen dieser regionalen Zusammenarbeit haben wir daher das Programm von Publish or Perish!? in selbstständige Module gesplittet, um den Aspekt der Literaturverwaltung erweitert und mit unseren Berliner Partnerbibliotheken an der Freien, Technischen und Humboldt-Universität vereinbart, die inhaltliche Verantwortung für die einzelnen Veranstaltungen zu verteilen – und zwar in Abhängigkeit der Kompetenzschwerpunkte der jeweiligen Einrichtung. Klar, dass beispielsweise der Beitrag zum Forschungsdatenmanagement insofern geradezu zwingend von den Universitätsbibliotheken der Technischen Universität sowie der Humboldt-Universität zu leisten ist, haben doch beide Einrichtungen nicht nur vielfältige Beratungsservices (HU | TU) in diesem Bereich aufgebaut, sondern darüber hinaus auch technische Infrastrukturen – darunter institutionelle Forschungsdatenrepositorien sowie entsprechende disziplinäre Angebote für die historische Linguistik oder die Akustikwissenschaften.

Um dem gemeinsamen Vorhaben einen angemessenen Rahmen zu geben und der rasant zunehmenden Bedeutung von digitalen Informationsinfrastrukturen für den Forschungsprozess gerecht zu werden, eröffnet Prof. Dr. Reinhard Förtsch, IT-Direktor des auf den Feldern von eResearch und Open Science dynamisch agierenden Deutschen Archäologischen Instituts, die Veranstaltungsreihe mit dem Keynote-Vortrag Dissertation als empfohlene Insellösung? Individualismus versus Infrastruktur.

Seien Sie also recht herzlich eingeladen, zwischen 15. Juni und 11. Juli an der insgesamt sechsteiligen Veranstaltungsreihe für Promovierende Lost in Dissertation? Von der Literaturverwaltung bis zur Publikation teilzunehmen – ganz gleich, ob durchgängig oder gezielt zu einzelnen Terminen. In jedem Fall aber freuen wir uns schon auf Sie und hoffen, dass Ihre Dissertation mit Hilfe unserer bibliothekarischen List von einer Last zur reinen Lust werden wird.