Schwerpunktthema

Architecture

Online-Schulung

Online-Schulung

Domain-driven Design in der Praxis

iSAQB Modul DDD

Online-Schulung

Online-Schulung

Reduzierte Wartungskosten durch evolutionäre Verbesserung

iSAQB-Modul IMPROVE

Online-Schulung

Online-Schulung

Flexible Architekturen

Microservices, Self-contained Systems und Continuous Delivery: iSAQB Modul FLEX

Schulung

Schulung

Skalierbare Web-Architekturen

iSAQB Modul WEB

Berlin

Vortrag
Vortrag

Hands-On Service Mesh Workshop mit Istio

Microservices Summit 2020 / 09:00 - 12:30

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.

Blog-Post

Agile Architekturarbeit

Moderne Softwarearchitekturarbeit folgt selbstverständlich der agilen Arbeitsweise in Entwicklung und Projektmanagement.

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

Die Basis fĂĽr sinnvolle Architekturentscheidungen ist die Auseinandersetzung mit dem Problem und ein guter Ăśberblick ĂĽber die Optionen.

Artikel

Identifikation von Qualitätsanforderungen mit Quality Storming

In diversen Communities haben sich in den letzten Jahren zahlreiche Methoden zur kollaborativen Modellierung von fachlichen Anforderungen etabliert. Bekannte Beispiele hierfür sind EventStorming oder Domain Storytelling. Diese Ansätze setzen darauf, dass wir skillübergreifend ein besseres gemeinsames Verständnis über die Fachlichkeit erlangen. Was ist aber mit den Anforderungen an die Qualität der zu erstellenden Software? Gerade hier ist eine kollaborative Vorgehensweise immens wichtig, um nicht perfekten Idealvorstellungen hinterherzulaufen, die Kosten und Komplexität von Produkten explodieren lassen. An dieser Stelle setzt das Workshop-Format Quality Storming an, welches ich im Laufe dieses Artikels vorstellen möchte.

Artikel

Architektur­entscheidung im agilen Team

Eine schlechte Architekturentscheidung kann Projekte zum Scheitern bringen. Das passiert oft, wenn ein Architekt alle wichtigen Entscheidungen alleine trifft und nie oder sehr spät Feedback bekommt, ob sie gut oder schlecht waren. Oder aber auch, wenn ein „agiles“ Team mit den Architekt(innen) die Architekturarbeit aus dem Fenster geworfen hat. Schade, denn wenn man wichtige Entscheidungen nicht einfach dem Lauf der Dinge oder einem Elfenbeinturmbewohner überlässt, findet man viel besser Lösungen.

Artikel

JavaScript? Yes, but in moderation

Classic Web Architecture for Applications

Artikel

Warum Microservices scheitern

Microservices sind der große Architektur-Trend in den letzten Jahren. Mittlerweile stellt sich aber Ernüchterung ein: Auch Microservices-Projekte sind vorm Scheitern nicht sicher. Sich die typischen Gründe für das Scheitern anzuschauen, ermöglicht es, diese Probleme zu umgehen und so erfolgreiche Projekte umzusetzen.

Artikel

Optionen der Frontend-Integration

Systemgrenzen sind aus Nutzersicht tendenziell ein Ärgernis. So ist die Modularisierung von Systemen ein rein technisch motiviertes Thema, das reibungslosen Arbeitsabläufen ohne größere Kontextverluste nicht im Wege stehen sollte.

Link

Artikel: Ameisenprinzip. Von Stefan Tilkov und Eberhard Wolff

Blog-Post

Cooking with Onions: Inward-Pointing Arrows

Some violations of our architectural principles are easy to spot. Others hide in plain sight, and neither static analysis nor a shallow code review will help you spot them.

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

Artikel

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?

Artikel

Microservices – oder doch nicht?

Microservices sind zwar in aller Munde, aber wie jede andere Architektur auch sind sie ein Trade-Off. Also stellt sich die Frage, wo Microservices sinnvoll sind, wie es mit Microservices weitergeht und was nach Microservices kommt.

Blog-Post

Serverless - The Vendor Is Not Your Enemy

Serverless Entwicklung mit bekannten Pattern

Podcast

Microfrontends

Unabhängige Teams im Frontend

Artikel

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

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

Podcast

Independent Systems Architecture

Best Practices fĂĽr Microservices

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

Podcast

Microservices Praxisbuch

Grundlagen, Konzepte und Rezepte

Blog-Post

Proof of Existence via HTTPS

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

Artikel

Evolution statt Verschlimmbesserung

Mit aim42 Architekturen systematisch verbessern

Link

