Focus

Software Architecture

Articles, podcasts, talks, and more about Software Architecture.
Podcast

Produktdenken fĂĽr Plattformteams

Wie interne Plattformen echten Business-Mehrwert liefern

Article

The right size of a Data Product

Setting the boundaries of data products incorrectly can lead to integration issues, unclear ownership and duplicated logic. This guide offers practical heuristics for creating data products of the right size.

Article

Neuland reloaded

Podcast

Worst of Breed

Mit der Blockchain Cookie-Handling implementieren

Blog Post

Spec-Driven Architecture: When Agents Build, Architecture Must Speak

Spec-Driven Development gives agents a clear foundation for implementation. What it doesn’t solve is how a portfolio of systems stays coherent. Spec-Driven Architecture applies the same principle at the architecture level, using contracts as versioned boundaries and guarantees—enforceable in agentic workflows and in the CI/CD pipeline.

Article

Jeder kann Architekt sein!

Article

Ein Ăśberblick der AI-assistierten Softwareentwicklung in 2026

Birgitta Boeckeler (ThoughtWorks), Heinrich Hartmann (Zalando) und Sven Johann haben sich über den aktuellen Status der AI-assisted Software Entwicklung unterhalten: was ist wirklich Wichtiges in 2025 passiert? Welche stabilen Muster können wir ableiten? Was gibt Orientierung und Einordnung? Und natürlich ein paar Einblicke in den Future of Software Engineering Retreat in Utah an dem Birgitta teilgenommen hat. Die Unterhaltung gibt es natürlich auch als Podcast. Dieser Artikel ist aber eine menschlich kuratierte Zusammenfassung.

Blog Post

Your Database Table is an awful API

A shared database table can feel like the ultimate shortcut: no API design, no contracts - just a schema. The catch is that this convenience quietly turns into friction: it blurs boundaries, slows change, and makes independent evolution harder than it needs to be. This article looks at why tables (and data-model-shaped “generated APIs”) are such a tempting trap - and what better integration boundaries look like.

Podcast

EU-Data Act fĂĽr Digitale Dienste

Was Anbieter und Konsumenten jetzt vorbereiten mĂĽssen

Blog Post

Leave It Better Than You Found It

Leave your code better than you found it. This advice, also known as the Scout Rule, sounds so simple, but what does it look like in practice? This is the story of how I followed the advice and cleaned up a fat controller along the way, and how this unexpectedly enabled us to handle new requirements quickly and with minimal effort. It’s a lesson in habits and continuous architecture.

Podcast

Kontinuierliche Architekturarbeit

Wissen explizit machen

Blog Post

Why not scatter @Transactional everywhere?

Podcast

Resilienz

Prozesse, Kultur und Technik

Article

Managing Geopolitical Risks with Enterprise Architecture

IT leaders in Europe increasingly face questions about whether geopolitical developments – such as data protection disputes or trade conflicts between the EU and the US – threaten the viability of US cloud services. The risks range from price increases and legal uncertainties to potential usage restrictions. CIOs must not only ensure functional IT operations but also proactively assess external risks. This article demonstrates how enterprise architecture methods can help identify risks early and develop viable alternatives.

Article

The Path to Heterogeneous Cloud Platforms

Article

Achieving Digital Sovereignty with Standard Software

In the context of IT system landscapes, digital sovereignty is often equated with autarky— complete independence from third parties. By that logic, , a company developing and operating all applications in-house would be the ultimate example of digital sovereignty. But does this idea really hold up?

Podcast

20 Jahre arc42

Dokumentation im Wandel

Article

A Governance Framework for Digital Sovereignty

Article

Digital Sovereignty: Why Architecture Matters and How to Make Your Company Resilient

In an era where digital systems form the backbone of our economy and society, control over one’s digital future is increasingly becoming the focus of strategic decisions. For many technology decision-makers in German-speaking regions, this is not just a political or regulatory challenge, but a fundamental task with far-reaching implications for software architecture work.

Podcast

Cloud Migrationsstrategien

6Rs in der Praxis

Blog Post

Mobile Portale mit HATEOAS und Self-Contained Systems

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Practical Considerations & Recommendations

Turning principles and patterns into practice — just as promised.

Article

From Data Graveyards to Knowledge Landscapes

Europe is sitting on a wealth of public data—but much of its potential remains untapped. The challenges are well known: fragmented portals, incompatible interfaces, and growing reliance on non-European platforms that slow innovation. While new industrial data spaces are emerging—enabling secure and sovereign exchange of sensitive information—public and industrial data ecosystems remain largely siloed. This article explores how Artificial Intelligence (AI) and the Model Context Protocol (MCP) can help bridge that gap and accelerate Europe’s shift from Open Data to Open Knowledge—supporting digital sovereignty and delivering greater value to society.

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Decision Dimensions for Authorization Patterns

Article

Pragmatische Architekturdokumentation fĂĽr Entwicklungsteams

Eine gut gepflegte Architekturdokumentation ist nützlich, gerade auch für die Entwickler:innen eines Softwaresystems. Sie hilft nicht nur beim Verständnis, sondern sorgt auch dafür, dass sich wichtige Sachverhalte reflektiert diskutieren und klären lassen.

Podcast

Kopplung

Zwischen Abhängigkeit und Autonomie

Article

Digitale Souveränität – Ein Definitionsversuch

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Identity Propagation Patterns

Without trustworthy identity propagation, even strong initial authentication can be undermined — weakening trust boundaries and ultimately impairing the system’s ability to make reliable authorization decisions.

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Authentication Patterns

Without knowing who the subject is, without verifying its identity, there is only a limited way to perform meaningful access decisions.

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Core Concepts

Blog Post

What’s Wrong with the Current OWASP Microservice Security Cheat Sheet?

Modern microservice architectures require evolving security practices. Yet popular resources like the OWASP Microservice Security Cheat Sheet are starting to show their age and need a fresh look.

Podcast

Kohäsion

Wie viel Zusammenhang braucht ein Modul?

Article

Technical and other Debt in IT Systems

A Broad Perspective

Blog Post

Updating OWASP’s Microservice Security Cheat Sheet: Authorization Patterns

Authorization patterns explain how distributed systems organize their access control — where and how decisions happen, where policies live — and influence, in turn, how identities and related attributes travel between components.

Podcast

Testpyramide oder Testdiamant?

Welche Automatisierungsstrategie passt zu meinem Kontext?

Article

How Much Thinking Can a Team Handle?

Article

Enabling Stakeholders as a Success Factor

Sociotechnical architectures consider both technical and human-organizational aspects and promote their effective collaboration. To ensure the successful design and implementation of these systems, it is crucial to actively involve stakeholders and address their interests. In this article, we explore why enabling stakeholders represents a key function in sociotechnical projects and how you can implement this approach effectively.

Article

Don’t Forget the People

On paper, the architecture vision is perfect. It addresses all pressing deficiencies of the existing system, aligns seamlessly with the business domain, and enables teams to retain more work within their boundaries. Finally, we will enjoy higher speed-to-market and a significant reduction in (non-value-adding, tedious) coordination efforts between teams. Surely, everyone will immediately see how much better our new architectural vision is. Not quite.

Article

Socio-Technical Architectures: Informality from Mining to Today

Article

Interne Entwicklungsplattformen – Shift Down statt Shift Left

