Highlights vom ersten Tag der JAX 2019

Cloud-native Java, HTTP/3 und die Macht des Mobs: 8 Take-aways der JAX 2019

Hartmut Schlosser, Katharina Degenmann, Florian Roos, Ann-Cathrin Klose, Maika Möbus

© Shutterstock / Kim Reinick (modifiziert)

Was haben wir am ersten Tag der JAX gelernt? Sicher fällt die Antwort auf die Frage für jeden anders aus, denn viele Wege führen durch das JAX-Programm. Was wir mitgenommen haben, fassen wir hier kurz und knackig zusammen – wie immer ohne Anspruch auf Vollständigkeit.

Take-away #1: Quantencomputer sind (noch) keine Gefahr

Quantencomputer – allenthalben werden sie uns als die nächste Evolutionsstufe der Computertechnologie versprochen. Doch so richtig scheinen sie nicht aus den Startlöchern zu kommen. Oder doch?

Schlauer waren alle, die sich Michael Marthalers (HQS Quantum Simulations) JAX-Vortrag Der Quantencomputer auf dem Weg vom Labor in die Anwendung anhörten.

Quantencomputer basieren statt auf den traditionellen, binären Bits auf den weniger eindeutigen Quantenbits (kurz QBits). Diese können nicht nur die Zustände 0 und 1 annehmen, sondern auch Zwischenstufen – also etwa auch 1 und 0 zugleich.

Diese Zustandsvielfalt ist zugleich die Stärke und die Schwäche der heutigen Quantencomputer. Aufgrund ihrer Funktionsweise lassen sich mit ihnen einige anspruchsvolle Probleme – etwa Primfaktorzerlegung für kryptographische Verfahren – deutlich schneller lösen als mit traditionellen Computern.

Die Uneindeutigkeit von QBits macht aber Fehlerkorrekturen notwendig. Der gängige Ansatz hierfür ist Redundanz: Viele physikalische QBits werden gemittelt und in (wenige) logische QBits überführt.

Der heutige Stand der Dinge ist, dass, um ein ausreichend zuverlässiges logisches QBit zu erhalten, zwischen 5000 und 500.000 physischer QBits notwendig sind. An diesem Punkt wird die begrenzte Skalierbarkeit der aktuellen Hardware deutlich. Bis dieses Problem gelöst sei, so beendete Marthaler seinen Talk, werden Quantencomputer noch nicht wirklich alltagstauglich sein. Bis dahin dürften noch gut und gerne 20 Jahre ins Land ziehen….

Take-away #2: Java schlittert ins Cloud-native-Zeitalter

Die IT verändert sich. Die Cloud, Container, Microservices, Continuous Delivery verändern den Kontext, in dem Java steht und in dem Java-Entwickler arbeiten. Doch ist die Programmiersprache überhaupt auf diesen neuen Kontext eingestellt? Oder wird Java gegenüber „Cloud-native“-Technologien wie Go ins Hintertreffen geraten?

Im JAX-Eröffnungspanel beantwortete Eberhard Wolff (INNOQ) diese Frage mit einer charakteristischen Eigenschaften der Java-Community: ihrer ungebrochenen Innovationskraft. Java wird momentan aktiv an das Cloud-native-Modell herangeführt. So verabschiedet man sich derzeit etwa mit der GraalVM vom Zwang der Just-in-Time-Kompilierung und umgeht den Laufzeitoverhead. Lars Röwekamp (OPEN KNOWLEDGE GmbH) führt neue (Micro-)Frameworks wie Micronaut oder Quarkus ins Feld, die ebenfalls auf die Anforderungen von Microservices optimiert sind.

„Wir müssen unser Wissen, das wir in den letzten Jahren aufgebaut haben, nicht wegschmeißen“, konkludiert Röwekamp. Wir können auch mit Java Cloud-Natives sein.

Take-away #3: HTTP/3 kommt (aber noch ist es nicht da)

JAX-Keynote-Speaker Daniel Stenberg (wolfSSL) gab am Dienstag Abend einen Einblick in den aktuellen Entwicklungsstand des neuen HTTP/3-Protokolls, das von der IETF (Internet Engineering Task Force) entwickelt wird. Derzeit gibt es noch einige Hürden zu überwinden. So arbeitet der neue Standard beispielsweise mit UDP (User Datagram Protocol) – und das wird von etwa drei bis sieben Prozent der Webseiten blockiert. Auch ist fraglich, inwiefern HTTP/3 wirklich schneller sein wird. Darauf deuten erste Messungen von Google zwar hin – diese beziehen sich aber auf Googles eigene Quic-Implementierung und nicht auf die, mit der die IETF arbeitet.

Dennoch ist HTTP/3 spannend, und auch das zeigte Stenberg in seiner Keynote auf. Technisch gesehen wird ein wichtiger Vorteil darin bestehen, dass das Streaming-Verhalten sich verändert: Wenn mehrere Streams parallel laufen, und in einem davon ein Paket verloren geht, laufen die weiteren Streams ungestört weiter.

Allerdings wird es eine Weile dauern, bis der Standard sich ausbereitet. Zwar wird das neue Protokoll in diesem Jahr wohl noch fertig gestellt werden. Die Hürde wird aber bei den Nutzern liegen: Wann haben Sie zuletzt all die vielen Boxen zwischen ihrem Device und dem Internet aktualisiert, die sie so verwenden? Davon gibt es immer mehr, und bis dort neue Technologien ankommen, dauert es.

Das Take-away der Keynote lautet also nicht, dass HTTP/3 spannend ist – das ist es zweifellos! Mitnehmen sollte jeder, der die Technologie interessant findet, dass Updates wichtig sind. Also: Router aktualisieren, jetzt!

Take-away #4: Mit Mobbing ans Ziel

Zur Eröffnung des Quality Culture Day bot Thomas Much (freiberuflicher Agile Developer Coach und Softwareentwickler) eine Session zu „Mob Programming“ an. Das Mobbing, wie es auch genannt wird, ist keinesfalls mit dem deutschsprachigen Gebrauch des Wortes zu verwechseln (englisch: bullying). Stattdessen ist damit natürlich das Programmieren im Team gemeint.

Bevor es mit dem Thema Mob Programming losgehen konnte, musste zunächst der Vorläufer erwähnt werden. Dabei handelt es sich um Pair Programming, ein Team aus zwei Entwicklern. Doch arbeitet dieses Team überhaupt agil? Ganz nach dem vom Speaker angeführten Zitat von Tim Ottinger:

If your agile team has individual work assignments, I suspect it is neither agile nor team.

Beim Mob Programming wird der Gedanke weitergeführt: Die Teams bestehen nicht länger aus zwei Entwicklern, sondern Devs, Ops, Product Owner und QS arbeiten zusammen. Dazu wird etwa der Platz an der Tastatur alle 5-10 Minuten abgewechselt. Die ideale Mob-Größe besteht laut dem Speaker aus 5-6 Personen. Zu den Vorteilen zähle etwa die weniger enge Zusammenarbeit als im Zweier-Team, die mitunter schwierig sein könne. Zudem sei es nicht nötig, dass alle Beteiligten kontinuierlich anwesend seien. Ziel sei jeweils die gute und zügige Fertigstellung der wichtigsten Aufgabe. Vielleicht wird Mob Programming in 20 Jahren selbstverständlich sein, resümiert Thomas Much.

Take-away #5: Veränderung antreiben? Beim Abendessen statt im Meeting!

Uwe Friedrichsen (codecentric AG) berichtete in seiner Session „Herausforderung Veränderung: Modelle, Grenzen und der Einfluss von Kultur“ aus seiner Tätigkeit als Consultant. Kunden hätten häufig die Erwartung an Consultants, Veränderungen voranzutreiben. Das Problem daran brachte der Speaker auf den Punkt: Man kann Menschen nicht verändern, das könnten sie schließlich nur selbst. Und diese Menschen seien auch noch ganz unterschiedlich: Bestimmte Haltungen seien weiter verbreitet, andere weniger. Innovatoren seien zum Beispiel eher rar gesät, während die Late Majority, die große Mehrheit, später nachfolge und einige Personen eine defensive „Ja, aber“-Haltung an den Tag legten. Der Speaker gab zu bedenken, dass jede dieser Gruppen eine unterschiedliche Zeitspanne benötigt, um die Veränderung anzunehmen. Dabei sollte man anderen Personen gegenüber ehrlich, empathisch, und realistisch bleiben, rät Friedrichsen. Auch einen Trick verriet der Consultant: Bei einer gemütlichen Atmosphäre beim Essen sei es einfacher, Entscheidungen zu erzielen, als in einem formalen Meeting.

Take-away #6: Warum Microservice-Projekte scheitern

In seinem Talk Warum Microservice-Projekte scheitern erläuterte Eberhard Wolff (INNOQ) die häufigsten Fehlerursachen für Microservice-Projekte. Das durchgehende Muster sind dabei menschliche Fehler in der Planung. Ganz gleich, ob man allen Microservices eines Systems ein gemeinsames Datenmodell auferlegen will oder die Verschachtelung synchroner Calls übertreibt: Starres Festhalten an einer Idee lässt Microservice-Projekte schiefgehen.

