Hartmut Schlosser

Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. #java #eclipse #devops #machinelearning #seo. Zum Lächeln bringen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Beiträge dieses Autors

GraalVM startet durch: Oracles vielsprachige Virtual Machine im Java-Ökosystem

Die GraalVM ist eine universelle Virtuelle Maschine (VM) für Anwendungen, die in den JVM-basierten Programmiersprachen Java, Scala und Kotlin, den dynamischen Sprachen JavaScript, R, Ruby und Python und den LLVM-basierten Sprachen C/C++ geschrieben wurden [1]. Im Oktober 2019 wurde die auf dem JDK-8-Update 231 basierende GraalVM 19.2.1 veröffentlicht, die Performanceverbesserungen und polyglotte Unterstützung für verschiedene Programmiersprachen bietet. Sie ermöglicht die Sprachinteroperabilität in einer gemeinsamen Laufzeitumgebung und kann eigenständig oder im Kontext von OpenJDK, Node.js sowie der Oracle-Datenbank betrieben werden. Die GraalVM kann wahlweise als Open Source Community Edition (CE) oder als Enterprise Edition (EE) mit OTN-Lizenz verwendet werden.

Kolumne: EnterpriseTales – Die Cloud als Allheilmittel

Die Cloud ist nach wie vor eines der großen Hypethemen. Versprechungen werden gemacht und Hoffnungen geschürt. Doch welche davon löst die Cloud ein? Auch wenn der Begriff der Cloud schon länger verwendet wird, ist die Abgrenzung zwischen den verschiedenen Varianten nicht immer eindeutig. Für diese Kolumne unterscheide ich sie in die nachfolgenden Abschnitte.

Unter der Lupe: Kubernetes und seine CI/CD-Generationen und Systeme

Der neue Kubernetes-Cluster ist eingerichtet, die Softwarearchitektur ist ganz modern auf Basis von Microservices geplant, jetzt fehlt nur noch eine Continuous Integration oder Continuous Delivery (CI/CD) Pipeline. Diese ist schnell mit dem Jenkins gebaut, der schließlich schon seit Jahren einen guten Dienst verrichtet. Alles nur noch eine Kleinigkeit, oder? Aber ist das eigentlich eine gute Idee?

Continuous Delivery für Machine Learning: Machine-Learning-Anwendungen in Produktion bringen

In der heutigen Softwareentwicklung ist es selbstverständlich geworden, dass Usern laufend neue Funktionen und Erweiterungen geboten werden. Das trifft sowohl auf Benutzeranwendungen im Mobil-, Web- und Desktopbereich zu als auch auf moderne Unternehmenssoftware. Umfangreiche und den Betrieb störende Software-Go-lives werden nicht mehr geduldet. Mit Continuous Delivery (CD) lässt sich die Frequenz, mit der Software zuverlässig produktiv ausgeliefert werden kann, drastisch erhöhen.

Frohe Weihnachten!

Liebe Leserinnen und Leser, ein ereignisreiches Jahr 2019 liegt hinter uns – vor allem für Sie als Java-Entwickler und -Architekten. Umso mehr haben Sie es sich verdient, nun endlich einmal die Füße hochzulegen und sich in der Weihnachtszeit ausgiebig zu […]

Dynamische Doku: Generierung der Dokumentation einer Microservices-Landschaft

Eine gute Dokumentation gilt als Aushängeschild eines Systems. Doch meist wird sie als notwendiges Übel betrachtet und daher viel zu oft vernachlässigt. Dabei ist eine lückenhafte und veraltete Dokumentation ein risikobehafteter Bereich mit viel Konflikt- und Fehlerpotenzial. Um die Risiken zu vermeiden, haben wir uns auf die Suche nach einer dynamischen und flexiblen Lösung gemacht. Die Ergebnisse stellen wir euch hier vor.

Laufzeitumgebung in AWS Lambda: In wenigen Schritten von der Anwendung zur Ausführung gelangen

AWS Lambda [1] ist ein serverloser Compute-Service, der Code als Reaktion auf Ereignisse ausführt und automatisch die zugrunde liegenden Compute-Ressourcen verwaltet. Lambda unterstützt nativ Java, Go, PowerShell, Node.js, C#, Python und Ruby. Vor kurzem wurde eine interessante neue Funktionalität vorgestellt: ein Runtime API [2], das es ermöglicht, jede andere Programmiersprache im Kontext von Lambda zu nutzen, um eigene Funktionen zu implementieren. Im Folgenden werden wir einen genauen Blick auf AWS Lambda, AWS Lambda Layers [3] und AWS Lambda Custom Runtimes [4] werfen.

