Blog & Artikel

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

Legacy ist keine Krankheit

Was ist dieses „Legacy“ überhaupt, warum ist es vermutlich ziemlich gut (obwohl das Entwicklungsteam anderes denkt), und warum müssen wir uns drum kümmern? Und was hat das mit Leonardo da Vinci und Mozart zu tun?

Blog-Post

The many ways of testing Smart Contracts in Ethereum

Artikel

Die GraalVM: Javas Sprung in die Gegenwart?

Die Java Virtual Machine (JVM) gibt es jetzt seit über 24 Jahren. Mit den Jahrzehnten wuchs ihre Verbreitung und das SDK bekam immer neue Funktionen. Das alles hat die JVM aber auch groß und träge gemacht. Hoher RAM-Bedarf oder lange Startzeiten passen nicht mehr in die neue FaaS oder Container Welt. Die GraalVM macht da Hoffnung.

Artikel

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?

Blog-Post

(De-)Serializing JavaScript Models with Metaprogramming

Artikel

NewSQL-Datenbanken

NewSQL Datenbanken bieten hohe Konsistenzgarantien und gleichzeitig eine gute Skalierbarkeit. Dieser Artikel stellt drei Cloudangebote und eine Open-Source Datenbank vor.

Blog-Post

Sind Ideen eine Ware?

Sie müssen Ihre Ideen verkaufen! Fördert dieses Motto eine gute Innovationskultur? Ich denke nicht.

Artikel

Stark im Doppelpack

Refactoring mit NuGet und Jenkins

Blog-Post

Familiarity - friend or foe

Familiarity has two sides. On one, it is quite beneficial, you know the ways, the tools, the pitfalls and it all enables you to work fast. But at the same time, it can make you blind to mistakes you’re doing or violations of processes or good practices.

Artikel

The Perversion of Agile Metaphors

Agility is at its core a set of values. Do the typical agile metaphors actually fit the values or do they rather lead to misunderstandings?

Blog-Post

How to add Swift functions as polyfills in JavaScriptCore

Artikel

Optionen der Frontend-Integration

Die Integration von Daten und Funktionalität im Frontend ist ein mächtiges aber trotzdem relativ selten beleuchtetes Thema. Dieser Artikel soll versuchen gängige Muster aufzuzeigen und kurz mögliche Vor- und Nachteile zu benennen.

Artikel

Vielfältiges Git!

Normalfall im Entwicklungsalltag ist das git-Repository, das ein Remote hat, ein Arbeitsverzeichnis und einen Baum von „Branches” (mit gemeinsamen Stamm master). In den meisten Fällen genügt das auch. Aber die Software selbst kann mehr: Sie hat keine Probleme damit, vom selben lokalen Repository aus mehrere entfernte Repository zu bespielen, mehrere Arbeitsverzeichnisse parallel zu verwalten oder intern einen Wald von nebeneinander stehenden Versionsbäumen. Diese Mehrfachheit ist gelegentlich nützlich. Der Artikel zeigt einige entsprechende Situationen auf und bequeme Wege, mit ihnen umzugehen.

Artikel

Microservices: Mit Service-Meshes den Überblick behalten

Je stärker eine Anwendung aus Microservices besteht, desto flexibler und leichter ist sie in der Theorie zu warten. In der Praxis steigen aber die Anforderungen an Übersicht und Sicherheit. Service-Meshes können Ordnung ins Komponentenchaos bringen.

Artikel

The NUMMI Factory — A Parable About Software Development

Software development is not difficult because of the technical challenges, but because so many people are involved. A story about a car plant shows how other industries deal with these challenges and what they have learned.

Blog-Post

Integrating Logback with JLine

Logback is a popular logging library for Java. JLine can be used to create nice shell-like applications. Combining both is not as hard as it looks.

Artikel

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Herausforderung Betrieb

Artikel

Hadoop - Taming the Elephant (With a Whale)

In diesem Artikel wird der Inhalt des Vortrags „Hadoop - Taming the Elephant (With a Whale)” zusammengefasst. Er bietet einen Einstieg in die Welt von Hadoop und praktische Beispiele.

Artikel

No Silver Bullets - Except Continuous Delivery?

There are no silver bullets. But continuous delivery promises so many advantages that it could be such a silver bullet. So what is true: Do silver bullets actually exist or is continuous delivery overrated?

Artikel

Verifikation von Smart Contracts

Blog-Post

Scala Days 2019 in Lausanne

Im Juni 2019 fanden die Scala Days anlässlich des 10. Jubiläums wieder in Lausanne – an der Geburtsstätte von Scala – statt. Heuer gab es nicht nur zwei Konferenztage, sondern auch eine ganze Reihe von Community-Events davor und danach. INNOQ war die ganze Woche vor Ort und unsere Kollegen berichten hier von ihren Erfahrungen.

Artikel

Entwicklungs­umgebungen automatisieren

Im ersten Teil dieser zweiteiligen Artikelserie ging es um die Frage, welche Möglichkeiten es gibt das für ein Projekt benötigte Tool Set, wie Compiler, Laufzeitumgebungen oder IDEs von einem Entwicklungsteam effizient gemanagt und installiert werden kann. In diesem zweiten Teil befassen wir uns mit der Bereitstellung von Services wie Datenbanken oder Message Brokern. Diese werden häufig zum Testen von Anwendungen während der Entwicklung benötigt und deshalb ebenfalls allen Mitgliedern eines Entwicklungsteams zur Verfügung stehen und sich unkompliziert einrichten lassen.

Artikel

cards42

Die Mitmach-Karten für Softwarearchitekt*innen

Artikel

Entwicklungs­umgebungen automatisieren

Die Entwicklung von Anwendungen erfordert häufig viele Tools. Welche Möglichkeiten gibt es, diese Toolsammlungs innerhalb eines Entwicklungsteams effizient zu verwalten und zu installieren?