JUG Talk Night: Advanced Lifecycle Management für Microservices

Wir laden wieder ein zu einem Talk, diesmal zum Thema “Advanced Lifecycle Management für Microservices”. Daniel Brintzinger von Red Hat stellt vor, wie man den Microservice-Zoo mit Istio unter Kontrolle bringt.

Wie immer wird für Verpflegung gesorgt.

Achtung! Die Adresse ist nicht mehr “Stockholmer Allee 20”, sondern “Adessoplatz 1”, es ist aber immernoch an der selben Stelle :).

Bei Interesse bitte auf meetup.com anmelden.

Abstract :
Cloud Native Development mit Microservices bietet völlig neue Möglichkeiten und Freiheiten, Applikationen zu entwickeln. Mit einer wachsenden Zahl an Services steigen jedoch die Komplexität der Applikationsarchitektur und die Anforderungen an das DevOps-Team. Fragen, die dabei zwangsläufig aufkommen, sind: Wie behalte ich den Überblick über alle Services? Wie gestalte ich meine Applikation fehlertolerant? Wie gewährleiste ich die Sicherheit meiner Services? Wie kann ich fortgeschrittene Deployment-Techniken nutzen, um Zero-Downtime-Updates einzuspielen? Wie verteile ich meine Applikation transparent über mehrere On-Premise und Public Cloud Instanzen?

In diesem Talk zeige ich die Vorteile von containerisierten Applikationen für fortgeschrittene Deployment-Techniken wie Blue/Green, Canary oder Dark- Launches. Wir werfen einen Blick auf Monitoring, Logging und Tracing Tools wie Prometheus, Grafana, OpenTracing, Jaeger und Kiali, die Einsicht in den Status komplexer Microservice Topologien geben. Mit Istio Service Mesh sehen wir wie diese Ansätze als neue “Microservice aware” Schicht einer Container Platform zusammengeführt werden. Der Service Mesh Ansatz hat das Potenzial ein Standard zu werden, wie Applikationsmanagement Aspekte nicht mehr in den Applikationen implementiert, sondern durch die Plattform transparent konsumiert werden.

Speaker:
Daniel Brintzinger ist Senior Solution Architect bei Red Hat. Er hat langjährige Erfahrung als Software-Engineer, Consultant und Softwarearchitekt mit den Schwerpunkten Prozessautomatisierung, Integration und Cloud-Architekturen. Aktuell beschäftigt er sich mit der nächsten Generation von AppDev-Patterns und -Architekturen mit dem Ziel, das Potenzial von Containerplattformen wie OpenShift voll auszuschöpfen. Daniel ist begeistert von Open Source, nicht nur aus technologischer Sicht, sondern auch als kultureller Wandel in der Art und Weise, wie wir zusammen arbeiten.

JUG Talk Night: Reactive Spring & Spring on Azure

Am 16. Oktober laden wir zur einer Talk-Night mit zwei Talks ein. Die Talks finden auf Englisch statt.

Anmeldung und weitere Details auf Meetup.

Going Reactive with Spring Boot (Mario Gray)
Reactive programming offers Java developers a way to build message-driven, elastic, resilient, and responsive services…yet many Java developers don’t know where to begin. The Reactive Streams initiative provides a baseline and Project Reactor provides a great way to become immediately productive, leveraging reactive capabilities from end to end. Whether you’re coming from a Spring MVC environment or a functional perspective, Reactor empowers you to spin up fully reactive Spring Boot 2 applications quickly and efficiently.

Mario Gray (@mariogray): Currently a Principal Technologist for Pivotal. Mario has worked in software for startups and large financial services enterprises alike working across the stack from server/network design to application design. He’s professionally written software to entertain, bring people together, and drive businesses using technologies like Linux/Solaris,SQL/NOSQL,AWS/SALT,Spring/J2EE. Mario is confident that the future of cloud computing belongs to Pivotal and the Spring team for some time to come. A longtime open-source champion, Mario is co-author of Apress’ Pro-Spring Integration, as well as a contributor to the Spring and Integration projects.

Taking Spring Apps for a Spin on Microsoft Azure Cloud (Bruno Borges)
Found your app built and ready for deployment? It’s time to take them for a spin! Whether you pack and deploy as a Docker container, standalone or on Kubernetes, you will learn and see first-hand what open source tools and services are available for bringing your apps to the Cloud with ease and full DevOps pipeline. This talk will bring you up to speed with current best practices for Cloud Native deployment on Azure, and upcoming features.