Service Mesh: Eine Einführung in die Nutzung von Istio bei Microservices-Architekturen

Je umfangreicher und verflochtener eine Microservices-Architektur wird, desto unübersichtlicher wird es. Man spricht hierbei vom sogenannten Service Mesh. Viele solcher Architekturen werden heutzutage nativ in der Cloud entwickelt. An diejenigen, die diese Microservices dann verwalten sollen, werden besondere Anforderungen gestellt. Das Tool Istio soll dabei behilflich sein, die Übersicht zu behalten.

DDD: Taktisches Design – Architektur innerhalb eines Bounded Context

In Teil 2 dieser Serie [1] haben uns Carola Lilienthal und Michael Plöd gezeigt, wie man eine Domäne in mehrere Bounded Contexts aufteilt. Dabei erhalten wir statt einem großen, schwer verständlichen und schwer wartbaren Domänenmodell nun mehrere, besser handhabbare Domänenmodelle. In diesem Teil der Serie schauen wir darauf, wie man das einzelne Domänenmodell konkret implementieren kann.

Okay Google, hier spricht die Himbeere: Google Home auf dem Raspberry Pi installieren

Sprachassistenten sind heutzutage in aller Munde und werden immer beliebter. Die stylischen kleinen Geräte sind mittlerweile ein ständiger Begleiter im Alltag geworden. Leider sind sie nicht gerade billig. Daher sehen wir uns in diesem Artikel an, wie wir mit einem Raspberry Pi und einigen zusätzlichen Teilen einen eigenen Google Home aufbauen können. Damit es nicht zu theoretisch wird, verwenden wir den Raspberry Google Home, um einen Lüfter zu aktivieren, der uns an heißen Sommertagen ein wenig Abkühlung bringt.

Tekton-Tutorial: Cloudnative Java-Anwendungen mit Tekton entwickeln

Früher war Java in der Lage, die größten Probleme eines Unternehmens mit dem Paradigma „write once, run anywhere“ (WORA) zu bewältigen. Im Zuge von Phänomenen wie Serverless, der Popularität von cloudnativen Anwendungen und der Ausführung von Anwendungen als Linux-Container wurde Java von Sprachen wie Go und Node.js – den Vorreitern für den Aufbau von cloudnative Anwendungen – zurückgedrängt, da diese kleiner, schneller und wohl auch agiler sind.

Hohe Skalierbarkeit, weitreichende Ressourcen: Serverlose Webapplikationen mit AWS

Serverless Computing ist eine aktuelle Entwicklung im Cloud-Computing, bei der die meisten Anbieter mittlerweile auch Function as a Service im Programm haben. Geboten werden skalierbare Webapplikationen, bei denen man sich nicht um Ressourcen kümmern muss. Dieser Artikel ist eine Einführung in AWS Lambda von Amazon Web Services. Das händische Deployment von Lambda-Funktionen ist anspruchsvoll, aber Frameworks wie Chalice für Python-Entwickler nehmen dem Anwender die meisten Handgriffe ab.

Container in den Wolken: Knative: Serverless Workloads auf Kubernetes

„Serverless“ ist heutzutage in aller Munde. Man kann den Begriff mögen oder nicht, wichtig ist, was er beschreibt. Kurz und bündig bedeutet Serverless: Eine Anwendung wird von der Skalierung her fortwährend so angepasst, dass immer die Ressourcen zur Verfügung stehen, die benötigt werden. Das kann dann bedeuten, dass gar keine Ressourcen zur Verfügung stehen. Für den Nutzer hat das den Vorteil, dass er stets nur für die Kapazität bezahlt, die für seine Anwendung benötigt wird. Sind keine Nutzer vorhanden, zahlt er auch nichts.

Des Gophers neue Kleider: Go Modules revisited

Go 1.11 hat einen Paradigmenwechsel eingeleitet. Aus Go Packages werden versionierte Go Modules. Go Modules lösen den GOPATH ab und werden fester Bestandteil der Go Toolchain. Bis jetzt mussten Go Modules explizit aktiviert werden, doch mit Go 1.13 ändert sich das. Ihr lernt, was Go 1.13 in Sachen Go Modules bringt und was sich seit Go 1.11 getan hat.