Interne Entwicklungsplattformen (IDPs – Internal Developer Platforms) helfen uns, die Softwareentwicklung zu beschleunigen. Sie sind die natürliche Weiterentwicklung der Entwicklungen der letzten Jahrzehnte. Warum das so ist, möchten wir mit einem historischen Abriss zeigen und danach auf die aktuellen Herausforderungen blicken.

Podcast

Jetzt doch wieder ein Monolith/Modulith?

Die Architekturfrage neu gestellt

Article

Socio-Technical Architecture as a Competitive Advantage

Blog Post

Bringt eure Schafe ins Trockene: Tipps fĂĽr politische Risikovorsorge

Eines vorweg: Keine Panik! Das ist aktuell wichtiger als sonst. Leider hat sich die Welt in den letzten Monaten drastisch verändert, sodass nun ein neues Risiko aufgetaucht ist: Die US-basierten Cloud-Dienste, die uns viel ermöglichen, die den Betrieb von Anwendungen so vereinfacht haben und viele Innovationen ermöglichen, könnten auf einmal gegen uns verwendet werden. Sei es politischer Machtmissbrauch oder eskalierender Drang nach Reichtum. Dies ist ein komplett neues Risiko, das auf uns alle in Europa zukommt.

Blog Post

Digitale Souveränität

Digitale Souveränität bedeutet letztlich, dass Europa die Kontrolle über seine digitale Zukunft behält – technologisch, wirtschaftlich und regulatorisch. Für Unternehmen ist dies nicht nur ein politisches Schlagwort, sondern ein handfester Faktor für Risiko- und Erfolgsbewertung. Doch warum genau sollten Unternehmen bei Entscheidungen zur digitalen Transformation den Aspekt der europäischen Souveränität berücksichtigen?

Article

Von Legacy-Monolithen zu Self-contained Systems

Article

Platforms, Teams, and APIs: How Do They Fit Together?

One of the major trends in recent years has been Platform Engineering, as many organizations strive for more efficient and fasterdevelopment practices. The term has gained traction since 2018, particularly following an influential article by Evan Bottcher. Looking at the origins of this concept provides valuable insights into the relevance of Platform Engineering today and its potential future developments.

Article

Common Approaches in the Field of Socio-Technical Architectures

In the age of digitalization and modernization, companies face the challenge of not only keeping up with technological advancements but also optimizing their organizational structures. Socio-technical architectures play a crucial role in this process by focusing on the flow of work, team collaboration, and the seamless integration of technical and social systems. This article explores two key approaches—Team Topologies and Domain-Driven Design (DDD)—and demonstrates how they can help organizations take the first steps toward consciously designing their socio-technical architecture.

Podcast

Vielschichtigkeit von Plattformen

Von Infrastruktur bis Business – eine Einordnung

Blog Post

Canvas 101

Steckbriefe sind kompakt, strukturiert und liefern gezielte Informationen – ideal, um sich schnell einen Überblick zu verschaffen. Ein Canvas funktioniert genauso, nur für IT-Projekte. Ob Geschäftsmodell, Architektur oder Teamkommunikation: Mit einem Canvas halten Sie die wesentlichen Aspekte strukturiert und übersichtlich fest.

Blog Post

Bessere APIs, aber wie?

API Linting verbessert die Qualität einzelner APIs und hilft, Design-Standards in Organisationen zu etablieren und zu unterstützen. Spectral als das populärste Linting Tool hat eingebaut Regeln und unterstützt selbstgeschriebene Regeln. Vor allem in grösseren Organisationen hilft API Linting, Hilfestellung und Automatisierung beim API-Design zu unterstützen.

Article

APIs als strategische digitale Bausteine

APIs, Optionalität, und die Wissenschaft glücklicher Zufälle

Article

Back to Basics: Gute Architektur muss nicht „trendy“ sein

Schlägt man ein IT-Magazin oder das Programm einer IT-Konferenz auf, springt dem Leser sofort der Hype ins Gesicht: Gestern waren es Microservices, die uns vor den zu groß geratenen Monolithen retten werden, heute ist es die generative KI, die als Heilsbringer oder Unheilstifter stilisiert wird. Dabei ist es auch ohne dieses Hintergrundrauschen nicht einfach, gute Architekturentscheidungen zu treffen.

Podcast

Die Reise der Zalando Reliability Organisation

Zu Gast: Heinrich Hartmann, 
Principal SRE
, Zalando

Podcast

INNOQ Technology Day

Programm und Behind the Scenes

Blog Post

LLM-assisted Abbreviation Mining for Legacy Systems

This blog post shows the process of mining abbreviations and discovering first concepts a COBOL legacy mainframe codebase is made of with the help of Large Language Models. It uses Python, pandas and Claude 3.5 Sonnet to generate insights that can be gathered from such a simple thing like a list of files.

Podcast

Qualitätstaktiken

Für angemessene Qualität sorgen

Article

Entwickler skalieren anders als Applikationen

Podcast

Was ist Programmieren?

Peter Naur’s “Programming as Theory Building” heute

Article

Nicht mehr Open-Source

Was kann man tun, um sich vorab dagegen zu wappnen, plötzlich für eine wichtige Technologie einem Anbieter ausgeliefert zu sein? Kann es auch eine valide Entscheidung sein, das Risiko bewusst in Kauf zu nehmen? Und sind die Risiken, die sich bei Verwendung von Open-Source-Technologien ergeben, per se geringer als bei kommerziellen Alternativen? Wie geht man damit um, wenn eine Technologie, die man verwendet, plötzlich nicht mehr Open-Source ist? Ist es sinnvoll, zu einem Fork zu wechseln, und welche Risiken bestehen dabei?

Podcast

Bootcamp Softwarearchitektur

Die iSAQB-Advanced-PrĂĽfung

Article

API gut, alles gut

Unternehmen streben häufig eine Modularisierung (wie durch Microservices) an, die Teams unabhängiger voneinander arbeiten lässt. Dabei ist aber ein reines Aufteilen der Applikation in verschiedene Module/Container/Bausteine nicht ausreichend. Die Abhängigkeit oder Unabhängigkeit entscheidet sich vielmehr mit der Gestaltung der Schnittstelle, genauer: Mit der Frage, ob die gewählte Schnittstelle fachliche Implementierungsdetails preisgibt oder diese versteckt.

Article

Where does it go from here?

In this (fifth) installment of the mini-series on software architecture, we leave behind the realm of small to medium-sized systems and take a look at large, risky, and complex projects. In other words, we examine the “scaling” of the role of software architecture.

Article

Who does it?

Fundamentals of software architecture – Part 4

Podcast

Backstage

Erhöhte Development Experience

Article

Technologies for the Integration of Services

In the course of an internal study, we asked a number of INNOQ consultants about their experiences in current or past development projects. One interesting topic here was the integration of microservices and self-contained systems (SCS). Asynchronous communication is frequently used in distributed systems to enable better scalability, greater resilience, and looser coupling. In this article, you will read what insights we learned in our conversations.

Article

Tasks and activities – How is it done?

Fundamentals of software architecture – Part 3

Podcast

Kultur der Architekturarbeit

Vernetzung und Dialog zwischen Teams

Article

Building, purpose, aesthetics

Welcome to the first part in the mini-series on software architecture. We start by examining the original source of the term – since the word architecture presumably conjures in most people thoughts of buildings.

Article

Terms

Fundamentals of software architecture – Part 2

Blog Post

