Microservices

Die Anbindung an externe HTTP Services richtig testen

Mit der verstärkten Verbreitung von Microservices steigen auch die Abhängigkeiten zwischen den verschiedenen Anwendungen. Aufgrund der eigenen Datenhoheit müssen Services auf die ein oder andere Art Informationen miteinander austauschen, um ihr (Business-)Ziel zu erreichen. Häufig ist REST bzw. HTTP dafür das Mittel der Wahl. Egal, ob man der klassischen Testpyramide oder einem der neueren Ansätze wie der Testhonigwabe [1] folgt: Irgendwann während der Entwicklung sollte die Kommunikation mit Integrationstests geprüft werden. Das ist der Punkt, an dem WireMock [2] ins Spiel kommt.

Softwarearchitektur, Teamarchitektur und JAX Online – Unsere Top-Themen der Woche

Die Welt öffnet sich seit letzter Woche allmählich wieder. Für DevOps könnte sich das Leben aber durch den Lockdown nachhaltig geändert haben. Wir haben uns dahingehend mit Themen aus dem Bereich Teamarbeit, bzw. „handwerkliches“ Arbeiten im Homeoffice beschäftigt. Apropos Homeoffice: Letzte Woche durften wir auch unsere erste JAX Online ankündigen, welche nächste Woche stattfinden wird und die man natürlich auch von zu Hause genießen kann.

Service Mesh und Microservices: „Wartbare Software zu schreiben, ist und bleibt offenbar ein schwieriges Problem“

Service Meshes und Microservices sind ein nahezu ungebremster Trend im Bereich der Softwarearchitektur. Mit der neuen Control Plane, istiod, im Service Mesh Istio kommt allerdings neuer Schwung in die Debatte darum, wie und wann diese Infrastukturmodelle angewandt werden sollten. Wir haben uns mit unserer Expertin Hanna Prinz über geeignete Anwendungsfälle, die Zukunft und die Nachteile von Microservices und Service Meshes unterhalten. Hanna Prinz ist Entwicklerin und Consultant bei INNOQ mit dem Schwerpunkt Infrastruktur und Service Mesh.

Java Magazin 6.20 erschienen: Per Microframeworks durch die Galaxis

Die Antwort auf die ultimative Frage nach dem Leben, dem Universum und dem ganzen Rest ist bekannt: 42. Glücklicherweise, denn Ungewissheit ist dem Menschen nicht sonderlich genehm. Und da wir ohnehin schon aktuell in sehr stürmischen und unvorhersehbaren Zeiten leben, ist es doch beruhigend, dass wir wenigstens auf die großen Fragen bereits eine mehr oder weniger zufriedenstellende Antwort erhalten haben.

Sicherheit, Eclipse Theia und das Home Office – Top 10 der beliebtesten Themen im April

Es war einmal in einem Monat April, als irgendwie alles Drunter und Drüber ging. Da wurden Tipps zu Home Office neben Einblicken in den großen Themenkomplex Sicherheit geteilt. Es gab dort auch neue Produkte zu bestaunen, wie Eclipse Theia und Project Loom. Diese 30 Tage, in denen erstaunlich viel über Microservices und Cloud-natives Java berichtet wurde, versetzte uns in eine ganz andere digitale Welt. Es war auch der Monat, in dem Git seinen 15. Geburtstag feierte. Und all diese wunderbaren Themen kommen zusammen in unserem Monatsrückblick für April.

EnterpriseTales: Cloud-Computing is someone else’s computer

Schon lange hören wir von Kunden immer wieder von der Absicht, in die Cloud zu wollen. So viele Befürworter hinter dem Geschäftsmodell stehen, so viele Kritiker stehen ihm gegenüber. Bei Vorfällen hört man dann immer öfter in scherzhaftem Ton, dass Cloud-Computing nur „someone else’s“ Computer sei. Doch ist das tatsächlich noch so? Steckt hinter Cloud-Computing wirklich nur der Computer von jemand anderem, oder hat sich das Geschäftsmodell in den letzten Jahren gewandelt?

Going Serverless: Migration nach AWS

Im dritten Teil dieser Serie haben wir unsere monolithische Anwendung durch die Zerlegung in verteilte Microservices wartbarer gemacht. Das ermöglicht es uns, diese unabhängig voneinander zu skalieren. Der Einsatz von verwalteten Services wie dem Application Load Balancer (ALB) [1], dem Amazon Relational Database Service (RDS) [2], Amazon ElastiCache [3] und Containern, die in AWS Fargate [4] laufen, hat uns bereits erhebliche Vorteile in Bezug auf den Betrieb, die Wartung und die Skalierbarkeit der Anwendung gebracht. Wir haben ebenfalls aufgezeigt, wie durch die Verwendung von asynchroner Kommunikation zwischen den einzelnen Microservices die Ausfallsicherheit erhöht werden kann.

DevOps im Jahr 2020: Unsere große DevOps-Umfrage

Was ist DevOps? Diese Frage hat keine klare Antwort, da die Wahrheit irgendwo zwischen Unternehmenskultur, Tooling, Methodik und verschiedenen Ansätzen zur Arbeitsweise liegt. Dennoch gibt es natürlich Faktoren, die einen Hinweis geben, wie sehr DevOps in einem Unternehmen oder einem Team angekommen ist. Mit unserer großen DevOps-Umfrage wollen wir herausfinden, wie es mit der in Ihrem Unternehmen um die Umsetzung von DevOps bestellt ist.

Architekturen für die Digitalisierung: Workflowautomation und Microservices

Fällt das Wort Digitalisierung, denken viele an Projekte im Umfeld des Internet of Things oder an spektakuläre Blockchains. Immer häufiger wird Digitalisierung in einem Atemzug mit künstlicher Intelligenz genannt, oder es werden neue Megaprojekte wie eine europäische Cloud ausgerufen. Dass es bei Digitalisierung jedoch zu großen Teilen darum geht, Prozesse digital zu unterstützen, die aktuell entweder mit manuellem Aufwand wie beispielsweise persönlichem Erscheinen verbunden sind oder lediglich schriftlich erledigt werden können, wird stark vernachlässigt. Nicht so in diesem Artikel.

Vom Backend ins Frontend: Microservices mit Micro Frontends ins Frontend bringen

Micro Frontends oder auch Micro Apps werden in letzter Zeit häufiger diskutiert. Nachdem Microservices-Architekturen im Backend wachsenden Anklang finden, schwappt dieser Architekturansatz auch immer öfter ins Frontend. Das erste Mal wurden Micro Frontends im ThoughtWorks Technology Radar Ende 2016 erwähnt. Seit dieser Zeit haben sich zahlreiche Bibliotheken und Hilfsmittel rund um diesen Architekturansatz entwickelt.

Glücklich ohne Service Mesh

Die Basis für sinnvolle Architekturentscheidungen ist die Auseinandersetzung mit dem Problem und ein guter Überblick über die Optionen. Hanna Prinz erklärt in diesem Beitrag, warum auch die Nutzung eines Service-Mesh-Werkzeugs nicht zwangsläufig eine gute Entscheidung ist.

Service Mesh und Istio – eine Infrastruktur für Microservices

Die Flexibilität und die Geschwindigkeit von Microservices [1] haben den hohen Preis eines verteilten Systems. Während der Betrieb dank Kubernetes kaum herausfordernd ist, müssen andere Funktionen aufwendig mit Bibliotheken implementiert und Werkzeuge für die Datenauswertung installiert werden. Ein Service Mesh wie Istio hilft, indem es viele Funktionen in die Infrastrukturebene hebt und Analysetools mitbringt.

Vom Monolith über modulare Architekturen zu Microservices mit DDD

In jedem Unternehmen gibt es große Softwaresysteme, die über viele Jahre weiterentwickelt wurden und deren Wartung Jahr für Jahr immer zäher und teurer wird. Vor dem Hintergrund neuer Architekturparadigmen wie Microservices sollen diese Systeme nun modern, skalierbar und flexibel werden. Dabei ist die Hoffnung, dass man sich der großen, schwerfälligen Monolithen entledigen kann, indem man sie in kleinere, besser zu beherrschende Microservices zerlegt.