You searched for Johannes Unterstein ...

... and you found him =)
Take a nice cup of tea and if you are interested you can check out my social media accounts, my lecturing scripts or explore my other stuff.

Lecturing at Duale Hochschule Baden-Württemberg - Stuttgart

Organizing Java User Group Hessen in Kassel

Interesting github projects

Demo of a logging infrastructure, paired with microservices. Showcase of a possible ELK usage with jooby, docker-compose and knockout.js.

https://github.com/unterstein/microservices-logging-talk

Show case how to use spring-data-elasticsearch and play 2.4, in the "new play way".

https://github.com/unterstein/play-spring-data-elasticsearch-example

Play plugin to use spring-data-elasticsearch together with play, in the "old play way".

https://github.com/unterstein/play-elasticplugin

Play plugin to use spring-data-neo4j together with play, in the "old play way". Maintained and implemented by my good friend @Seppel.

https://github.com/tuxBurner/play-neo4jplugin

Step by step explanation how to use play 2.4 (scala version) with CDI and spring-data-neo4j.

https://github.com/unterstein/play-2.4-scala-spring-data-sample

Step by step code base for the interesting question "what can we code live on a conference in one hour with reasonable technologies?". I used play, scala, elasticsearch, elasticsearch-mapper-plugin to implement a document search application for your local disk.

https://github.com/unterstein/documentsearch

Some other projects

Hi there, do you know JSFiddle? Yes? This is similar, but for scala!

http://scalafiddle.net

Having fun developing climbing route database with @Seppel!

http://climbbook.de

Picture collection of my marriage. Bad luck, its password protected :-)

Marriage

Talks

Container: check! Aber wohin mit Persistent Data, Big Data oder Fast Data?

Wir haben in den letzten Jahren unsere Anwendungslandschaften zunehmend in Container verpackt, um unsere Anwendungen gegeneinander zu isolieren und leicht zu verschiffen. Nun betreiben wir aber große Arbeit, um zustandsbehaftete Container am Laufen zu halten und fehlertolerant zu gestalten. Außerdem lassen wir meistens unsere Big-Data- und Fast-Data-Frameworks in separaten Clustern laufen, da sie nicht ohne weiteres Zutun gut in Containern skalieren. Das heißt, dass wir unsere Cluster nicht optimal ausnutzen und auch auf Skalierungseffekte verzichten. Florian Leibert (Mesosphere, CEO) beschreibt dieses Phänomen als Container 2.0, und wir werden uns in dieser Session mit diesem Phänomen beschäftigen.

Wir werden in dieser Session zunächst den Status quo betrachten und die aktuelle Problemstellung verdeutlichen. Danach werden wir anhand von DC/OS und Apache Mesos zeigen, wie die aktuellen Probleme adressiert werden können, um eine möglichst optimale Nutzung des Clusters und übergreifende Skalierungseffekte zu erreichen.

Slides - tbd
03.04.2017 - Devops Jax London 2017
11.05.2017 - JAX 2017
TBD -> Leave a message

Mesos and the Architecture of the New Datacenter

Um den wachsenden Daten- und Usermengen begegnen zu können verändert sich die Architektur von Anwendungen aktuell sehr stark. Eine Anwendung besteht immer häufiger aus vielen kleinen Services, welche verteilt und in Container verpackt sind. Verteilte Systeme hingegen unterliegen anderen Regeln als klassische monolithische Anwendungen. Insbesondere im Bereich Service-Discovery, Load-Balancing und Networking entstehen Herausforderungen für das moderne Datacenter. Um diese Probleme zu minimieren, abstrahieren DC/OS und Mesos die Komplexität von verteilten Systemen und etabliert sich dadurch als Cluster-Manager vieler großer Anwendungen.

In dieser Session werden Jörg und Johannes die Idee und Vorgehensweise von Apache Mesos erläutern, DC/OS (datacenter operating system) vorstellen und im Zuge einer DEMO all die coolen Features am lebenden Objekt zeigen. Insbesondere gehen sie dabei auf Best Practices im Bereich Microserives ein.

Slides - Speakerdeck
15.12.2016 - Microservices Meetup Hamburg
TBD -> Leave a message

Containerorchestrierung mit Apache Mesos – DC/OS für Java-Entwickler

In Zeiten von Docker, Big Data und Microservices wird es immer wichtiger, seine verteilte Anwendung sinnvoll auf sein Cluster zu verteilen und dabei trotzdem noch den Überblick zu behalten. Daher werden Plattformprodukte bzw. Cluster-Management-Systeme wie Apache Mesos und DC/OS immer wichtiger und halten in immer mehr Bereiche Einzug.
In dieser Session werden wir einen Java-basierten Service mit Spring Boot implementieren und zunächst lokal und dann mit Docker-Compose starten. Danach werden wir sehen, wie einfach es ist, die gleiche verteilte Anwendung in DC/OS auf dem eigenen Cluster zu deployen und zu monitoren. Danach werden wir unseren Service skalieren und im laufenden Betrieb aktualisieren. Und das Coolste dabei: Wir haben eine hübsche UI und eine super CLI.