Rate Limiting with Spring Boot, Bucket4j, and Redis

Let’s implement rate-limiting protection for multiple Spring Boot server instances using bucket4j and redis to have the solution on application level.

Blog Post

Rate Limiting with Spring Boot

Let’s implement rate-limiting protection for your Spring Boot server without the need for any additional dependencies beyond those included in the Spring Boot Starter package.

Podcast

Architecture Antipatterns

Von guten Ideen und Kipppunkten

Podcast

Architektur-Reviews

Systematisch Risiken und Probleme aufdecken

Podcast

Architecture Communication Canvas

Dokumentation auf einer Seite

Blog Post

Schema Evolution

with Apache Avro

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.

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.

Article

No future-proof architectures!

Why future-proofing should not be an architecture design goal.

Blog Post

Concise Documentation – Revisited

You think architecture documentation is cumbersome and takes a long time to create? We will prove you wrong.

Blog Post

Evolving software like an orchardist

Software systems are usually larger, overgrown structures that developers need to bring back into shape after some time. However, creating an overview of the sprawling conglomerate of software components is challenging, let alone developing a clear plan for moving on. This blog post uses analogies from pruning apple trees to show developers how to evolve their software systems using a value-based approach.

Blog Post

Draw The Diff

Article

What is Sustainable Software?

Environmental sustainability is a very important issue, but software is something virtual, so it doesn’t seem to have an impact, right? Wrong! As software creators, we have a significant impact and can make a difference by incorporating the principles of eco-friendly software development into our understanding and practices.

Article

Shortcomings of ISO 25010

Published in 2011, the ISO 25010 standard on software product quality lacks pragmatism and practical applicability. Terms like scalability, deployability, energy efficiency, safety, or code quality are missing. This article explains these shortcomings and shows that even the (draft) update from 2022 still needs polishing…

Blog Post

Behaviour over structure

Podcast

Advent of Code

25 weihnachtliche Programmier-Rätsel

Article

Frontend integration options

The integration of data and functionality in the frontend is a powerful topic that is still rarely discussed. This article aims to try and show established patterns of frontend integration and briefly name possible advantages and disadvantages.

Podcast

Nachhaltige Web-Architektur

Ständige Verfügbarkeit – Muss das sein?

Podcast

Wardley Maps

Softwarelandschaften kartographieren

Article

Sparsame Dokumentation

Ich weiß – Dokumentation ist nicht Ihr Lieblingsthema. Deswegen bekommen Sie hier ein paar Tipps für schmerzfreie Dokumentation. Die hier vorgestellten Ideen sparen Ihnen wertvolle Zeit, sowohl bei Erstellung als auch Pflege der Dokumentation. Sie funktionieren für jede Art von Softwaresystem, unabhängig von Werkzeugen, Technologien und Entwicklungsansätzen.

Article

1Ă—1 guter Architekturdiagramme

Von schlechter zu besser mit 11 praktischen Tipps

Blog Post

Der Kickstart fĂĽr Softwarearchitektur

Zweifellos: Softwarearchitektur ist ein kompliziertes Thema. Dennoch können schon einige wenige Techniken helfen, die Architektur in vielen Projekten zu verbessern. Dazu muss man sie aber wirklich beherrschen und anwenden können. Wie kann man das dazu notwendige Wissen möglichst einfach und effektiv erlernen?

Blog Post

Documenting software architecture with arc42

arc42 is a template for architecture communication and documentation. It is a proven, practical and highly pragmatic approach and takes the pain out of documentation.

Article

cards42 English edition

The activity cards for software architects

Article

Principles of technical documentation

This article collects fundamental requirements for technical documentation, especially software architecture documentation, together with ideas how to satisfy those.

Blog Post

Data Mesh to Go: How to Get the Data Product

You know what a data mesh is? You understand its basic principles? But you don’t know how on earth to get the data product? Then I will show you how to extract your data product from your Domain-driven Design (DDD) artifacts.

Article

HTTP Feeds

Asynchronous Interfaces without Kafka or RabbitMQ

Article

Quality Driven Software Architecture - Revised

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.

Blog Post

What’s in a name: Legacy

The term “legacy” has a negative connotation in IT, and stands for an old, somehow bad piece of software. In real-life, legacy has a completely different and often positive meaning.

Article

Innovation on steroids - Teil 2

Mit DDD und ML Design Canvas Use Cases fĂĽr Machine Learning identifizieren

Podcast

Ist Domain-driven Design ĂĽberbewertet?

Goldenes Kalb oder „nur“ Werkzeug?

Article

Innovation on steroids - Teil 1

Immer mehr Firmen setzen auf die Innovationskraft von Machine Learning und KI. Aber nicht jedes Problem lässt sich mit dem Einsatz von ML-Technologien lösen. Wie also kann man geeignete ML Use Cases identifizieren?

Blog Post

What’s in a Name: Quality

Blog Post

Is Domain-driven Design overrated?

Domain-driven design (DDD) is a useful approach that provides excellent guidelines for modeling and building systems, but it is a means to an end, not an end in itself. While the concepts are valid, you lose a lot if you limit yourself to using them only: There actually is a life beyond DDD.

Article

Domain-driven Design und Bounded Context

Die Konzepte von DDD und Bounded Context sind in der Praxis komplizierter, als es auf den ersten Blick erscheint.

Article

The art of software reviews

Probleme und Risiken in Software zielsicher identifizieren

Article

Die VENOM Story

Sie erfahren anhand eines (komplett anonymisierten), realen Beispiels, wie die inkrementelle Modernisierung eines historisch gewachsenen Systems funktionieren kann. Das riesige, gewucherte System VENOM von >2 Mio Lines-of-Code zu modernisieren oder komplett neu zu schreiben - vor dieser schweren Entscheidung stand die (fiktive, aber sehr realitätsnahe) Firma SAMM Inc.

Article

Gut gesiebt

Für die komplexe Infrastruktur großer Microservice-Umgebungen versprechen Service Meshes eine einfache Lösung. Aber nur mit dem Blick für die richtigen Eigenschaften lässt sich der beste Ansatz für die eigene Architektur finden.

Blog Post

Happy without a Service Mesh

The basis for meaningful architecture decisions is the examination of the problem and a good overview of the options.

Article

Domain-driven Design in the Large

If you know how to classify the concepts of DDD correctly, it will be easy to achieve good results - and there is a structured approach to achieve that!

Blog Post

Wenn Customizing zur Legacy wird

In diesem Blog-Post visualisiere ich ein regelrechtes Schlamassel mit Hilfe von Wardley Maps und Elementen aus dem strategischem Domain-driven Design.

Blog Post

Architektur, die mitwächst

Article

Domain-driven Design to the code

Beim strategischen Domain-driven Design fokussieren wir uns in der Modellierung sehr stark darauf, die Fachlichkeit möglichst passend zu identifizieren und im Design abzubilden. Leider verlieren wir Entwickler bei der technischen Umsetzung diesen fachlichen Fokus dann aber allzu oft wieder aus den Augen und lassen uns (zu) stark vom neusten hippen Framework begeistern, leiten und beeinflussen und verschmutzen so das fachliche Modell mit unzähligen Technologien. Die Ideen der Onion Architecture und der Einsatz von Stereotypen in der Code-Basis erlauben es, eine Trennung des fachlichen Code vom technisch bedingten Code zu erreichen. Dieser Artikel beleuchtet diese Konzepte und zeigt auf, wie dank Stereotypen in Verbindung mit den taktischen Mustern von DDD diese Trennung konkret erreicht werden kann.

