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.

REWE digital trifft die Java User Group Dortmund – ein Auswärtsspiel

Bei der Java User Group Dortmund ist es in den letzten Jahren zur Tradition geworden, am Tag nach dem Javaland eine Minikonferenz zu organisieren und Sprecher aus dem Javaland nach Dortmund einzuladen. In diesem Jahr schaffen wir dies aus verschiedenen Gründen nicht, wollten aber auch nicht mit dieser Tradition brechen. Daher haben wir uns spontan entschieden, ein Auswärtsspiel zu organisieren. Gemeinsam mit der REWE digital in Köln organisieren wir im bekannten Format ein Abend mit internationalen Top-Sprechern aus dem Javaland. Auch wenn die Anreise für ein solches Auswärtsspiel etwas weiter ist, möchten wir allen Java Entwicklern in der Region die Möglichkeit bieten, zwei ausgewählte Vorträge aus dem Javaland zu besuchen.

Dieses Treffen findet bei REWE digital auf dem Carlswerkgelände in der Schanzenstraße in Köln Mülheim statt.

https://www.meetup.com/de-DE/JUG-Dortmund/events/248568771/

REWE digital
Gebäude Kupferwerk 2.15
1. Etage
Schanzenstraße 6-20
51063 Köln

Das Gelände des Carlswerks ist ziemlich weitläufig, deshalb bitte die Anfahrtsbeschreibung beachten.

Talk #1 “Making Microservices Micro Again with Istio Service Mesh”

(Ray Tsang, Google, @saturnism)

Microservices are here to stay. When applied properly, microservices techniques and culture ultimately help us continuously improve business at a faster pace than traditional architecture. However, microservices architecture itself can be complex to configure. All of a sudden, we are faced with the need for a service discovery server, how do we store service metadata, make decisions on whether to use client side load balancing or server side load balancing, deal with network resiliency, think how do we enforce service policies and audit, trace nested services calls… The list goes on.
Sure, it’s easy to have a single stack that makes everything work provided there are good microservices support – but what if you have a polyglot environment? How would you make sure all of the stack can address the same concerns in a consistent way? This is where a service mesh comes in.
In this talk, Ray will introduce Istio, an open source service mesh framework created by Google, IBM, and Lyft. We’ll see how the service mesh work, the technology behind it, and how it addresses aforementioned concerns.

About Ray Tsang

Ray is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences since 2002. Ray has built mobile applications & micropayment systems as an independent contractor. During his time in Taiwan, Ray has built IT systems for Taiwanese government for a large scale search engine, electronic customs record management, and more. At Accenture, Ray was a team lead for a SOA deployment at a utilities company, building out common frameworks for messaging and service tracing. Moreover, Ray was an architect leading teams to implement online booking channels for a global hospitality company. During Ray’s time at Red Hat, he was specialized in Java middleware, and contributing to open source projects such as Infinispan.

Aside from technology, Ray enjoys traveling and adventures. Ray is currently a Developer Advocate at Google.

Talk #2 “Deconstructing and Evolving REST Security”

(David Blevins, Tomitribe, @dblevins)

The learning curve for security is severe and unforgiving. Specifications promise infinite flexibility, habitually give old concepts new names, are riddled with extensions, and almost seem designed to deliberately confuse. For a back-end REST developer, choking all this down for the first time is mission impossible. With an aggressive distaste for fancy terminology, this session delves into OAuth 2.0 as it pertains to REST and shows how it falls into two camps: stateful and stateless. We then detail a competing Amazon-style approach called HTTP Signatures, ideal for B2B scenarios and similar to what is use to secure all Amazon AWS API calls. Each approach will be explored analyzing the architectural differences, with a heavy focus on the wire, showing actual HTTP messages and enough detail to have you thinking, “I could write this myself.”

As a bonus at the end, we’ll peak into a new IETF Internet Draft launched this year that combines JWT and HTTP Signatures into the perfect two-factor system that could provide a one-stop shop for business as well as mobile REST scenarios. Come to this session if you want to go from novice to expert with a bit of humor, a big picture perspective and wire-level detail.

About David Blevins

Founder of Tomitribe, veteran of Open Source Java EE in both implementing and defining JavaEE specifications for over 15 years with a strong drive to see JavaEE simple, testable and as light as Java SE. Co-Founder of OpenEJB (1999), Geronimo (2003), TomEE (2011). Member of the Eclipse MicroProfile, Jakarta EE PMC, JCP Executive Committee, Java EE 8 Expert Group, past member of the Java EE 7, EJB 3.2, and EJB 3.0 Expert Groups. Contributing author to Component-Based Software Engineering: Putting the Pieces Together from Addison Wesley.