Slides - Speakerdeck
10.11.2016 - W-JAX 2016
15.11.2016 - JUG Hamburg
11.01.2017 - JUG Berlin-Brandenburg
23.02.2017 - JUG Kassel
08.03.2017 - JUG Karlsruhe
30.03.2017 - JavaLand
26.04.2017 - JUG Frankfurt
10.05.2017 - JAX 2017
TBD -> Leave a message

Logging im Zeitalter von Microservices

Die meisten von uns werden an einer Software arbeiten, welches auf mehrere Services, Systeme und/oder Server bzw. Rechenzentren verteilt ist. In verteilten Systemen fallen naturgemäß auch verteilte Logs an, welche aber am Besten über eine API durchsuchbar und monitorbar sein sollten. Der Stack mit Elasticsearch, Logstash und Kibana (ELK) ist üblich um diese Problematik zu adressieren und bietet eine wunderbare Basis für unsere Infrastruktur.

In dieser Session wird exemplarisch gezeigt wie man ELK in seine bestehende Service-Architektur integrieren kann um den bestmöglichen Einblick in seine Anwendung zu erhalten. Dabei werden Logs aus verschiedenen Anwendungen nach Elastic schreiben und mit kleinen Tricks service-übergreifende Semantik und Nachvollziehbarkeit erreicht. Dabei werden wir sehen, wie uns Dashboards für verschiedene Stakeholder (Sales, Marketing, Ops, Devs, ..) quasi geschenkt werden. Und das coolste dabei: Unsere bestehende Services werden gar nicht viel davon mitbekommen :-)

Slides - Speakerdeck
04.05.2016 - Kassel Code Meetup
08.11.2016 - W-JAX 2016
TBD -> Leave a message

Butter bei die Fische. Ein Jahr Entwicklung und Produktion mit Docker

Vor einem Jahr haben wir in der JUGH die damals sehr junge Technologie Docker vorgestellt und die Basics und den Start gezeigt. In der Zwischenzeit haben wir ein Jahr intensiv mit Docker gearbeitet und auch Anwendungen damit in Produktion geschoben.
In diesem Talk möchten wir euch unsere Erfahrungen zeigen, wie wir Docker einsetzen und welche positiven und negativen Erfahrungen wir gemacht haben. Dabei gehen wir auf sinnvolle Anordnung von Docker-Befehlen ein, auf sinnvolle Docker-Registries, auf Staging und Verlinkung von Containern über Hardwaregrenzen hinweg, auf Continuous Deployment und all das andere lustige Zeug, was wir so mit Docker machen. Eine Voranmeldung ist nicht nötig, der Eintritt ist frei.

Slides - Speakerdeck
25.06.2015 - Java User Group Hessen in Kassel

Wir bauen eine Dokumentensuchmaschine für die eigene Infrastruktur mit Git, Play!, Scala und Elasticsearch in weniger als einer Stunde.

Im normalen Projektalltag haben wir oft die Situation, dass wir viele und große Spezifikationen oder andere projektbegleitende Dokumente in einem Versionsverwaltungssystem verwalten und bearbeiten müssen. Meistens sind diese Dokumente in Formaten wie Word, Excel oder PDF. Diese können zwar von den meisten Systemen verarbeitet werden, allerdings sind sie nicht sonderlich gut durchsuchbar. Daher bauen wir eine Webanwendung, welche eine komfortable Suchmaschine für Dokumente bereitstellt und das Auffinden von Informationen wesentlich vereinfacht. In diesem Vortrag werden wir die Anwendung „from Scratch“ implementieren und zeigen, wie man durch sinnvollen Einsatz von Technologie in kürzester Zeit zu vorzeigbaren Ergebnissen gelangt. Aufbauend auf der entstandenen Anwendung geben wir noch einen Ausblick auf Möglichkeiten zur Weiterentwicklung und weitere Einsatzzwecke.

26.08.2014 - Source Talk Tage Göttingen
28.08.2014 - Java User Group Hessen in Kassel

Docker Basics

Docker ist eine offene Plattform, um verteilte Anwendungen zu bauen, zu liefern und zu betreiben. Docker erlaubt es, dass Anwendungen mit ihren Betriebssystemen und all ihren Abhängigkeiten in Container (kleine virtuelle Maschinen) verpackt und über die Docker Engine ausgeführt werden können. Johannes Unterstein und Markus Fiedler haben in ihrem Vortrag die grundlegende Funktionalität von Docker und die Integration in die bestehende Entwicklungsinfrastruktur gezeigt. Docker.io ist wesentlich schlanker und flexibler als übliche virtuelle Maschinen, weil sich die Ressourcen des Betriebssystems geteilt und nicht dediziert zugewiesen werden.

28.07.2014 - Java User Group Hessen in Kassel

Play 2.1 für Fortgeschrittene

- no abstract -

28.03.2013 - Java User Group Hessen in Kassel

PlayFramework - ein Webframework in Java und Scala

- no abstract -

12.06.2012 - Eclipse DemoCamp