Article

Kubeless - FaaS auf Kubernetes

Kubernetes und Serverless sind zwei der bedeutendsten Trends beim Betrieb von Software. Kubeless verspricht sogar, beides zu vereinen, und lohnt daher eine nähere Betrachtung.

Blog Post

Agile Architekturarbeit

Das Gegenteil von geplant und vorausschauend?

Blog Post

Architektur-Reviews remote durchfĂĽhren

Software Reviews lassen sich dank moderner Arbeitsmittel remote durchführen und schaffen dabei auch neue Möglichkeiten.

Blog Post

GlĂĽcklich ohne Service Mesh

Es muss nicht immer ein Service Mesh sein. Auch Microservices sind nicht per se eine gute Idee. FĂĽr gute Entscheidungen mĂĽssen wir uns das Problem genau anschauen.

Article

Requirements Engineering

Requirements the basis of efficient software development

Article

Command & Control, SAFe, Domain-driven Design, and Release Trains

Large complex projects are difficult to manage. Software release trains are one solution to coordinate such projects. But the approach is not a great fit for self-organization and modern management ideas.

Article

Identification of quality requirements with Quality Storming

Quality Storming is a workshop for the identification of quality requirements based on a quality model, for example ISO 25010, using methods and ideas of Collaborative Modeling, which is popular in the Domain-driven Design Community. An important aspect in this context is a cross-collaboration of different stakeholders and skill sets.

Article

Warum Domain-driven Design?

Fachlich sinnvoll schneiden

Blog Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Quarkus.io ist ein neues Framework, das optimiert ist, um Java Anwendungen Cloud Native laufen zu lassen. Sollte ich meine Java-Anwendungen daher jetzt nicht mehr in Spring Boot sondern in Quarkus.io entwickeln?

Article

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Service Meshes heben viele Randfunktionen von Microservices wie Monitoring, Routing und Sicherheit in die Infrastruktur und sind entsprechend beliebt in Microservice-Architekturen - doch schaffen sie diesen beachtlichen Mehrwert auch bei asynchroner Kommunikation oder in Self-contained Systems?

Article

Architektur­entscheidung im agilen Team

Zusammen Architektur machen

Article

Software-Architektur: Worauf es ankommt

Die Architektur definiert die Struktur eines Software-Systems und ist zentral fĂĽr den Erfolg eines Projekts. Deswegen ist Software-Architektur so wichtig. Aber in Wirklichkeit ist Software-Architektur noch viel mehr und eine erfolgreiche Software-Architektur erfordert viele, teilweise ĂĽberraschende MaĂźnahmen.

Article

JavaScript? Yes, but in moderation

The benefits of classic architecture decisions for web applications.

Blog Post

code-your-model

modularized modeling based on a project-specific DSL

Article

Alle 11 Minuten verliebt sich ein Microservice in Linkerd

Beim Thema Service Mesh hieß es lange immer nur “Istio”. Doch die Komplexität des Projekts und die steile Lernkurve ebnen leichtgewichtigen Alternativen den Weg. Wir haben uns mit Linkerd 2 beschäftigt und wurden nicht enttäuscht.

Article

Cloud-native, Microservices, Domain-driven Design, Kubernetes

Software-Entwicklung unterliegt schon immer Hypes. Im Moment reden alle über Microservices und Cloud-native. Aber helfen diese Ansätze wirklich weiter?

Article

Warum Microservices scheitern

Article

Das Service Mesh

Die Stärke einer Microservice-Architektur ist die lose Kopplung der Module. Und gleichzeitig ist es auch ein großer Nachteil, denn in jedem Microservice müssen Funktionen wie Monitoring, Tracing und Circuit Breaking erneut gelöst werden. Ein Service Mesh verspricht, viele der Funktionen in die Infrastruktur zu ziehen. So wird es endlich kinderleicht, Microservices zu entwickeln und auch zu bändigen - oder vielleicht doch nicht?

Article

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Die Anzahl von Publikationen zu Computer Vision, Natural Language Processing (NLP) oder Reinforcement Learning ist heutzutage gewaltig. Dabei widmen sich die meisten ausschließlich dem Training. Doch oft müssen Data Scientists auch beim Betrieb ihrer Modelle mitwirken. Dafür braucht es einen pragmatischen und unaufwändigen Weg.

Article

cards42

Die Mitmach-Karten fĂĽr Softwarearchitekt*innen

Blog Post

Event Storming und Domain Story Telling - Ein Vergleich

“Knowledge Crunching” nennt Eric Evans die wichtigen Gespräche mit Domänenexperten, die in seinem Buch “Domain-driven Design” zu tieferem Verständnis der Fachdomäne führen sollen. In den letzten Jahren haben sich für diese Gespräche zwei moderne Workshopformate etabliert: “Event Storming” und “Domain Storytelling”.

Blog Post

Cooking with Onions: Inward-Pointing Arrows

The onion architecture is an established approach to structuring applications.

Blog Post

Domain Events vs. Event Sourcing

Why domain events and event sourcing should not be mixed up

Blog Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Article

Technologien fĂĽr Microservices

Microservices führen zu neuen Herausforderungen und machen neue technologische Ansätze notwendig. Microservices-Frameworks sind zwar ein Teil der Lösung, aber sicher nicht der wichtigste. Welche Technologien spielen eine entscheidende Rolle?

Article

Microservices – oder doch nicht?

Alternativen und Nachfolger zum Hype

Article

Benimmregeln fĂĽr Architekturen - automatisch geprĂĽft

Softwareentwicklung und automatisierte Tests funktionaler Anforderungen sind in modernen Systemen untrennbar miteinander verbunden. Da ist es nur folgerichtig, wenn die Softwarearchitektur als eminent wichtiger Bestandteil von Applikationen auch einer ordentlichen Qualitätssicherung unterliegt. Wir stellen ArchUnit vor, mit dem Sie auf einfache Weise automatisierte Tests für die Architektur einer Applikation realisieren können.

Blog Post

Serverless - The Vendor Is Not Your Enemy

Argumente für und gegen Serverless gibt es viele. Dieser Post behandelt konkret das Thema Vendor-Lock-in, welches bei der Entscheidung für oder gegen Serverless häufig diskutiert wird.

Podcast

Microfrontends

Unabhängige Teams im Frontend

Blog Post

Do We Worship Complexity?

Complexity is the most important challenge in software development. So it is important to always strive to eliminate complexity. But sometimes we worship complexity - and that can make complexity problems unsolvable.

Article

Prinzipien zur Entwicklung von unabhängigen Systemen

Viele Systeme werden aktuell mit einer Microservice-Architektur geplant und umgesetzt. Da jede Architektur Vor- und Nachteile aufweist, muss die gewählte jedoch auch zum Problem passen. Dieser Artikel zeigt, welchen primären Vorteil eine Microservice-Architektur hat und welche Prinzipien bei der Entwicklung beachtet werden sollten, um diesen Vorteil nicht zu neutralisieren.

Blog Post

No-Principles Software Architecture

Think for Yourself!

Blog Post

Code Redundancy or Reuse?

Reuse used to be the holy grail of software development. If developers reuse code, they don’t have to write it again. This should increase productivity significantly. In the meantime, however, some things have changed - and even redundant code has advantages. So avoiding redundancy is also just another trade-off.

Blog Post

Was ist ein Domain-driven Design Architektur-Kata?

Architektur-Katas sind ein sehr interaktives Trainingsformat. Sie eignen sich hervorragend, um Domain-driven Design (DDD) zu vermitteln.

Blog Post

OpenID Connect Auth-Proxy

Podcast

50 Tipps

Ratschläge zu Software, Zusammenarbeit und Druckkaramellisierung

Blog Post

Technical Debt Just Happens

“Technical debt” is a great metaphor to reason about the quality of a software project. But a closer look also reveals some problems and shows approaches how to deal with software quality even better.

Blog Post

Microservices? Or Rather Monoliths?

After the Hype

Blog Post

A Playground for Testing OpenID Connect

This post describes how you can set up a development environment in order to play around with your OpenID client implementation. When running your application in a cluster, it can be difficult to test how it will behave behind a load balancer. One factor that can be particularly difficult to test is when you are communicating with an OAuth 2.0 or OpenID Connect server which expects that a request will be redirected back to the same application instance that it came from.

Podcast

Transklusion

Frontendintegration im Web

Blog Post

Schubladendenken - aber konstruktiv

Verwendung von Stereotypen im Code als Basis für ein gemeinsames Architekturverständnis - und mehr

Podcast

Independent Systems Architecture

Best Practices fĂĽr Microservices

Blog Post

Domain Exceptions?

In jedem Softwaresystem kommt es zu Ausnahmesituationen. In der Regel handelt es sich um technische Ausnahmen, die in Java als Exceptions auftreten und behandelt werden. Gibt es aber auch fachliche Ausnahmen, also quasi “Domain Exceptions”? Und ist es sinnvoll, diese in Java als Exceptions zu modellieren? Einige Beispiele aus einem Kundenprojekt zeigen, dass dies häufig nicht der Fall ist.

Blog Post

dprox – Declarative Reverse Proxy

Blog Post

Service Mesh und Kubernetes

Zum Betreiben einer Website stellt Kubernetes einige wichtige Ressourcen, wie Service (round robin load balancer), Ingress (Proxy als API Gateway) und Pod (logischer Host) zur VerfĂĽgung. Dennoch sind sie nur eine Grundlage. FĂĽr komplexere, ĂĽber Jahre laufende Webportale, ist mehr erforderlich als das. Service Meshes liefern, was den Kubernetes Bordmitteln fehlt.

Blog Post

FaaS und Kubernetes

Inzwischen gibt es bei den meisten Cloudanbietern die Möglichkeit kleine Codeteile als sogenannte Functions zu hinterlegen. Da kein expliziter Server existiert, dort spart das Kosten. Aber auch sonst bieten Functions eine interessante Abstraktion, deren Vorteile man ebenso gerne innerhalb eines Kubernetes Clusters nutzen möchte.

Podcast

Microservices Praxisbuch

Grundlagen, Konzepte und Rezepte

Blog Post

DDD mit Onion Architecture

3 GrĂĽnde, weshalb Onion Architecture fĂĽr die Umsetzung von Bounded Contexts nach Domain-driven Design besonders geeignet ist.

Blog Post

The language of maths is not the language of your business

Abstractions from category theory can be powerful. But there are reasons why you may want to keep your domain model free of them.

Article

Domain- und Test-driven Development mit Spring Boot 2 Softwarearchitektur

Blog Post

Proof of Existence via HTTPS

Übliche “Proof of existence” - Konzepte nutzen die Blockchain von Kryptowährungen. Das geht auch einfacher und billiger.

Article

Evolution statt Verschlimmbesserung

Erweitern, ändern und korrigieren bestehender Software - meistens unter Zeitdruck – führt in vielen Fällen zu schleichendem Verfall. Dadurch werden Änderungen einerseits immer schwieriger, andererseits auch immer teurer und riskanter. Das Open-Source Projekt aim42 (architecture improvement method) setzt genau dort an – mit Praktiken und Patterns für systematische Verbesserung – technologieneutral und leichtgewichtig.

Blog Post

Vertrauensvolle und angstfreie Kommunikation als Grundlage gelungener Softwarearchitektur

Article

Probleme bei der EinfĂĽhrung von Microservices: Seien Sie vorbereitet!

Nachdem man sich die Frage gestellt hat, warum man Microservices einsetzen will, und diese richtig beantwortet hat – nicht wegen dem Hype oder um als spannendes Unternehmen für Fachkräfte dazustehen –, geht es im nächsten Schritt natürlich darum, Microservices auch einzuführen. Dabei wird man auf jeden Fall auf einige Probleme stoßen. Es gilt, die Zahl der unknown Unknowns zu reduzieren, sodass Sie in Ihren Projekten weniger Überraschungen erleben. Die Probleme teilen sich in vier Bereiche auf: Technik, Prozesse, Schnitt und Menschen.

Blog Post

What’s in a Name: Evaluate

The term evaluation is often used in the context of system and architecture reviews. In my opinion, this term is often misleading and such activities should be named differently.

Podcast

Domain-Driven Design

Ăśberblick ĂĽber Strategic und Technical Design mit DDD

Article

Microservices – der aktuelle Stand

Microservices sind in aller Munde. Gerade bei Software-Entwicklung machen solche Hypes misstrauisch. SchlieĂźlich steckt hinter einem Hype oft wenig Substanz. Es ist also Zeit ein erstes Fazit zu ziehen.

Article

Warum wollen Sie Microservices einfĂĽhren?

Mit diesem Artikel möchte ich Ihnen die Frage stellen, warum Sie eigentlich Microservices einführen wollen. Denn es ist immens wichtig, sich der Gründe und Ziele bewusst zu sein. Leider habe ich zu oft erlebt, wie die glänzenden, neuen Technologien die eigentlichen Ziele des Unternehmens in Vergessenheit geraten lassen und zum Selbstzweck werden.

Article

Datenarchitekturen – nicht nur fĂĽr Microservices

Warum die Behandlung von Daten so wichtig ist

Article

Innovation Tokens – Gegen Informatikerromantik und TechnologieĂĽberflutung

Zu oft werden in Softwareprojekten zu viele neue Dinge gleichzeitig ausprobiert, ohne dass der Business Value erkennbar wäre- und vor allem, ohne die Risiken vorher abzuschätzen. Eine Möglichkeit, die unnötige Technologieüberflutung zu vermeiden, sind Innovation Tokens. Mit diesen lassen sich Innovationen in geregeltere Bahnen lenken und bieten eine Grundlage für weniger emotionale Technologiediskussionen.

Podcast

Self-Contained Systems – Teil 2

Einsatzszenarien und Architekturevolution

Podcast

Self-Contained Systems – Teil 1

Eigenschaften und Umsetzung

Podcast

Event Sourcing und CQRS – Teil 2

Implementierung und Architektur

Podcast

Event Sourcing und CQRS – Teil 1

Vor- und Nachteile sowie Einsatz in verteilten Anwendungen

Blog Post

Design Patterns: Noch nie so wertvoll wie heute?

Blog Post

Serverless

Um den Begriff serverless gibt es immer noch hitzige Diskussionen. Einige halten ihn für einen Hoax und setzen ihn mit “useless” gleich, andere schwören darauf, dass serverless bald alle anderen Architekturstile ablösen wird.

Blog Post

