Blog

Alle Beiträge von Daniel Wegener

Reproducible builds in Java

If you follow the open source and especially the linux community you might have come across the term reproducible (or repeatable) builds. Its claim is: You should be able to verify that a published project’s binary really is the exact result of building a certain version of a set of the project’s sources. Sounds easy, doesn’t it?

weiterlesen

ScalaDays 2015 Amsterdam – We’re hiring

Diese Woche haben sich 800 Entwickler und Enthusiasten bereits zum zweiten Mal in diesem Jahr zu den ScalaDays zusammengefunden. In insgesamt 106 Talks wurden auf drei Tracks verteilt die Themen Enterprise-Scala (Reactive und BigData), Core Scala (Functional und Academic), Tools und Web sowie IoT & Cool Stuff angesprochen.

weiterlesen

Hamburg Akka Meetup — Reactive Reference Architecture

Am 27. April findet das zweite Akka-Meetup in Hamburg in diesem Jahr statt — dieses Mal zu Gast in unserem Büro in Othmarschen. Wir freuen uns auf Markus Jura (@MarkusJura) von Typesafe. Die Anmeldung erfolgt wie üblich über die Meetup-Gruppe.

weiterlesen

TracEE – Log-Analyse in verteilten JavaEE-Anwendungen

Das Nachvollziehen von Systemaufrufen zur Problemanalyse in verteilen JavaEE-Anwendungen anhand von Log-Dateien ist anstrengend und kostet Zeit. Gerade bei der Analyse von Störungen in einer Produktionsumgebung ist man von der Geschwätzigkeit der erzeugten Log-Einträge abhängig. Auch ist man dort eher selten in der Lage, mal eben das Log-Level zu erhöhen – sofern ein zu analysierendes Problem überhaupt reproduzierbar ist.

Heute möchten wir ein neues Framework und Open-Source-Projekt vorstellen, das diesem Problem zu Leibe rückt: TracEE. Aussagen wie „Das kann man jetzt so leider nicht mehr nachvollziehen!“ könnten bald der Vergangenheit angehören.

weiterlesen

Von starken Hafenarbeitern und leichten Containern

Infrastructure as Code (IaC) ist ein mächtiges Werkzeug, das im Rahmen der DevOps-Bewegung die Entwicklung und den Betrieb näher zusammenbringt. Es ermöglicht vor allem das automatisierte Aufsetzen von Laufzeitumgebungen – von der Entwicklungs- bis hin zur Produktionsumgebung. Häufig werden bei der Umsetzung von IaC Virtuelle Maschinen und Werkzeuge wie Chef, Puppet und Vagrant zu deren Provisionierung eingesetzt. Im besten Fall gelangt man irgendwann an einen Punkt, an dem man mit nur einem Klick aus einem Betriebssystem-Basis-Image ein für den Produktionsbetrieb geeignetes VM-Image einschließlich Konfiguration und vorinstallierten Anwendungen erzeugen kann.

Nach dem Immutable Server-Ansatz wird bei Änderungen an einer Infrastrukturkomponente, sei es eine Konfigurationsänderung, eine Aktualisierung des Betriebssystems oder eine neue Anwendungsversion, einfach ein komplett neues Image nach der Bauanleitung bzw. dem so genannten Rezept des Konfigurationsmanagement-Tools erstellt.  Ein wichtiger Aspekt dabei ist, dass bestehende VM-Instanzen bei Konfigurationsänderungen nicht geändert (z.B. durch Einspielen einer neuen Anwendungsversion) sondern jedes Mal vollständig neu erzeugt werden. Damit wird sichergestellt, dass die ausgeführten Konfigurationsschritte sowie deren Reihenfolge für jeden Server und jede Umgebung stets reproduzierbar sind.

weiterlesen