heise Developer Continuous Architecture Blog, „Microservices? Oder lieber Monolithen?“

Blog-Post

Vertrauensvolle und angstfreie Kommunikation als Grundlage gelungener Softwarearchitektur

Steht und fällt der Erfolg einer Softwarearchitektur und damit eines Projektes mit einer technischen Entscheidung zugunsten von Microservices oder Monolithen oder müssen viel früher Weichen gestellt werden, um sicherzustellen, dass technische Entscheidungen die gewünschten Ziele erreichen: Einige Gedanken zu Kommunikation in Projekten.

Artikel

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

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.

Link

Domain-driven Design – Tipps aus der Praxis. Interview mit Michael Plöd

Link

Am Rande des Abgrunds – die VENOM-Story. Ein Interview mit Gernot Starke

Link

Conway’s Law & die ewige Suche nach der „richtigen“ Architektur

Link

Die ewige Suche nach der „richtigen“ Architektur

Podcast

Domain-Driven Design

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

Artikel

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.

Artikel

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.

Artikel

Datenarchitekturen – nicht nur fĂĽr Microservices

Warum die Behandlung von Daten so wichtig ist

Artikel

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

Link

Continuous Delivery im Expertencheck, Teil 2

Link

Continuous Delivery im Expertencheck

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?

In einem Gastbeitrag diskutiert Frank Buschmann, Co-Autor der Buchreihe “The "Pattern-Oriented Software Architecture”, warum Patterns zur Zeit eine Renaissance erleben.

Blog-Post

Serverless

Mehr als ein Hype?

Blog-Post

Implementierung einer einfachen Zustandsmaschine (state machine) in Java

Eine simple Zustandsmaschine (state machine) in Java

Artikel

Lokale Datenanalyse mit Data Frames

Der Wunsch, aus Geschäftsdaten Erkenntnisse gewinnen zu wollen, ist in der Breite der Unternehmen angekommen. Häufig werden dabei technologische Aspekte wie Machine-Learning-Algorithmen und Cluster-Lösungen als Schlüssel betrachtet, um viele Fragen quasi automatisch zu beantworten. Doch muss es für einen Einstieg in dieses Thema immer direkt ein Big-Data-Framework oder ein Cluster für Machine Learning sein? Dieser Artikel zeigt Ihnen, wie Sie ganz einfach lokal auf Ihrem Rechner die ersten Schritte im Data-Science-Umfeld gehen können und dabei einen Überblick über die Vorgehensweise erhalten.

Podcast

Self-contained Systems und Frontend-Integration – Teil 2

Alternativen zu SPAs und Umsetzung von SCS

Link

heise Developer Continuous Architecture Blog, „Meine Datenbank gehört mir!“

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

Artikel

Microservices lieben Domain Driven Design, warum und wie?

Betrachtet man diverse Publikationen rund um Domain Driven Design und Microservices, so stellt man fest, dass das Konzept des Bounded Contexts von zentraler Natur ist. Es gibt kaum eine Veröffentlichung zur Modellierung von Microservices, die dieses Konzept nicht erwähnt. Allerdings greift diese Konstellation zu kurz: es gibt weitaus mehr über Domain Driven Design und Microservices zu berichten als den Bounded Context. Betrachtet man auf der anderen Seite das Thema Domain Driven Design so ist festzustellen, dass das Thema weit über die hinlänglich bekannten Entitäten, Value Objects und Aggregate hinausgeht.

Artikel

Microservices Ă  la Netflix

Das Projekt Spring Cloud Netflix integriert nur Spring Boot mit den Netflix Open Source Bibliotheken und bindet diese in die bekannte Auto-Konfiguration und das Binding von Spring Boot mit ein. Mit Hilfe von Spring Cloud Netflix ist es möglich durch wenige, einfache Annotationen die entsprechenden Komponenten von Netflix zu integrieren, konfigurieren und zu nutzen. Im Rahmen des Artikels geben wir ihnen einen Überblick über die Anbindung von Eureka (Service Discovery), Zuul (Intelligentes Routing), Ribbon (Client-seitiges Load-Balancing) und Hystrix (Circuit Breaker).

Artikel

Services: SOA, Microservices und Self-contained Systems

Artikel

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 (SCS) are one approach to achieve some of those goals while avoiding many common pitfalls.

Artikel

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.

Artikel

Software-Architektur fĂĽr Innovation

Wie Software neue Umsatzquellen erschlieĂźen kann

Link

“Microservices: Redundancy = Maintainability!” A Talk by Eberhard Wolff

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.

Artikel

Spring Boot fĂĽr Microservices

Eine frühlingshafte Lösung für Microservices

Artikel

Wie kommt man zu Self-Contained Systems?

Bereits in [1] haben Stefan Tilkov und ich beschrieben, dass es sinnvoll ist, große Systeme in Teilsysteme zu zerlegen, und erstmals erläutert, was wir im Allgemeinen unter Mikro- und Makro-Architektur verstehen. Aus verschiedenen Vorträgen, Experimenten und Projekten kristallisierte sich irgendwann der Name für solche Teilsysteme in einem komplexen Gesamtsystem heraus: Self-Contained Systems.

Artikel

Requirements Engineering

Im Alltag vieler Softwareprojekte wird Requirements Engineering oftmals nur eingeschränkt berücksichtigt, obwohl es aufgrund seiner nachgewiesenen Wichtigkeit eine Grundvoraussetzung für effiziente Softwareentwicklung ist. Ziel dieses Artikels ist es, die Kernaussagen des Requirements Engineering in Erinnerung zu rufen und ein Modell vorzustellen, das einen vereinfachten Einstieg in das Requirements Engineering im Projektalltag erlaubt.

Artikel

Deployment und Monitoring von Microservices

Artikel

Microservices - eine Bestandsaufnahme

Microservices [1] dienen eigentlich „nur“ zur Modularisierung von Software. Für Modularisierung gibt es aber unzählige Ansätze: Klassen, Packages oder JARs dienen in der Java-Welt beispielsweise diesem Ziel. Nur so können auch große Projekte in kleine Einheiten aufgeteilt werden und bleiben dadurch erweiterbar und wartbar.

Artikel

Software systematisch verbessern

Es ist ein bekanntes Phänomen: Obwohl zu Beginn beim Entwickeln des Projekts alles sauber und ordentlich zuging, degeneriert das System mit der Zeit – das Phänomen der „verfaulenden Software“ schlägt zu. Änderungen werden dann immer riskanter, schwieriger und langwieriger. In der Entwicklung und im Betrieb mehren sich die Probleme, die zu beheben immer mehr Zeit in Anspruch nimmt. Gleichzeitig steigen aber auch Änderungs- und Betriebskosten, während die Zufriedenheit von Entwicklern, (fachlichen) Auftraggebern, Testern, Administratoren und anderen Beteiligen ständig abnimmt. Vermutlich kennt jeder Leser diese Situation: Willkommen in der Legacy-Hölle.

Artikel

Zwei Jahre nach dem Tod der Java Application Server

Leben Todgesagte länger?

Link

heise Developer Continuous Architecture Blog: Softwareentwicklung ist nicht schnelllebig

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.

Link

Interview mit Stefan Tilkov: „Ich bin keinesfalls der Meinung, dass man immer Microservices einsetzen sollte“

Link

Buchbesprechung: arc42 in Aktion

Link

JAX TV: Wie sieht ein Microservices-Technologie-Stack aus?

Link

Domain-driven Design im Experten-Check: Wie kann DDD in die Praxis umgesetzt werden?

Link

Domain-driven Design im Experten-Check: Was sind die typischen Probleme bei der Umsetzung von DDD?

Link

Domain-driven Design im Experten-Check: Warum ist DDD heute relevanter denn je?

Artikel

Nachhaltige Webarchitekturen

Warum REST und SPAs nicht immer die Lösung sind

Link

Interview mit Eberhard Wolff zu Self-contained Systems

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.

Link

Entwicklertag 2016: Microservices: Redundanz = Wartbarkeit!

Link

JAX TV: Legacy-Systeme mit Microservices, Hystrix und RxJava modernisieren

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?

Link

JAX TV: arc42 Reality Check

Link

Heise Developer Continuous Architecture Blog, „DevOps ist keine Organisation“

Artikel

AWS Lambda

Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services fĂĽr die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz fĂĽr Ihre Anwendung lohnt.

Link

JAX TV: Know your Enemies – Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

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.

Link

The Web Ahead, Episode 116: Preserving the Architecture of the Web with Stefan Tilkov

Link

Heise Developer Continuous Architecture Blog, „Hat Betrieb eine Zukunft?“

Link

Video-Interview mit Stefan Tilkov

Artikel

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

Link

Video-Interview mit Phillip Ghadir zu Cloud-native Architectures

Link

Eberhard Wolff on Microservices

Link

Microservices sollten kein technischer Selbstzweck sein

Artikel

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.

Link

Building Microservices with Event Sourcing and CQRS

Link

REST 2015 – Video des WJAX-Vortrags von Silvia Schreier

Link

Microservices im Experten-Check, Teil 3: Wie groĂź sollte ein Microservice sein?