Implementierung einer einfachen Zustandsmaschine (state machine) in Java

Eine simple Zustandsmaschine (state machine) in Java

Article

Lokale Datenanalyse mit Data Frames

Am Anfang war die Frage

Podcast

Self-contained Systems und Frontend-Integration – Teil 2

Alternativen zu SPAs und Umsetzung von SCS

Blog Post

arc42 - die Siebte

Das bewährte arc42 Template ist gerade in Version 7 erschienen - mit deutlichen Erweiterungen im Ökosystem. Grundsätzlich bleibt arc42 V7 kompatibel mit den Vorgängerversionen, ist insgesamt noch kompakter und pragmatischer geworden.

Podcast

Self-contained Systems und Frontend-Integration – Teil 1

Eigenschaften und Vor- und Nachteile

Article

Microservices lieben Domain Driven Design, warum und wie?

Das Buch Domain Driven Design, welches Eric Evans vor gut 13 Jahren publizierte, galt schon seit jeher als herausragende Referenz für die fachlich getriebene Modellierung von IT-Systemen. Mit dem Einzug von Microservices erfährt Domain Driven Design eine Renaissance, denn die beiden Ideen lassen sich wunderbar miteinander kombinieren. Im Laufe des Artikels werden Sie kennenlernen, wie Sie mit Hilfe der Ideen von Domain Driven Design technisch wie fachlich tragfähigen Microservice Landschaften entwickeln können.

Article

Microservices Ă  la Netflix

Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?

Article

Services: SOA, Microservices und Self-contained Systems

Article

Self-contained Systems: A Different Approach to Microservices

Microservices are the current hype in the Software Architecture community. However, microservices can be used in many different scenarios to reach different goals. Self-contained Systems (SCSs) are one approach to achieve some of those goals while avoiding many common pitfalls.

Article

Microservice-Infrastruktur

Die Cloud und darauf aufbauend Microservices haben in den letzten Jahren die Softwareentwicklung stark beeinflusst. Vor allem im Bereich der Infrastruktur tut sich hier auch heute noch einiges. Dabei wird man den Eindruck nicht los, dass jede Woche ein neues Produkt veröffentlicht wird. In diesem Artikel versuche ich, Ihnen durch diesen Dschungel zu helfen.

Article

Software-Architektur fĂĽr Innovation

Wie Software neue Umsatzquellen erschlieĂźen kann

Blog Post

The perils of shared code

In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

Article

Spring Boot fĂĽr Microservices

Die Implementierung von Microservices stellt im Vergleich zu monolithischen Anwendungen Entwickler vor einige Herausforderungen. Spezialisierte Technologien wie Spring Boot unterstĂĽtzen die Umsetzung von Microservices und machen so den Projekten das Leben leichter.

Article

Wie kommt man zu Self-Contained Systems?

Architektur auf mehreren Ebenen

Article

Deployment und Monitoring von Microservices

Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

Article

Microservices - eine Bestandsaufnahme

Kaum ein Thema ist im Moment so ein Hype wie Microservices. Welche GrĂĽnde gibt es dafĂĽr? Und wie kann man Microservices gewinnbringend einsetzen? Welche Herausforderungen gibt es? Dieser Artikel gibt einen Ăśberblick ĂĽber den Architektur-Trend und beantwortet die wichtigsten Fragen.

Article

Software systematisch verbessern

Mit etablierten, iterativ angewandten Praktiken zeigt aim42 Wege aus der Legacy-Hölle

Article

Zwei Jahre nach dem Tod der Java Application Server

Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

Blog Post

What’s in a Name: Architecture

The term architecture is used with slightly different meanings throughout the IT industry. This post clarifies what (software) architecture is all about - and which misunderstandings might linger on your way to common understanding.

Article

Nachhaltige Webarchitekturen

Warum REST und SPAs nicht immer die Lösung sind

Blog Post

Der Architektenaufzug: Ă–fters mal nach oben fahren

In einem Gastbeitrag geht Gregor Hohpe der Frage nach, welche Rolle Softwarearchitekten in Zeiten der Digitalen Transformation spielen, und welche Relevanz diese Aufgabe fĂĽr die Zukunft von Unternehmen hat.

Blog Post

ROCA vs. SPA

Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

Article

AWS Lambda

Serverlose Microservices

Blog Post

Solving the wrong problems

Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

Article

Java-Web-Frameworks von innen?

Web-Frameworks fĂĽr Java gibt es nun bereits seit fast 20 Jahren. Diese nehmen dem Anwendungsentwickler eine Menge Arbeit ab und sorgen dafĂĽr, dass dieser sich nicht auf Infrastruktur konzentrieren muss, sondern die Anwendungslogik im Vordergrund steht. Doch was genau tut so ein Web-Framework eigentlich? Dieser Artikel zeigt, was heutige Web-Frameworks leisten und wo diese sich dann doch in Nuancen unterscheiden.

Blog Post

What’s in a Name: Transparency

Blog Post

Transclusion in self-contained systems

Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems' content in the DOM of a web page.

Article

Microservices - Agilität durch Modularisierung

Microservice-Architekturen sind der neue Hype. Viele denken: Alles wird einfacher mit diesem Ansatz - Software ist langfristig wartbar, die Entwicklung wird schneller und die Software skaliert besser. Es ist aber an der Zeit fĂĽr einen detaillierten kritischen Blick.

Blog Post

Transklusion in Self-Contained Systems

Blog Post

Why RESTful communication between microservices can be perfectly fine

Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

Podcast

Redis in der Praxis

Ăśberblick und praktischer Einsatz des schnellen Datenstruktur-Servers

Article

Terravis

Zwischen Agilität, Veränderungen, neuen Dingen und Komplexität

Article

Microservices: Agilität mit Architektur skalieren

Software Architektur beschreibt die Aufteilung von Software-Projekten in Module – aber die Architektur hat nicht nur Auswirkungen auf die Struktur der Software, sondern auch auf die Organisation der Projekte. Microservices machen sich das zu nutze – und sind so eine neue Hoffnung für produktive und nachhaltige Software-Entwicklung gerade auch bei großen Teams.

Article

Docker - Perfekte Verpackung von Microservices

Die Microservice-Bewegung ist mit viel Schwung gestartet und in großen Unternehmen angekommen. Überall werden Monolithen zerschlagen und durch eigenständige, fachlich definierte Microservices ersetzt. Entwicklungsteams können eigenverantwortlicher und autonomer agieren und damit deutlich schneller Ergebnisse ausrollen. Aus Sicht des IT-Betriebs bringen sie aber auch eine Menge Herausforderungen: Statt weniger großer und etablierter Unternehmensanwendungen, existieren plötzlich Landschaften mit einer Vielzahl an kleinen, sich schnell ändernden Services, die alle konfiguriert und überwacht werden wollen. Eine Container-Technologie wie Docker kann das ideale Mittel sein, um diese Services zu verpacken und auszurollen. Aber welche Probleme löst Docker genau und welche neuen Herausforderungen bringt es mit? In diesem Artikel zeigen wir, für welche Software-Architekturen Docker geeignet ist und wie ein Einsatz von Docker dabei helfen kann, Microservice-Architekturen zu kontrollieren.

Blog Post

What’s in a Name: Consistency

Blog Post

Microservices und Continuous Delivery: Nur zusammen möglich?

