Tag 2 an der JAX Finance-Front

Impressionen von der JAX Finance: “Open Source ist der Inbegriff der offenen Allokation”

Natali Vlatko

Vollgestopft mit Performance Points und Tag Team-Sessions hatte auch der zweite Tag der JAX Finance ein fabelhaftes Programm zu bieten.

Der zweite und letzte Tag der JAX Finance kulminierte in einer Fülle von Sessions, die sich um Performance, Struktur und Wachstum drehten. Mashooq Badar und Christian Gross legten mit ihren Sessions, die alle Teilnehmer in ihren Bann zogen und zugleich herausforderten, einen fulminanten Start in den Tag vor.

XP-Praktiken und NoSQL

Badar äußerte sich im Detail dazu wie er in der Lage war, XP-Praktiken in großem Maßstab zu übernehmen und einzusetzen. Diese nutzte er für die Errichtung einer Abteilung, die als Drehscheibe für dutzende Systeme, die ihre Handelsaktivitäten Regulierungsbehörden auf der ganzen Welt melden, diente. Die Praktiken umfassten TDD, Continuous Integration und Paarprogrammierung.

Die Session von Gross zwang uns, unsere Denkerkappen aufzusetzen: Sie hatte zum Inhalt, wann und wo SQL und NoSQL beim Bauen verschiedener Anwendungen zum Einsatz kommen sollte. Eingedenk der Art und Weise, wie wir tatsächlich auf die verschiedenen NoSQL-Datenbanken zugreifen können, gab Gross der versammelten Mannschaft eine Warnung mit auf den Weg: Man sollte nicht auf Zugangstechnologien zurückgreifen, die zum „Abstrahieren“ oder „Simplifizieren“ neigen, da diese den Client im Zweifelsfall verlangsamen und weniger effizient machen.

Man lehnt sich wohl nicht zu weit aus dem Fenster wenn man sagt, das Gross von NoSQL ziemlich angetan ist:

the biggest thing that NoSQL has brought to the world is sharding.

Unter der Prämisse, dass es zur Partitionierung der Datenbank über mehrere physische Computer hinweg eingesetzt wird, bezeichnete Groos Sharding als Verwaltungsaufgabe und unterstrich, dass eine schlechte Sharding-Strategie in einer grässlichen Skalierung mündet.

Tag Team-Sessions

Als nächstes stand die erste der kollaborativen Sessions auf dem Programm. Tuning-Meister Kirk Pepperdine machte sich zusammen mit Dr. Heinz Kabutz daran, Java 8 Parallel Streams auseinanderzunehmen. Dabei enthüllten sie ihr Wissen darüber wie man herausfinden kann, was innerhalb des ForkJoinPools vor sich geht und auch, welche Möglichkeiten man bei der Messung des Durchsatzes sowie der Antwortzeit hat.

Einen Raum weiter teilte Chris Chedgey seine Ansichten über strukturelle Schönheit mit; darüber, wie alle Codeschnipsel in Containern (Methoden, Klassen, Packages) organisiert und wie diese wiederum miteinander verknüpft sind. In Chedgeys Worten:

You need to be able to chunk up the code that can be released and tested in their own time, but that can’t happen if everything and everyone is using everything else.

Anschließend sprach Chedgey auf subjektiver Ebene darüber, was eine gute Struktur ausmacht: Containment (oder Abstraktion), gemessen durch zyklomatische Komplexität, Abhängigkeit und Eindämmung, Ebenen, kumulative Abhängigkeit (CCD) und Lokalität von Abhängigkeiten. Chedgey unterstrich:

you want to organise your code so that your dependencies are more local.

Höchste Zeit für Kaffee!

Unsere nächste Station war eine weitere kollaborative Session. Diesmal partnerte Kirk Pepperdine mit John Davies, um über niedrige Latenz bei der XML-Verarbeitung zu sprechen. Zusammen demonstrierten sie die Speicherkosten bei der Verwendung von XML-Parsern wie SAX und verglichen diese mit Alternativen, die eine niedrigere Latenz aufweisen.

2015-04-28-11.32.511-1024x685

Ein großen Bestandteil der Latenz macht die Totzeit aus; die Serialisierung ist ein weiteres großes Thema, kann sie doch der Skalierbarkeit Grenzen setzen. Nachdem sie auf einige Quellen von Latenz (z.B. Hardware-Sharing) eingingen, rundeten Pepperdine und Davies ihre Session mit einer kurzen Demo von Davies‘ derzeitigem Lieblings-Nummerierungsschema – binary – ab.