Link

Microservices im Experten-Check, Teil 2: Wann man Microservices nutzen sollte und wann eher nicht

Link

Microservices im Experten-Check, Teil 1: Warum eigentlich Microservices?

Link

Episode 52: Microservices und Self-contained Systems

Link

Wider den Blindflug: Logging und Metriken in verteilten Anwendungen

Blog-Post

Why RESTful communication between microservices can be perfectly fine

Case Study

Dental wird digital

Gemeinsam mit Heraeus Kulzer hat INNOQ eine Cloud-basierte Plattform für die Abwicklung von Beauftragungsprozessen im Dentalbereich entwickelt. In dieser Fallstudie stellen wir die Rahmenbedingungen und Anforderungen des Projektes vor und zeigen, wie die technische Lösung mittels Amazon Web Services aussieht.
Link

Warum Programmierer an ihren Software-Systemen riechen mĂĽssen

Link

Microservices in the Real World

News

Voxxed Days Berlin 2016

Podcast

Redis in der Praxis

Ăśberblick und praktischer Einsatz des schnellen Datenstruktur-Servers

Link

Heise Developer Continuous Architecture Blog, „Architekten mĂĽssen keinen Code schreiben!“

Artikel

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 die Microservices 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, integriert 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 standardisieren, zu steuern und zu kontrollieren.

Link

JAX TV: Integration von Microservices – REST vs. Messaging, eine W-JAX 2015 Sesion mit Oliver Gierke (Pivotal Software) und Eberhard Wolff (innoQ)

Link

Heise Developer Continuous Architecture Blog, „Neun Jahre Microservices“

News

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

Link

Why programmers need to smell their software systems

News

Berlin Expert Days 2015

Link

Heise Developer Podcast, Episode 49: Architekturanalyse und -bewertung

Blog-Post

What’s in a Name: Consistency

The term consistency has several different meanings. This post identifies and clarifies those - especially consistency as synonym for conceptual integrity, one of the most important features for long-lasting software systems.

Blog-Post

Microservices und Continuous Delivery: Nur zusammen möglich?

Link

Vier Fragen, die Sie sich bei jedem Webprojekt stellen sollten

News

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

Link

Microservices: Smaller Is Better?

Blog-Post

Reliable Web Clients

Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

Artikel

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.

Link

Microservices - Are Your Frameworks Ready?

Link

Heise Developer Continuous Architecture Blog, „Continuous Integration widerspricht Feature Branches!“

News

Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

Artikel

Apache Cassandra

FĂĽr Daten ohne Grenzen

Link

Heise Developer Continuous Architecture Blog, „Microservices: Architektur oder Organisation?“

Link

Don’t start with a monolith

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.

Link

Self-Contained Systems

Link

Interview zum Thema Microservices mit Clojure

Artikel

Logging konsolidieren und Performance gewinnen

Apache Log4j 2.0 ist eine Neuimplementierung von Log4j und zeichnet sich – dank asynchronem I/O – vor allem durch einen höheren Durchsatz aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Aber es drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4j 1, commons-logging oder Ähnliches verwenden. Neben einer kurzen Vorstellung des Frameworks betrachten wir daher auch diesen Aspekt.

News

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

Artikel

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.

Artikel

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.

Artikel

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Artikel

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

Artikel

Domain-Driven Design in Clojure

Gut bewertet

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Artikel

Versionsmanagement auf dem Tanker

Die klassischen Enterprise-Projekte, die wie Öltanker auf hoher See unbeeindruckt von agilen Strömungen oder anbrandenden DevOp-Wellen ihren gewohnten Kurs halten. Im vorausgeplanten Takt produziert ein solches Projekt eine Handvoll Releases pro Jahr. Jedes einzelne Release wird in einem definierten Prozess von Stufe zu Stufe weitergereicht: Entwicklung, Test, Produktion.

Artikel

Large Scale Business Process Integration

Zwischen Grundbüchern, Banken und Notaren – Erfahrungen und Herausforderungen

Podcast

CSS-Architektur

Architekturaspekte von Cascading Style Sheets

Podcast

Architekturdokumentation

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

Artikel

Early-Design Reviews

Whitepaper zu Architektur-Reviews

Artikel

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.

Link

Softwarearchitektur im GroĂźen

Link

No REST for the Wicket

Link

Eine gute Wahl treffen – Ein Überblick über die Web-Services-Technologien und ihre wichtigsten Standards und Spezifikationen

Link

Ereignis-getriebene Architekturen: ein Ăśberblick

Link

Effektive Software-Architekturen: Ein praktischer Leitfaden.