Microservices unterteilen große Systeme in kleine Deployment-Einheiten. Dies macht Continuous Delivery wesentlich einfacher. Sind aber Microservices ohne Continuous Delivery möglich? Und ist Continuous Delivery ohne Microservices umsetzbar? Ist die Kombination eher eine Synergie oder macht sie nur alles noch komplizierter?

Article

Gegen die dunkle Macht

Ein ganz normaler Tag: Morgens frage ich mich, welche Katastrophe mich heute erwartet. Ich bin einiges gewohnt, aber die letzten Monate wurde es immer schlimmer: FrĂĽher gab es nur Fehler im Test oder Schwierigkeiten bei der Entwicklung. Jetzt kommen auch noch Laufzeitfehler dazu, die den Betrieb im Rechenzentrum stören und unsere Endkunden massiv irritieren. Als hätte sich die dunkle Macht gegen uns verschworen â€“ dabei haben wir doch nur ganz normale Anforderungen. Aber sicherlich das schlechteste Softwaresystem der Welt …

Blog Post

Reliable Web Clients

Article

Bessere Web-Apps mit HTML5-APIs

Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

Article

Apache Cassandra

In dieser Kolumne stellen wir Cassandra vor und zeigen, warum die Datenbank quasi beliebig skaliert und höchst performant ist. Cassandra wirkt für Kenner von relationalen Datenbanken auf den ersten Blick recht vertraut, weil hier auch von Tabellen und Spalten die Rede ist und die Abfragen einfachen SQL-Abfragen ähnlich sehen. Dennoch unterscheidet sich Cassandra konzeptionell von relationalen Datenbank-Management-Systemen (RDBMS).

Blog Post

What’s in a Name: Reactive

Podcast

Twelve-Factor App: Web-Applikationen auf die neue Art

Ein Ansatz fĂĽr skalierbare, portable und leicht deploybare Web-Applikationen in der Cloud

Blog Post

Why You Should Avoid a Canonical Data Model

As an enterprise architect, you might be tempted to strive for a canonical data model for your systems’ interfaces. That’s not a good idea.

Article

Logging konsolidieren und Performance gewinnen

Performance, Durchsatz und Integrität

Article

Scalable Software Systems

Scalability has long been one of the hallmarks of quality IT systems. When we hear this term we usually associate it with an upward scalability of the system. Generally, it seems to be about how much more throughput and load our system can sustain through additonal RAM, CPU or extra machines. Often, however, downwards scalability is just as interesting, that is, the behaviour of the system when only very few resources are available. Such flexibility is very useful, for instance, if a complex system has to go through a variety of differently sized development, test and acceptance environments before it is provisioned in the live system.

Article

Kanonische Architektur-Evolution

Mit dem Entwurf der Softwarearchitektur wollen wir noch vor der Umsetzung die Tragfähigkeit der Software sicherstellen. Wie gut wir die Trägfähigkeit einschätzen können, hängt neben Erfahrungswerten und Kenntnis der eingesetzten Technologien auch davon ab, wie konsistent wir unsere Konzepte tatsächlich implementieren. Wir brauchen also mehr als bloße Wunschvorstellungen über das System; wir benötigen Mechanismen für die konsequente Umsetzung der funktionalen und qualitativen Eigenschaften des Systems.

Article

Knigge fĂĽr Softwarearchitekten

Die Gegner

Article

Service-oriented Architecture (technisch)

Mit dem Advanced Level standardisiert der iSAQB Module aus unterschiedlichen Bereichen, die Teilnehmer nach ihren Bedürfnissen kombinieren können. Dieser Artikel erläutert das Modul „SOA-T“, das für Softwarearchitekten mit einem Fokus auf den technischen Aspekten serviceorientierter Architekturen entwickelt wurde.

Article

Warum Soft Skills fĂĽr Softwarearchitekten wichtig sind

Der Projekterfolg hängt viel stärker von den am Projekt beteiligten Menschen und den Rahmenbedingungen ab als von den eingesetzten Technologien. Erfolgreiche Projektleiter und Softwarearchitekten haben ein Gespür für die Menschen, mit denen sie Projekte machen, und erreichen mit ihnen gesteckte Ziele. Was erfolgreiche Anführer gemein haben, worauf es in der Zusammenarbeit ankommt und wie man selbst so etwas erlernen kann, stellt dieser Artikel vor.

Article

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Article

Hystrix – to make your fuse blow just in time

Circuit breakers were originally introduced to prevent the escalation of an outage. If your fuse blows occasionally, that does not have to be a bad thing - at least if it is a circuit breaker in the sense of Hystrix. In this article we will introduce you to Hystrix, a library which will help you to increase the stability of your distrubted applications and which will help to prevent cascading error scenarios.

Article

Zertifizierung fĂĽr Fortgeschrittene

Wer sich als Softwareentwickler oder Softwarearchitekt stets auf dem Laufenden hält, bleibt auch langfristig attraktiv für den Arbeitsmarkt. Das erfordert genauso fundierte Kenntnisse gängiger Technologien und Frameworks wie methodische Fähigkeiten. In diesem Beitrag stellen wir das modulare Curriculum für fortgeschrittene Softwarearchitekten des iSAQB e.V. vor, das verschiedene notwendige Kompetenzbereiche für Softwarearchitekten abdeckt.

Article

Hystrix – Wider den Totalausfall

Quelloffene Leistungsschutzschalter fĂĽr alle

Podcast

Wenn Systeme aus dem Ruder laufen

Mit Hystrix fĂĽr stabile, verteilte Anwendungen sorgen

Article

Skalierbare Softwaresysteme

Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

Podcast

Grid-Computing

GroĂźe Netze fĂĽr groĂźe Probleme

Article

Domain-Driven Design in Clojure

In diesem Artikel setzen wir die Prinzipien des Domain-driven Designs mit Clojure um. Wir stellen die Domäne Rating als Beispiel vor und demonstrieren strategisches sowie taktisches DDD. Wir zeigen, wie sich das Domänenmodell in Clojure implementieren lässt.

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Article

Versionsmanagement auf dem Tanker

Typische SCM-Szenarien groĂźer Projekte mit festem Releasetakt

Article

Use-Case-Puzzeln fĂĽr Fortgeschrittene

Das aktuelle Umfeld in vielen Unternehmen ist sehr dynamisch und herausfordernd. Dieser Trend wird sich aufgrund des wirtschaftlichen Rahmens eher verstärken denn abnehmen. Dies merken auch die Softwareprojekte, die oftmals bestehende Geschäftsprozesse durch Softwarelösungen unterstützen müssen, wobei die notwendigen Umgestaltungen im Geschäftsprozess oftmals noch nicht bekannt sind. Dabei reicht die Bandbreite von punktueller Unterstützung durch „einfache“ Anwendungssysteme bis hin zu einer End-to- End-Automatisierung mittels BPMN2 oder BPEL. Unabhängig vom Scope und der Implementierungstechnik müssen Requirements Engineers in solchen Projekten jedoch auch Geschäftsprozesse verstehen und modellieren, um Anforderungen für die Software formulieren zu können.

Article

Large Scale Business Process Integration