Eine inspirierende Keynote

Die heutige Keynote wurde von dem Programmierer, Autor und Vollzeit-Denker Pieter Hintjens gehalten. Hintjens erläuterte, wie man große Softwaresysteme errichten kann und gab gleichzeitig zu, dass die Erstellung akkurater Software eine äußerst schwierige Aufgabe darstellt.

Software as a market means a living software that is flexible enough to grow and change as it’s being used” Pieter @hintjens #jaxfinance

— JAX Finance (@jaxfinance) April 29, 2015

Für Hintjens bestehen zwei lösenswerte Probleme: die Genauigkeit und die Größenordnung.

It’s pointless solving problems of efficiency if they’re the wrong kinds of problems to solve.

Anhand von „cost gravity“, was die Idee beschreibt, dass Dinge mit der Zeit günstiger werden und reichlicher zur Verfügung stehen, sowie unter Zuhilfenahme von Conway’s Law, das die Wichtigkeit von Organisationsmodellen, Kontrakten und Regulierungen beschreibt, präsentierte Hintjens ein System, in dem fast alle Teilnehmer Value beisteuern.

Die Bewegungsfreiheit, die Freiheit Dinge ins Rollen zu bringen und die Freiheit zu Scheitern, sind wesentliche Punkte, die das Rückgrat erfolgreicher großer Softwaresysteme bilden – mit einer Verbeugung gegenüber der offenen Allokation als aktuellem Managementstil.

The epitome of open allocation is open source. Priorities get set by individuals who are able to think about what is important for their company in the long term, and very quickly.

Es neigt sich dem Ende entgegen …

Nach der letzten Pause des Tages stürzten wir uns kopfüber in die verbleibenden vier Sessions. John Stevenson hatte sichtlich Spaß daran, Clojure als effektive Wahl für die funktionale Programmierung zu präsentieren. Da es über Macros erweiterbar ist, begünstigt Clojure das Wachstum einer großen Bandbreite an Bibliotheken, um die Geschwindigkeit der Anwendungsentwicklung zu beschleunigen.

Eoin Woods nutzte seine Session um zu zeigen, dass die Modellierung ihren hochnotpeinlichen Status nicht verdient hat. Zusammen mit Simon Brown entwarf er eine Sammlung von Prinzipien, anhand derer das mit „die Architektur wird eigentlich von niemandem verstanden“ zu umschreibende Extrem vermieden werden kann. Seine Session brachte Entwickler zusammen, die nicht aus der Finanzwelt, sondern anderen Branchen stammen, namentlich Marketing, Networking und Werbung.

John Davies spricht über niedrige Latenz bei der XML-Verarbeitung

Auch Dr. Heinz Kabutz war wieder mit von der Partie, um als Ein-Mann-Band über die Produktivität bei der Programmierung zu predigen. „Gute Programmierer müssen faul sein“ – eine Ansicht, die wir sicher nicht zum ersten Mal gehört haben. Seine Verdeutlichung, wie die richtige Menge Faulheit zu bemessen ist, zeigte den Teilnehmern, wie sie durch die Nutzung von Java 8 Lambdas produktiv und clever zugleich sein können.

Lewis Foti brachte uns zum Abschluss der Konferenz wieder zum Kernthema, dem Finanzwesen, zurück. In seiner Session beschrieb er die Fülle an Herausforderungen, die damit einhergehen, der erste Anwender einer neuen Technologie in einer großen Organisation zu sein. Die Entscheidung, die hauseigene HPC-Umgebung einer großen Organisation auf AWS zu migrieren war nicht leicht gefallen, doch innerhalb von neun Monaten war die Migration abgeschlossen.

Und damit endet die JAX Finance! Wir konnten uns über eine rege Teilnahme und viel positives Feedback freuen und können es kaum abwarten, bis es im kommenden Jahr wieder losgeht. Vielleicht sieht man sich ja zwischenzeitlich auf der im Oktober stattfindenden JAX London?

Auf Twitter lässt sich unter @jaxfinance übrigens die ganze Action der letzten zwei Tage nachverfolgen.

Verwandte Themen:

Geschrieben von
Natali Vlatko

An Australian who now calls Berlin home, via a two year love affair with Singapore. Natali is an Editorial Assistant for JAXenter.com (S&S Media Group) and will forever be into RPGs, animated gifs and Bitcoin.

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: