Blog & Artikel

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

Erfolgreich im Homeoffice arbeiten

Best practices aus zwei Jahren im Homeoffice

Blog-Post

Remote Work

In der letzten Woche haben wir INNOQ auf 100% Remote-Arbeit umgeschaltet. Anlass für diesen radikalen (oder radikal wirkenden) Schritt war die Ausbreitung des neuartigen Coronavirus SARS-CoV-2, die es einzudämmen gilt. Konkret heißt das: alle unsere Consultants arbeiten vorerst ausschließlich im Homeoffice.

Blog-Post

Kubernetes Probes

How to use readiness, liveness, and startup probes

Artikel

Identifikation von Qualitätsanforderungen mit Quality Storming

Collaborative Modeling für die skillübergreifende Erfassung und Priorisierung von Qualitätsanforderungen

Blog-Post

Using Javascript plugins in Go

There are projects, where you want to create an application, that is extensible by other parties without access to the sources iteself or re-compiling the whole binary. This concept is known as modules, plugins or features nowadays. This might be the case if you are creating a client application (e.g. to implement scripting functionality), but also if you want to have your server application extensible by third parties.

Blog-Post

About unit and integration tests

Artikel

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

Handling Complex Software Projects

Artikel

Einführung in ReplicaSet und Service

Um eine Anwendung ausfallsicher in einem Kubernetes-Cluster zu betreiben, wird diese mit mehreren Pod-Instanzen betrieben. Dadurch stellt sich allerdings die Frage, wie wir anschließend dafür sorgen, dass diese Pods auch für Clients innerhalb des Clusters einfach erreichbar sind. Um diese Frage und um eine verbesserte Version zur Replizierung von Pods geht es in diesem Artikel.

Blog-Post

Hidden Champion - SQLite Datenbanken in Go

Blog-Post

Don’t tell me I’m not building a web application

Artikel

Das eierlegende Truffleschwein

Viele, die im Java-Umfeld unterwegs sind, werden von ihr gehört haben: der sagenumwobenen GraalVM. Diese magische neue Virtual Machine für Java soll vor allem für blanke Performance sorgen, indem sie den Java-Bytecode in nativen Code kompiliert. Dadurch fällt insbesondere der Startup-Overhead weg, da weite Teile der Initialisierung bereits vom Compiler erledigt werden. Doch das ist bei weitem nicht das einzige Feature, welches Oracle der GraalVM gegeben hat. Hinzu kommt, dass die GraalVM zu nicht weniger das Potential hat als eine neue Ära der polyglotten Programmierung auf der JVM einzuläuten. Die Rede ist von der Truffle API, einem generischen Framework zur Implementierung von Interpretern.

Artikel

Was ist die Magie von Spring Boot?

Ein Blick hinter die Kulissen

Artikel

Warum Domain-driven Design?

Fachlich sinnvoll schneiden

Blog-Post

Rails und DRY-Zugriffsrechte

CanCan(Can) ist ein mächtiges Authorisierungs-Framework im Rails-Umfeld, womit sehr feingranular Zugriffsrechte definiert werden können. mit feinerer Granularität dieser “can”-Regeln steigt jewoch die Gefahr, dass Status-Logik des Modells dupliziert wird, wenn die Anwendungs-Performanz eine Rolle spielen soll. In diesem Artikel möchte ich dazu einige Gedanken zu Lösungsmustern aufführen, die ich mir im Rahmen der Entwicklung unseres (künftigen) internen Rechnungstools gemacht habe.

Blog-Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Artikel

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Da lässt sich doch was meshen

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 dem Architekten 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.

Blog-Post

So you want to compose some functions

Artikel

Software-Architektur: Worauf es ankommt

Grundlagen für Software-Architektur

Blog-Post

An Introduction to TypeScript

An ongoing architecture trend towards smaller services and faster, agile feature development gives developers some freedom to try out new languages and frameworks. TypeScript and Node seem to have a bad reputation amongst some backend developers although the language can be a perfect fit for many challenges in modern software development.

Blog-Post

Traefik v2 and Mastodon, a wonderful couple!

A practical guide to setting up Mastodon behind Traefik v2 using docker-compose

Blog-Post

Cloud Computing and Carbon Footprint

How vendor lock-in can harm a company’s green business plan

Blog-Post

What Could Possibly Go Wrong

What could possibly go wrong if you put Clojure 1.10 and Scala 2.13 on the same classpath? We’re about to find out.

Blog-Post

code-your-model

modularized modeling based on a project-specific DSL