Auch im Operations-Bereich lauern Fehlerquellen. Die Einführung einer Technologie aus einer Mode heraus ist hier ebenso kritisch zu sehen wie die komplette Verweigerung gegenüber Innovationen. Die beste Strategie für die Auswahl einer Deployment-Architektur hängt laut Wolff stark vom jeweiligen Projekt ab. Hierfür können die verschiedenen Spielarten von Microservices mit ihren unterschiedlichen Vor- und Nachteilen ebenso geeignete Lösungen sein wie der klassische Monolith.

Man sollte schlicht anhand der Anforderungen eines Projektes und der Machbarkeit im Produktionsbetrieb abwägen, welches Modell sinnvoll und praktikabel ist.

Take-away #7: Ein agiles Manövrieren durch den Problemraum

Die Transformation in die Cloud steht für viele Unternehmen theoretisch auf dem Programm. Doch wie bekommt man das Unternehmen praktisch in die Cloud? Michael Heiss (ARS Computer und Consulting GmbH) und Robertino Solanas (Datev eG) haben für ihr Unternehmen gleich ein eigenes Schulungskonzept herausgearbeitet und uns auf der JAX 2019 an ihren Erfahrungen teilhaben lassen.

Theoretisch scheint die Transformation in die Cloud recht simpel zu sein: Vernetzung, Automatisierung, Big Data und dann Cloud. Doch Transformation bedeutet vor allem Lernprozess und betrifft Mensch, Kultur, Organisation, Prozess und Technologie. Wer sein Unternehmen in die Cloud bringen möchte, muss von Null beginnen: Neue Strukturen und Arbeitsweisen, neue Technologien und neue Werkzeuge. Und dabei gibt es nicht mehr den einen Experten – jeder sollte alles ein Stück weit beherrschen.

In ihrem Unternehmen erhalten die Mitarbeiten daher eine Einführung in diverse Technologien wie Cloud-native, Big Data, Kafka, MongoDB, Ceph, Spring, Angular, etc. Kulturell geht es um Fehlerkultur, Full-Stack-Mindset, vom Softwareentwickler zum Engineer/Craftsman. Hinsichtlich der Organisation führt der Weg zu crossfunktionalen Teams bzw. Agilität. Beim Erlernen bzw. Neu-Lernen setzen Heiss und Solanas vor allem auf kleine Schritte.

Trotz allen Vorkehrungen sollte man nicht vergessen: Transformation ist schwer planbar – ein IT-Allheilmittel gibt es nicht. Und so ist die Transformation letztendlich eines: „Ein agiles Manövrieren durch den Problemraum.“

Take-away #8: Schneller geht (meistens) immer!

Schneller geht immer – mit dieser steilen These eröffnete Ingo Düppe (Crowdcode GmbH & Co. KG) seine Session zur Performanceanalyse auf der JAX 2019. Der erste Schritt beginnt bei der Definition. Und für Düppe lässt sich “Performanceanalyse” recht einfach bestimmen, nämlich: Zeit x Performance.

Und ebenso wichtig ist die Anwendungstopologie. Getreu dem Motto: Gefahr erkannt, Gefahr gebannt, muss das Problem zunächst definiert werden. Erst dann kommt der Werkzeugkasten mit zahlreichen Java-Profiling- und -Analysetools (jProfiler, VisualVM, etc.) zum Einsatz. Dabei zeigte Düppe konkret, wie man GC-Logs erstellt und analysiert oder auch Thread Dumps interpretiert. Summa summarum kann man erst durch einen systematischen Überblick über das Laufzeitverhalten einer Anwendung gezielt in die Detailanalyse gehen. Und wenn das gelingt, dann zeigt das Ergebnis wirklich sehr oft: „Schneller geht immer!“

Geschrieben von
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. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Katharina Degenmann
Katharina Degenmann
Katharina Degenmann hat Politikwissenschaft und Philosophie studiert. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH und ist nebenbei als freie Journalistin tätig.
Florian Roos
Florian Roos
Florian Roos ist Redakteur für Software & Support Media. Er hat Politikwissenschaft an der Technischen Universität Darmstadt studiert und erste redaktionelle Erfahrungen in den Bereichen Games und Consumer-Hardware gesammelt.
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Maika Möbus
Maika Möbus
Maika Möbus ist seit Januar 2019 Redakteurin bei Software & Support Media. Zuvor studierte sie Soziologie an der Goethe-Universität Frankfurt und an der Johannes Gutenberg-Universität Mainz.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: