Java

Sicherheit im Lifecycle mit DevSecOps: Einblicke für alle IT-Disziplinen durch umfassendes Monitoring

Während das Zusammenspiel von Development und Operations dank wachsender Erfahrungswerte immer runder läuft, meldet sich eine weitere wichtige IT-Disziplin zu Wort: Mitarbeiter, die für die Sicherheit einer Infrastruktur verantwortlich sind, wollen ebenfalls stärker in die holistische Betrachtung von technologischen Ökosystemen eingebunden werden. Mit DevSecOps setzt sich eine Denk- und Arbeitsweise durch, bei der die Sicherheit von IT-Infrastrukturen vom ersten Tag an über den gesamten Softwarelebenszyklus hinweg mitgedacht wird. Grundlegende Voraussetzung für ein wirkungsvolles Ineinandergreifen aller drei Disziplinen ist ein einheitlicher Blick auf zentrale Kennzahlen und alle sicherheitsrelevanten Signale.

Sweet 16: Java auf dem Weg zur nächsten LTS-Version

14, 15 oder doch schon 16? Da kann man schon mal durcheinanderkommen. Durch die mittlerweile halbjährlichen Major-Releases von Java fällt es gar nicht so leicht, die aktuelle Version richtig zu benennen. Vor Kurzem hat man sich in einem Vortrag noch über die Neuerungen des JDK 14 informiert, und wenig später wurden in einem Artikel bereits die Features von Version 15 näher beleuchtet. Und da sich die Welt bekanntlich schnell weiterdreht, ist nun im März 2021 bereits das OpenJDK 16 herausgekommen.

Nebenbuhler: Erste Schritte mit Quarkus und MicroProfile

Quarkus hat aus unterschiedlichen Gründen große Aufmerksamkeit auf sich gezogen. Es verbindet technologische Innovation und spannende Features mit hoher Produktivität für Entwickler. Gleichzeitig bietet es weitreichende Kompatibilität mit gängigen Lösungen, die Entwicklern seit Langem vertraut sind. Insbesondere bietet Quarkus die Möglichkeit, zeitgemäße Anwendungen für den Betrieb in der Cloud auf Basis von JAX-RS, CDI und Hibernate zu entwickeln, ergänzt um die Features des MicroProfile. Somit eröffnet es für Unternehmen mit Java-EE-Historie einen möglichen Pfad in die Zukunft. Wächst hier ein ernstzunehmender Konkurrent für Spring Boot heran?

Das eierlegende Truffle-Schwein: Neue polyglotte Programmierung auf der JVM

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 Start-up-Overhead weg, da weite Teile der Initialisierung bereits vom Compiler erledigt werden. So oder so ähnlich ist es vielerorts zu lesen [1], [2]. Doch das ist bei weitem nicht das einzige Feature, das Oracle der GraalVM gegeben hat. Hinzu kommt, dass sie zu nichts weniger das Potenzial hat, als eine neue Ära der polyglotten Programmierung auf der JVM einzuläuten. Die Rede ist vom Truffle API, einem generischen Framework zur Implementierung von Interpretern.

Java 16: Das JDK auf dem Weg zur nächsten LTS-Version

14, 15 oder doch schon 16? Da kann man schon mal durcheinanderkommen. Durch die mittlerweile halbjährlichen Major-Releases von Java fällt es gar nicht so leicht, die aktuelle Version richtig zu benennen. Vor Kurzem hat man sich in einem Vortrag noch über die Neuerungen des JDK 14 informiert, und wenig später wurden in einem Artikel bereits die Features von Version 15 näher beleuchtet. Und da sich die Welt bekanntlich schnell weiterdreht, ist nun im März 2021 bereits das OpenJDK 16 herausgekommen.

Cruft oder Craft: Wie relevant sind Software-Crafting-Techniken heute noch?

Wir schreiben das Jahr 2020. Wenn die werten Lesenden diesen Artikel zu Gesicht bekommen, wird es 2021 sein – mehr als 25 Jahre, nachdem Kent Beck Extreme Programming entwickelt und damit ein Umdenken hinsichtlich unserer Art, Software zu entwickeln, angestoßen hat. Zeit, sich zu fragen, ob die Programmierpraktiken, die mit agiler Softwareentwicklung verbunden werden, den Anforderungen des 21. Jahrhunderts noch gewachsen sind.

Das eierlegende Truffle-Schwein: Neue polyglotte Programmierung auf der JVM

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 Start-up-Overhead weg, da weite Teile der Initialisierung bereits vom Compiler erledigt werden. So oder so ähnlich ist es vielerorts zu lesen [1], [2]. Doch das ist bei weitem nicht das einzige Feature, das Oracle der GraalVM gegeben hat. Hinzu kommt, dass sie zu nichts weniger das Potenzial hat, als eine neue Ära der polyglotten Programmierung auf der JVM einzuläuten. Die Rede ist vom Truffle API, einem generischen Framework zur Implementierung von Interpretern.

Agile ist tot, lang lebe Modern Agile! Weiterentwicklung des Agilen Manifests

Das Agile Manifest ist mittlerweile 20 Jahre alt und seitdem unverändert. Was einerseits für gute Ideen spricht, läuft Gefahr, nicht mehr zu aktuellen Entwicklungen zu passen. Zudem gibt es zunehmend Kritik an dem, was heute alles als „Agile“ verkauft wird. Modern Agile versucht, darauf eine angepasste, neue Antwort zu geben – oder vielmehr neue Fragen zu formulieren, die uns besser beim Finden möglicher, für uns passender Lösungen helfen.

Tribuo Concepts: Im Überblick

Tribuo ist eine statisch und stark typisierte, in Java geschrieben Machine-Learning-Bibliothek. Sie arbeitet mit Objekten und nicht mit mehrdimensionalen Arrays, d. h., dass die Modelle Example-Objekte akzeptieren und typisierte Prediction-Outputs erzeugen. Tribuo verwendet auch das Typsystem, um zu erzwingen, dass die Trainings-Data-Sets mit den erwarteten Modellen übereinstimmen (zum Beispiel, dass Classification Trainer auf einem Classification Data Set verwendet wird).

Was geht, GraalVM? Eine ausführliche Einführung in die GraalVM

Nun ist sie also draußen, die neue Java Virtual Machine (JVM) mit dem Namen GraalVM, über die einer von uns (Stephan) schon im vergangenen Frühjahr gebloggt hat [1]. Seit damals hat sich viel getan, die GraalVM hat die Java-Landschaft deutlich verändert. Twitter verwendet sie schon seit Jahren für seine Scala Microservices [2]. Die GraalVM beginnt jetzt auch in der etwas konservativeren Businesswelt Fuß zu fassen, insbesondere im Bereich der Cloud-nativen Anwendungen. Grund genug also, sich die GraalVM noch einmal genau und ausführlich anzusehen und die Frage zu beantworten, ob es sich lohnt, die gute alte JVM durch etwas Neues zu ersetzen.

Java Magazin 4.21 erschienen: Modern Agile

Es gibt viele Könige. Diese Aussage verwirrt, denn das Prinzip „König“ ist ja so definiert, dass es nur einen geben kann. Dennoch können wir auf eine wahre Königsflut zurückgreifen, selbst in diesen wenig aristokratischen Zeiten. König Fußball regiert die Welt, zum Beispiel; selbst in der Pandemie gibt es für der Deutschen liebsten Sport umfangreiche Ausnahmeregelungen, die sich manch ein Künstler wünschen würde.

Chaos Engineering bei der DB: Grundlagen, Prinzipien, Mehrwert und Praxis

Die Deutsche Bahn (DB) hat sich einer großen Herausforderung gestellt. Sie baut im laufenden Betrieb die komplette Vertriebsplattform neu. Dabei kommen moderne Technologien zur Anwendung wie etwa Microservices und Continuous Deployment. Conways Law berücksichtigend entsteht eine verteilte Systemlandschaft, in der fachliche Zuständigkeiten wie Ticket- oder Angebotserstellung klar verortet und fachlich separiert sind. Sie bietet die notwendige Flexibilität für eine kontinuierliche und zukunftsfähige Weiterentwicklung der Plattform.

Von Daten zum Modell und wieder zurück: Tools und Prozesse für MLOps

Ein Machine-Learning-Modell zu trainieren, wird immer einfacher. Aber das Modell zu bauen und zu trainieren, ist auch der einfache Teil. Die eigentliche Herausforderung besteht darin, ein Machine-Learning-System in Produktion zu bringen und dort verlässlich zu betreiben. Im Bereich der Softwareentwicklung haben wir dazu eine wesentliche Erkenntnis gewonnen: DevOps ist nicht länger nur nice to have, sondern absolut notwendig. Warum also nicht DevOps-Werkzeuge und Prozesse auch für Machine-Learning-Projekte einsetzen?

Auf pythonischen Spuren: Schließt Tribuo den Feature-Gap zwischen Python und Java?

Nicht zuletzt ob der breiten Verfügbarkeit von Bibliotheken hat sich Python im Laufe der letzten Jahre als Quasistandard im Bereich Machine Learning etabliert. Logisch, dass man bei Oracle diesem Trend nicht wirklich gern zusah – schließlich und endlich muss Java ja große Verbreitung haben, möchte man am Produkt ernsthaft Geld verdienen. Vor einiger Zeit stellte Oracle deshalb die hauseigene Bibliothek Tribuo unter eine quelloffene Lizenz.

JAX 2021: Frühbucher-Tickets noch bis Donnerstag, 11.2.

Die JAX 2021 findet vom 3. bis 7. Mai 2021 statt – mit Sicherheit! Wie schon zur letzten JAX im September planen wir die Konferenz als Hybrid-Veranstaltung: Lokal in der traditionsreichen Mainzer Rheingoldhalle und zugleich als Remote-Event, bei dem sämtliche Sessions Live gestreamt werden.