Bruno Borges (@brunoborges): Bruno is part of the Microsoft Azure Cloud Developer Advocacy team (https://aka.ms/advocates) with the mission to lead a team of Java advocates and help engineers enhance and advance the Azure developer experience for Java developers. Conference speaker, open source contributor, Java influencer, Twitter junkie. Between 2012 and 2018 was Oracle’s Product Manager responsible of Developer Relations Strategy for Oracle Cloud, Java, governance of open source projects on GitHub, and all things related to application development with Oracle technologies.

Gruß,
Tom

JUG Talk Night zum Thema “Event Sourcing & CQRS” am 01.08

Wir laden euch herzlich ein zu einem weiteren Talk, dieses mal zum Thema Event Sourcing und CQRS.

Datum: 01.08 ab 19 Uhr
Ort: adesso Dortmund, Stockholmer Allee 20, Raum “Aalto”

Für Verpflegung wird wie immer gesorgt.

Bei Interesse bitte über Meetup anmelden: https://www.meetup.com/de-DE/JUG-Dortmund/events/252827612/

Abstract:

`Event-Sourcing` bietet eine Alternative zur traditionellen Nutzung von
relationalen Datenbanken und speichert den State einer Anwendung als Abfolge
aller Änderungen (`Event-Streams`).

`Event-Sourcing` alleine bietet jedoch nicht alle Möglichkeiten, die man als
Entwickler einer datenbank-gestützten Anwendung benötigt.
Wird bspw. in einer E-Commerce-Anwendung eine Liste von Produkten einer
bestimmten Kategorie benötigt, so stellt man schnell fest, dass sich dies nicht
effizient aus den gespeicherten Event-Streams beschaffen lässt.

Um diese Lücke zu schließen wird `CQRS` als Architektur-Muster meist im selben
Atemzug mit `Event-Sourcing` genannt. `CQRS` trennt das Model in zwei Modelle
auf und unterscheidet bei Aktionen strikt zwischen schreibende und lesende
Aktionen.

Der Talk liefert zunächst eine kurze Einführung in `Event-Sourcing` und `CQRS`
und beleuchtet im Anschluss einige Vor- und Nachteile, die sich durch die
Umsetzung ergeben.

Speaker:

Christian Hammerl entwickelt seit 18 Jahren Software, seit 7 Jahren ist er angestellt bei der Crosscan GmbH in Witten. Seine Projekte sind primär im PHP- und C++-Umfeld angesiedelt.

JUG Talk Night – “DDD als Basis für Microservices” mit Henning Schwentner

Wir freuen uns auf einen Talk über DDD mit Henning Schwentner!

Es geht los gegen 19.00 Uhr mit ein paar kühlen Getränken. Gegen 19.15 Uhr fangen wir dann mit dem Talk an. Danach gibt es wie immer Pizza.

Anmeldung bitte über unsere Meetup-Gruppe.

Talk:
“It’s all about the domain, honey – DDD als Basis für Microservices in Java”

Abstract:
Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende für den Projekterfolg nicht die Technik, sondern die *Fachlichkeit* ist. Um die Fachlichkeit (=Domäne) verstehen zu können, brauchen wir eine gemeinsame Sprache mit den Fachexperten. Außerdem: wenn wir in der Software und ihrer Architektur nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt.

Als Informatiker kann man leicht in die Falle tappen, sich auf Technologie statt auf Fachlichkeit zu fokussieren. Um das zu verhindern, zeige ich in diesem Vortrag, wie man mit Domain-Driven Design (DDD) das Wissen um die Fachlichkeit lernen und in eine Ubiquitous Language übertragen kann. Dazu werden Techniken wie Interviews, Domain Storytelling und Event Storming eingesetzt.

In der Praxis ist es schwierig zu erkennen, wie wir unsere Domäne schneiden und daraus Microservices entwickeln können. Hierbei kann uns das Prinzip der Bounded Contexts aus DDD helfen. Es gibt uns Hilfestellung wo vertikale Schnitte sinnvoll sind.

Setzt man diese Techniken gemeinsam ein, dann kann man die Architektur von Software-Systemen so bauen, dass sie die Fachlichkeit darstellt und unsere Anwender glücklich macht.

Speaker:
Henning Schwentner liebt Programmieren in hoher Qualität. Diese Leidenschaft lebt er als Software-Architekt, Berater und Entwickler bei der WPS – Workplace Solutions aus. Seine Projekte sind Domain-Driven, agil und in Programmiersprachen wie Java und C# aber auch ABAP. Ihn interessieren Menschen, langlebige Softwarearchitekturen, große Refactorings und die Evolution von Programmiersprachen. Gerade hat er »Domain-Driven Design kompakt« von Vaughn Vernon ins Deutsche übersetzt. Er ist verheiratet, hat Kinder und lebt in Hamburg.

Talk Night im April

Wir laden herzlich ein zu einem Talk von Chis Chedgey – Co-Founder von Structure 101 – zum spannenden Thema “Bridging the Divide between Architecture and Code”.

Für Getränke während und Pizza nach dem Talk wird wie immer gesorgt :).

Wir freuen uns auf eure Teilnahme!

Location:
adesso AG
Stockholmer Allee 20
44269 Dortmund

Bitte über meetup anmelden.

Hinweis: der Talk wird auf Englisch gehalten

Abstract:
Static diagrams on wikis and white-boards might capture the vision of architects, but they don’t much help programmers to understand how the code they’re working on right now fits into the architecture. Nor are the programmers warned when they violate the diagrams as they forge changes, line-by-line.

This is a huge problem – it is ultimately individual lines of code that make or break an architecture; and we know that a clean architecture will help teams develop a more flexible product, with less complexity, less wasted effort, etc. Worse, without practical architectural guidance, programmers wrestle with invisible structures that emerge from thousands of inter-dependent lines of code.

And being invisible, these structures become ever more complex, coupled, and tangled. In fact, uncontrolled structure actively fights against productive development.

This talk shows how to rein in emergent code-base structures and gradually transform them into a cogent, defined architecture. You will see how…

Visualizing the emergent structure makes a code-base easier to understand.
Restructuring to remove tangles and reduce coupling makes the visualized code-base easier to work on.
Specifying layering and dependency rules converts good structure into a controlled architecture that guides the team as the code-base evolves and grows.
A key ingredient is a live visualization, inside the IDE, of the detailed code the programmer is working on, in the context of the overall architecture. In short, you will learn how bridging the architect/programmer divide can convert code-base structure from liability into an asset that actively works for development productivity.