Geschäftsprozesse werden heutzutage vielmals unternehmensintern im Rahmen von BPM-Initiativen oder Projekten mit Geschäftsprozessmanagementsystemen, unter anderem auf der Basis von BPEL oder BPMN, automatisiert und eingeführt. Im Rahmen des Projekts Terravis entsteht eine schweizweite Plattform für elektronische Geschäfte zwischen Grundbuchämtern, Banken, Notaren und Handelsregistern, die im Endausbau bis zu 1 000 Umsysteme miteinander verbinden und die Prozesse mit den Beteiligten koordinieren wird. Da wir glauben, dass solche Projekte in Zukunft in der einen oder anderen Facette häufiger vorkommen werden, stellen wir in diesem Artikel die Architektur für solche Projekte vor und berichten über unsere Erfahrungen.

Podcast

CSS-Architektur

Architekturaspekte von Cascading Style Sheets

Podcast

Architekturdokumentation

Ăśber den richtigen Grad von Dokumentation fĂĽr Softwarearchitekturen

Article

Early-Design Reviews

Sie erfahren in diesem Whitepaper, wie Kunden der innoQ in unterschiedlichen Projektphasen von der Umsetzungs- und Architektur-Expertise von innoQ profitiert haben. Sie lernen die notwendigen Voraussetzungen fĂĽr erfolgreiche Review-Projekte kennen.

Article

Geschäftsprozesse vom Fließband

Continuous Integration für automatisierte Geschäftsprozesse mit Maven und Jenkins

Article

Auf Nummer sicher

Neue Projekte im Geschäftsprozess-Umfeld stehen häufig vor der Herausforderung, Prozesse zu automatisieren. Dabei müssen Prozesse so formal beschrieben werden, dass ein Computer sie, wie andere Software auch, interpretieren und ausführen kann. Dieses High-Level-Programming verlangt aber auch die Qualitätssicherung, insbesondere von kritischen Prozessteilen. In diesem Artikel werden Möglichkeiten für das Testen der verschiedenen Komponenten von ausführbaren Geschäftsprozessen (Prozess, Datentransformationen) und für das Review (Prozess, Servicedefinitionen) sowie Erfahrungen aus einem Projekt vorgestellt.

Article

BPMN und Camel

BPMN2 erfreut sich wachsender Beliebtheit und wird BPEL als Standard zur Modellierung ausführbarer Geschäftsprozesse langfristig ablösen, nachdem es bereits mit BPMN 1.x zum Standard für die fachliche Modellierung aufgestiegen war. Ausführbare Geschäftsprozesse sind dabei so detailliert und formal beschrieben, dass sie von einem Computer mittels eines Business Process Management Systems (BPMS) interpretiert, ausgeführt und analysiert werden können.

Article

Testobjekt: Geschäftsprozess – Testen für kontinuierliche Verbesserung

Geschäftsagilität durch Tests sichern

Article

Quality Driven Software Architecture

Qualität bildet die Existenzberechtigung für Softwarearchitekten: Zuverlässig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder IT’ler weiss, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch Qualität konstruieren können.

Article

Vom Sinn und Unsinn einer Zertifizierung für Softwarearchitekten – CPSA-F

Da Softwarearchitekt keine geschützte Berufsbezeichnung ist, können in einem Projektkontext erworbene Fähigkeiten oder Erfahrungen vom nächsten Arbeit- oder Auftraggeber schlimmstenfalls als ungenügend betrachtet werden. Solche Überraschungen wünscht sich weder der Softwarearchitekt noch der Arbeitgeber. Ein gemeinsames Verständnis würde helfen, dieses Risiko zu vermeiden. Um überprüfen zu können, ob jemand den Anforderungen an das Berufsbild Softwarearchitekt gerecht wird, gibt es verschiedene

Talk
Talk

„Wir haben doch keine Zeit!“ – Oder?

DWX 2026 / 17:00 - 18:00

Talk
Talk

Cognitive Biases im Software Engineering: Warum gute Architekt:innen schlechte Entscheidungen treffen

DWX 2026 / 17:00 - 18:00

Talk
Talk

Das kleine 1Ă—1 der Sicherheitsarchitektur fĂĽr Webanwendungen

iSAQB® Software Architecture Forum 2026 / 13:30 - 14:30

Talk
Talk

„Garbage-In“ ist kein Schicksal: Bessere Anforderungen fĂĽr Entwicklungsteams

iSAQB® Software Architecture Forum 2026 / 11:15 - 12:15

Talk
Talk

Code wird billig, Architektur entscheidend.

iSAQB® Software Architecture Forum 2026 / 09:15 - 10:00

Talk
Talk

Souveränität, Integration und Föderation und (De-)Zentralität des Webs

iSAQB® Software Architecture Forum 2026 / 13:30 - 14:30

Talk
Talk

Datenarchitektur: Das neue RĂĽckgrat moderner Software?

JAX 2026 / 11:30 - 12:30

Talk
Talk

„Garbage-In“ ist kein Schicksal: Bessere Anforderungen fĂĽr Entwicklungsteams

Dev Day 2026 / 18:00 - 19:00

Case Study

Building a learning platform that enables continuous pedagogical evolution

News

New Primer: Advanced IAM Patterns and Strategies

News

Agile meets Architecture 2026: Program Announced

News

Neuer Primer: Modernes Domain-driven Design

News

Neu: Agentic Engineering Accelerator Programm

News

Jetzt anmelden: INNOQ Technology Day 2025

News

Digitale Souveränität im Fokus: Das Technology Briefing für IT-Entscheider:innen

News

INNOQ Fragezeit startet am 31. Juli

News

arc42 wird 20: Jubiläumsedition kostenlos verfügbar

News

INNOQ Technology Day am 20. November 2025

News

Agile meets Architecture 2025

News

Neues iSAQB®-Modul: Softwarearchitektur für KI-Systeme

News

Jetzt anmelden: INNOQ Technology Day 2024

News

INNOQ Technology Day am 5. Dezember 2024

Case Study

Fleurop: A modern architecture for reliable floral greetings

News

INNOQ Technology Bites

News

Neue Leistungsseite: Software-Reviews

News

Neuer Workshop: Intensivvorbereitung fĂĽr die iSAQB CPSA-A-PrĂĽfung

News

Das neue Lernkartenspiel „ARCARD“

News

Software Architecture Summit 2024

News

OOP 2024: Wir sind dabei!

News

Launch of New Microsite: Architecture Antipatterns

News

INNOQ Technology Day 2023 am 13. November

Case Study

A digital communication link between wholesale and retail based on self-contained systems

Case Study

Hellmann Road: clear interfaces for efficient product teams

News

Technology Day 2023: am 13. November ist es wieder soweit!

Case Study

Creating a “Best in Industry” E-Commerce Platform with Self-Contained Systems

Case Study

Proof of payment clearing and fraud detection: Krombacher is leveraging automation as part of its loyalty program

News

Agile meets Architecture 2023

News

Agile meets Architecture – The conference bringing together agilists and software architects

News

Neues Training: Domain-driven Design fĂĽr Machine-Learning-Produkte

Case Study

SACAC optimizes the quotation process with a customized software solution

Case Study

Digitization of land register management in cooperation with Terravis

Case Study

Breuninger improves time-to-market through verticalization and self-contained systems

Case Study

A cloud platform for efficient commissioning processes in dentistry

News

Voxxed Days Berlin 2016

News

W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

News

Berlin Expert Days 2015

News

Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

News

Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

News

microxchg 2015 - Die Microservices Konferenz in Berlin mit innoQ-Beteiligung

News

Ăśber die Advanced-Zertifizierung fĂĽr Softwarearchitekten

Training

Designing software architectures for AI and ML systems

iSAQB® Training