Warum so langsam? Continuous Profiling mit Grafana Pyroscope

Die einen erschlagen das Problem mit Hardware, die anderen haben es vielleicht lokal schon mal probiert: Performance Bottlenecks per Profiler zu finden. Alleine zu verstehen, was einem da im Flame Graph angezeigt wird, ist eine Herausforderung. Und was ist, wenn die Anwendung auch noch in der Cloud läuft? Diese Session soll zeigen, wie es mit Grafana Pyroscope möglich ist, Anwendungen remote und kontinuierlich zu überwachen und so besagte Bottlenecks zu identifizieren und beheben.

Ahead of Time – Spring Boot Native

Wer heute von Serverless Java spricht, meint damit meistens die Kombination aus Quarkus und GraalVM. Aber auch Spring Boot will mit Version 3.0 ein Wörtchen mitreden. Dazu wird das Spring Native Projekt in den Ring geschickt, um mit GraalVM native Images zu erzeugen, die Start-up-Zeiten und Speicherverbrauch drastisch reduzieren und damit bares Geld in der Cloud sparen. Diese Session zeigt, was man braucht, um eine bestehende Anwendungen zu migrieren und welche Probleme es dabei zu bewältigen gibt.

Der Kong des API Dschungels

Kong ist noch ein relativ junger Player im API Gatway Markt. Trotzdem hat Kong schon einen großen Anteil und ist als CNCF Member ein durchaus ernst zu nehmender Anbieter. Durch seinen API-first Ansatz lässt sich Kong vollständig automatisert in eine Deployment Pipeline einbinden. Gerade im Kubernetes Umfeld bringt Kong als Ingress Controller, der gleichzeitig ein API Gateway darstellt, viele Vorteile mit. Selbst die kostenlose Open-Source Version lässt einige grosse API Gateways alt aussehen. Diese Session soll zeigen wie sich Kong in eine CI/CD Pipeline einbinden lässt und so sein volles Potenzial entfaltet.

Continuous Consumer-Driven Contracts

Um sicherzustellen, dass die Kommunikation zwischen Services über Schnittstellen hinweg funktioniert, werden auch heute noch häufig manuelle Tests herangezogen. Das ist aber leider sehr zeitaufwändig und gerade in einer Microservices-Architektur skaliert das nicht mehr. Daher setzt man heute Consumer-Driven Contracts ein, um sicherzustellen, dass die Kommunikation dauerhaft stabil funktioniert. Dieser Vortrag zeigt, wie man mit dem Pact Framework und dem zugehörigen Pact Broker eine Continuous Deployment Pipeline aufsetzt, die sicherstellt, dass fehlerhafte Änderungen an Schnittstellen schnell erkannt werden und nicht im Produktivsystem landen. Und das ohne die Contracts zwischen den Service-Teams manuell hin und herzuschicken.

Master your Maven

Seit 2002 gibt es das Build-Tool Maven für Java. Auch wenn es mittlerweile starke Alternativen wie Gradle gibt, ist Maven immer noch in vielen Projekten im Einsatz. Maven bietet viele praktische Befehle und Features, trotzdem kommen viele Entwickler nicht über „mvn clean install“ hinaus. Das funktioniert zwar, kostet aber wertvolle Zeit. Dieser Vortrag gibt einen Einblick in die Funktionsweise von Plug-ins und das Object Project Model (POM) und zeigt Tipps und Tricks, die die tägliche Arbeit mit Maven vereinfachen und beschleunigen werden.

App-Delivery-Pipeline

Jeder redet von Continuous Delivery, aber was macht eine gute Development-, Testing- und Delivery-Pipeline aus? Diese Session soll zeigen, welche Schritte nötig sind, um das Ziel Continuous Delivery zu erreichen. Neben Themen wie Update- und Roll-out-Strategie werden ebenso Crash Reports und Analytics-Möglichkeiten beleuchtet.

iOS: einheitliche Oberflächen mit Auto Layout

  • MobileTechCon – September 2016

Mittlerweile ist Apple mit iPad, iPhone, Apple Watch und Apple TV in vier verschiedenen Gerätekategorien vertreten. Dazu kommen teilweise noch mehrere verschiedene Bildschirmauflösungen pro Kategorie. Diese Session soll zeigen, wie man die eigene App auf diese Anforderungen vorbereiten kann und dabei trotzdem nicht alles doppelt schreiben muss. Dazu werden unter anderem die Möglichkeiten von Auto Layout näher beleuchtet – Apples Lösung, um eine einheitliche Oberfläche über alle Gerätekategorien und Auflösungen zu unterstützen.

UI Testing mit Xcode 7

  • MobileTechCon – März 2016

Mit dem Release von Xcode 7 hat sich einiges im Bereich Unit Testing getan. Neben Code Coverage wurde vor allem der Bereich UI Testing erweitert. Musste man früher noch UI-Tests per JavaScript schreiben und in Instruments laufen lassen, hat Apple heute das ungeliebte UI Automation Framework eingestampft und durch UI-Tests ersetzt, die in Swift geschrieben und direkt in Xcode ausgeführt werden. Dieser Vortrag stellt die Neuerungen vor und zeigt anhand eines Beispiels, was alles möglich ist.

Web-Anwendungen mit Arquillian testen

  • Berlin Expert Days – September 2015

Mit Arquillian stellt JBoss ein sehr umfangreiches Testframework zur Verfügung, dass die Entwicklung von Integrationstests für JavaEE-Anwendungen erheblich erleichtern kann. Dieser Vortrag beleuchtet die Funktionsweise von Arquillian und stellt vor allem die Möglichkeiten für UI-Tests vor, die sich mit mit den Teilprojekten Drone, Graphene und Warp ergeben. Damit lassen sich in kurzer Zeit und auf einfache Art und Weise automatisierte Integrationstests erstellen, die eine Web-Anwendung durch alle Schichten hindurch abtesten.

Hallo Welt – RESTful Services per RestKit ansprechen

  • MobileTechCon – September 2014

Ein großer Teil der iOS Apps heutzutage kommuniziert auf die ein oder andere Weise mit der Aussenwelt. Eine weit verbreitete Möglichkeit dazu bieten RESTful Services. Doch wie bringe ich meiner App bei REST zu sprechen? Die Lösung heisst RestKit. Diese Session vermittelt die Grundlagen zur Anbindung von REST Services sowie die damit verbundenen Techniken, wie das Mapping auf ein Objekt-Modell und Routing von REST Ressourcen auf bestehende Klassen. Zusätzlich wird auf die Unterstützung von Core Data eingegangen, um die geladenen Daten zu persistieren.