Blog & Artikel

Artikel

GitOps geht auch ohne Kubernetes

Im Kubernetes-Universum ist GitOps erfolgreich. Dank der Versionskontrolle mit Git lässt sich die Betriebsumgebung transparenter und zuverlässiger konfigurieren. Aber GitOps klappt auch ohne Kubernetes.

Artikel

Kombinierbare Elemente für Benutzungsoberflächen im Web

Die Art und Weise, wie wir Benutzungsoberflächen im Web entwickeln, hat sich über die letzten Jahre stark verändert. In dieser Kolumne wollen wir uns deswegen ansehen, wie ein moderner Ansatz aussieht und vor welche Herausforderungen dieser, vor allem für klassische Templateengines der Java-Welt, uns stellt.

Blog-Post

Was treibt dich an?

Wie unterschiedliche Auslöser unterschiedliche Ansätze der Softwaremodernisierung bedingen

Artikel

Automatisierte Code-Wartung mit OpenRewrite

In Teil 1 dieser Serie habe ich gezeigt, wie OpenRewrite im Rahmen von Softwareentwicklungsprojekten zur Automatisierung von Code-Wartungsaufgaben verwendet werden kann. In diesem Beitrag zeige ich nun, wie man eigene OpenRewrite-Rezepte schreibt. Das hilft Dir nicht nur dabei, Refactoring-Aufgaben auszuführen, für die es keine öffentlich zugänglichen Rezepte gibt, sondern auch dabei, zu verstehen, wie OpenRewrite unter der Haube funktioniert.

Artikel

Abhängigkeitsupdates mit Renovate automatisieren

Egal ob wir an einer Anwendung oder Bibliothek arbeiten, wir haben es immer mit Abhängigkeiten zu tun. Wir sind abhängig von der Version unserer Programmiersprache, von externen oder internen Bibliotheken und von Werkzeugen. Neben der eigentlichen Verwaltung müssen diese auch regelmäßig aktualisiert werden. Das erfordert, neben dem Update selbst, auch, dass wir mitbekommen müssen, wenn es eine neue Version gibt. In diesem Artikel schauen wir uns deswegen eine Bot-basierte Lösung an, die uns genau hierbei unterstützen kann.

Blog-Post

Rooting Out Issues: JPA and Lombok Combination Problems Demystified

Artikel

Technologien zur Integration von Services

Im Zuge einer internen Studie haben wir mehrere INNOQ Berater*innen nach ihren Erfahrungen in aktuellen oder vergangenen Entwicklungsprojekten befragt. Ein interessantes Thema war dabei die Integration von Microservices und Self-Contained Systems (SCS). Um bessere Skalierbarkeit, stärkere Resilienz und losere Kopplung zu ermöglichen, wird in verteilten Systemen häufig auf asynchrone Kommunikation gesetzt. In diesem Beitrag erfahrt ihr, welche Erkenntnisse wir in den Gesprächen erlangt haben.

Blog-Post

Die Anatomie eines erfolgreichen Teams

Die Gründe für das Scheitern von Softwareentwicklungsprojekten sind vielfältig und zum Großteil nicht technischer, sondern organisatorischer Art: Zu hohe Komplexität, unklare Anforderungen, nicht-funktionale Teams, Fokus auf den falschen Dingen oder überhandnehmende Konzernpolitik. Bereits zum Projektstart können Maßnahmen getroffen werden, um einige dieser Risiken einzudämmen und die Aussicht auf einen Projekterfolg zu erhöhen. Dieser Artikel wird den Fokus auf ein funktionierendes, erfolgreiches Entwicklungsteam legen und erörtern, welche Stellschrauben Sie drehen können – und von welchen Sie lieber die Finger lassen sollten.

Blog-Post

Schema Evolution

mit Apache Avro

Artikel

Automatisierte Code-Wartung mit OpenRewrite

Bei der großen Anzahl von Softwareentwicklungsprojekten in den meisten Unternehmen kann es herausfordernd sein, diese Projekte mit den neuesten Sicherheitspatches und Framework-Updates aktuell zu halten. OpenRewrite ist eine Bibliothek, die eine automatisierte Lösung für dieses Problem bietet. In diesem Artikel erkläre ich, wie OpenRewrite funktioniert und wie Du es für die Wartung Deiner Code-Basis einsetzen kannst.

Blog-Post

Micro Frontends With Ionic And Capacitor

We planned and set up a micro frontend architecture using Capacitor and Ionic. In this article, I talk about some of the challenges we faced and the ways we solved them.

Artikel

Die Ökonomie von Gut & Crypto I

Soziotechnische Welten - Teil 11

Blog-Post

GitLab CI/CD Pipelines testen

Wenn wir eine Pipeline als Service oder Basis für andere Entwicklungsteams bereitstellen, sollten wir diese als Produkt behandeln und Produktentwicklungsprozesse, eine Versionierungsstrategie usw. dafür etablieren. Da potenziell viele Teams unsere Pipeline nutzen und sich auf diese verlassen, möchten wir außerdem sicherstellen, dass neue Features bestehende Funktionalitäten nicht beeinträchtigen. So können die Nutzer:innen unserer Pipeline zufrieden und produktiv ihrer Entwicklungsarbeit nachgehen. Daher benötigen wir eine Möglichkeit unsere Pipelines testen zu können. Eine Möglichkeit unsere GitLab CI/CD-Pipeline (integrativ) zu testen wird hier vorgestellt.

Blog-Post

Mit Reviews in Legacy-Situationen orientieren

In diesem Post möchte ich ein paar meiner Erfahrungen mit Legacy-Software teilen. Wir von INNOQ kommen meistens dazu, wenn die Entwicklung irgendwie stecken geblieben ist oder es unklar ist, wie es weiter gehen soll. Reviews, die in Zusammenarbeit von Beratern und Kunde durchgeführt werden, können in einer solchen Situation effektiv und schnell für Klarheit sorgen.

Artikel

New Work: Taylorismus 2.0

Wie New Work die Schattenseiten des Taylorismus verschärft

Artikel

Grundlagen der Softwarearchitektur: Teil 5

In dieser (fünften) Folge der Mini-Serie zu Softwarearchitektur verlassen wir die kleinen bis mittelgroßen Systeme, und werfen einen Blick auf große, riskante und komplexe Projekte. Sie können das als „Skalierung" der Rolle Softwarearchitektur betrachten.

Artikel

Grundlagen der Softwarearchitektur: Teil 4

In dieser (vierten) Folge der Mini-Serie zu Softwarearchitektur klären wir, wer denn die Architekturaufgaben erledigen könnte, die ich in der vorigen Folge vorgestellt habe. Dazu stelle ich einige mögliche Rollenausprägungen für Softwarearchitektur mit ihren jeweiligen Vor- und Nachteilen vor.

Artikel

Grundlagen der Softwarearchitektur: Teil 3

Aufgaben und Tätigkeiten - Wie geht das?

Blog-Post

How to bootstrap a tech conference with a 100% women+ speaker lineup

A tech conference focused on data and AI in the midst of a hype around machine learning, and LLMs in particular. Fair enough. But what we had in mind when planning the first edition of the Women+ in Data and AI summer festival in 2023 went beyond the latest trends in data engineering, machine learning, data science, and MLOps. We wanted to celebrate the excellence of women+ in the field. And to take it a step further, we wanted to provide our speakers and attendees with a safe and supportive environment - not only for learning, but also for networking and personal growth. Did we succeed?

Artikel

Grundlagen der Softwarearchitektur: Teil 2

Willkommen zum zweiten Teil der Mini-Serie zu Softwarearchitektur.

Artikel

JDK 21, das nächste Long-term Support Release

Ein Überblick über die Änderungen seit JDK 17

Artikel

Container für Tests und die lokale Entwicklung mit Spring Boot 3.1

Im Mai ist mit Spring Boot 3.1.0 das nächste Minor Release von Spring Boot 3 erschienen. In diesem Artikel wollen wir uns anschauen, wie die neue Unterstützung von Testcontainers und Docker Compose uns bei Tests und der lokalen Entwicklung unterstützen kann.

Artikel

Ist Platform Engineering das neue DevOps?

Wenn Unternehmen in die Cloud migrieren, erwarten sie einen verbesserten Entwicklungsfluss, kürzere Releasezyklen und mehr Verantwortlichkeit des gesamten Teams. Doch selbst, nachdem das Administratoren-Team die neue Plattform mit all ihren Funktionen bereitgestellt hat, zögern manche Softwareteams vielleicht noch, sie zu nutzen und Verantwortung zu übernehmen. Warum ist das so? Wünscht sich nicht jeder Entwickler, die Kontrolle über den Prozess vom Code Commit bis zum Deployment in Produktion zu übernehmen? Eine mögliche Erklärung ist, dass dem Nutzererlebnis der Plattform aus Entwicklersicht während der Konzepterstellung für die Plattform nicht genügend Beachtung geschenkt wird. Dieser Artikel befasst sich mit allgemeinen Problemen und untersucht, ob Platform Engineering helfen kann, sie zu beheben.

Artikel

Willkommen im Himmel

Mit Mehrwert zur profitablen Cloud

Artikel

Testen in Spring Boot-Anwendungen

Normalerweise schreiben wir neben Produktionscode auch Tests, um mögliche Fehler so früh wie möglich im Entwicklungsprozess zu finden und zu beheben. Häufig schreiben wir sogar für eine neue Funktionalität mehr Test- als Produktionscode. Gleichzeitig sollen die Tests möglichst schnell sein, damit diese häufig ausgeführt werden können, ohne große Wartezeiten zu produzieren. In diesem Artikel betrachten wir, wie das in Spring Boot basierten Anwendungen umgesetzt werden kann.