Vom 25. bis 27. November 2024 findet in Berlin der Modularisierung, API Design und Domain-Driven Design (kurz MAD) Summit statt. Während des dreitägigen Summits wähle und mixe dir deinen eigenen Lernplan aus drei Themenschwerpunkten: Fundamentals für Einsteigende, Architektur, Domain-driven Design und Cloudnative & Devops. Lars Röwekamp, Arne Limburg und Ina Einemann haben als Program Chairs ein buntes Programm zusammengestellt.
Jetzt Ticket sichern und dabei sein. Zur Event-Website.
MAD-Summit bedeutet Interaktion. Und genau damit wollen wir bereits in der Keynote starten!
Der MAD-Summit vereint die Themenschwerpunkte Domain-driven Design, API-Design und Modularisierung in einer Veranstaltung - und das nicht ohne Grund. Im Rahmen der interaktiven Keynote wollen wir uns der Fragestellung widmen, welchen Einfluss Modul- und Deployment-Grenzen auf den Projekterfolg haben. Dazu werden wir gemeinsam folgende Fragestellungen diskutieren:
Wir werden zunächst eure Sicht der Dinge via digitalem Fragebogen ermitteln, um diese dann im Anschluss moderiert zur Diskussion zu stellen.
Die gute Nachricht vorweg: Einen einzelnen Microservice zu implementieren ist dank Bounded Context, loser Kopplung und klar definierter Kommunikationsschnittstellen denkbar einfach. Nur leider ergibt ein einzelner Microservice noch lange keine sinnvolle Anwendung! Und mit zunehmender Anzahl an Services steigt die Komplexität exponentiell. Um am Ende nicht im Chaos zu versinken, benötigt auch eine Microservices-basierte Anwendung eine Architektur und die Verwendung von Patterns. Wie zum Beispiel sollen Microservices kommunizieren? Synchron oder asynchron? Oder gar beides? Wie wird die Sicherheit in einem verteilten System garantiert? Welche Aufgaben übernimmt ein API Gateway und wird es überhaupt benötigt? Wie bildet man die Dynamik des Systems inkl. automatischem Up- und Downscaling ab. Fragen über Fragen, deren Klärung über Erfolg oder Misserfolg der eigenen Anwendung entscheiden.
Lars Röwekamp gibt in diesem Workshop einen Einblick in fast 10 Jahre Praxiserfahrung mit (Micro)Service-basierten Anwendung und diskutiert verschiedene Lösungsansätze, Patterns und Best Practices. Ein optimaler Einstieg in den MAD-Summit.
In der heutigen dynamischen IT-Landschaft stehen Unternehmen vor der Herausforderung, eine Vielzahl von APIs zu verwalten, die oft unterschiedlich entworfen und bereitgestellt werden. Diese Fragmentierung führt zu erhöhtem Wartungsaufwand, Sicherheitslücken und ineffizienten Prozessen. In diesem Workshop werden wir dir zeigen, wie ein zentrales API Management durch den Einsatz diverser Tools (u. a. eines API Gateways) diese Herausforderungen bewältigen kann.
Wir werden erläutern, wie zentrale Querschnittsthemen wie Authentifizierung, Rate-Limiting, Observability und Governance effizient sowohl mit, als auch ohne API Gateway, umgesetzt werden können. Durch praktische Beispiele und bewährte Methoden erfahrt Ihr, wie gezieltes API Management nicht nur die Verwaltung und Überwachung Eurer APIs vereinfacht, sondern auch die Sicherheit und Abwärtskompatibilität Eurer Schnittstellen signifikant verbessert.
Seid dabei und entdeckt, wie ihr mit einem durchdachten API Management und der richtigen Infrastruktur Eure API-Landschaft optimieren und zukunftssicher gestalten könnt.
Künstliche Intelligenz kann dabei helfen die Software-Entwicklung zu beschleunigen und qualitativ zu verbessern. Bereits einfachste Prompts für ChatGPT & Co erzielen erstaunliche Resultate. Einen deutlichen Schritt weiter gehen speziell für die Domäne Software Development trainierte KIs, wie Github CoPilot oder Amazon CodeWhisperer, welche auf einer schier unendlichen Basis von ausgewähltem Code aufsetzen. Ist damit das Ende des klassischen Softwareentwicklers eingeleitet?
Genau dieser Frage wollen wir im Rahmen einer Fishbowl-Diskussion gemeinsam auf den Grund gehen und unsere Erfahrungen aus dem eigenen Berufsalltag untereinander austauschen.
Die ersten Erfolge in der Cloud zu erzielen, ist gar nicht so schwer. Anbieter wie AWS, Azure oder Google ermöglichen es auf einfachem Wege, mal eben mit ein paar Klicks eine Anwendung in die Cloud zu bringen. Diese Art die Cloud zu nutzen – oft auch scherzhaft als *ClickOps* bezeichnet – ist jedoch selten nachhaltig. Gerade bei einer aufwändigen Cloud-Migration gerät dieser Ansatz schnell an Grenzen.
In diesem Workshop wollen wir uns anschauen, wie wir das Ganze durchaus besser machen können. Dazu schauen wir uns zunächst einmal in der Theorie an, was es ganz allgemein bei einer Migration in die Cloud zu beachten gilt. Danach lassen wir die trockene Theorie hinter uns und stürzen uns in die direkt in die AWS-Cloud von Amazon.Wir werden gemeinsam schrittweise eine Anwendung in die Cloud bringen und mit Vorgehen wie Infrastructure as Code und CI/CD einen produktionsreifen Prozess für die Provisonierung von Infrastruktur und dem Deployment unserer Anwendung schaffen.
Wir werden zudem einen genauen Blick auf verschiedene Cloud-Service werfen, die uns helfen, unsere Anwendung Cloud-Native zu machen.Ganz konkret werden wir uns im Workshop neben der Cloud selbst mit Werkzeugen wie Terraform/OpenTofu und GitLab beschäftigen. Der Workshop ist außerdem darauf ausgelegt, dass die Teilnehmer ebenfalls Hand anlegen dürfen. Wir stellen dazu einen AWS-Account bereit, sodass jeder direkt mitmachen kann, ohne die eigene Kreditkarte zücken zu müssen. Diskussionen während des Workshops sind zudem ausdrücklich erwünscht!
Am Ende des Workshops sollte jeder Teilnehmer einen gutes Verständnis dafür haben, wie sich eine Migration in die Cloud nachhaltig gestalten lässt. Auch wenn im Workshop AWS zum Einsatz kommt, lässt sich das gewonnen Wissen zu großen Teilen auch auf Cloud-Anbieter wie Microsoft Azure oder die Google Cloud Platform übertragen.
Ein Software-System wird mit der Zeit immer größer und größer. Aus Zeitdruck werden Kompromisse in Design und Architektur eingegangen. Und ehe man es sich versieht, ist ein unwartbarer Monolith entstanden.
Eric Evans hat dieses Problem bereits 2004 in seinem berühmten Domain-Driven Design Buch erläutert. Er schlägt darin vor, die Software frühzeitig zu modularisieren und sogenannte Bounded Contexts zu bilden. Aber was kann ich tun, wenn das Kind bereits in den Brunnen gefallen ist?
Glücklicherweise gibt es in der DDD-Community einige Methoden, wie man (auch im Bestandssystem) Bounded Contexts etablieren kann. Event Storming ist eine solche Methode. Ursprünglich hat sie das Ziel, mit allen Stakeholdern gemeinsam die Fachlichkeit einer Anwendung zu erarbeiten. Richtig angewendet und bis zum Ende durchgeführt, bietet Event Storming aber noch mehr. Das Ergebnis kann nämlich sehr gut verwendet werden, um darauf basierend Bounded Contexte zu identifizieren.
Diese zeichnet dabei aus, dass wenig Kommunikation über Kontext-Grenzen hinweg passiert und das diese Kommunikation insbesondere robust ist.
In dem Workshop stelle ich zunächst die Methode Event Storming vor. Danach wollen wir gemeinsam zunächst ein Big-Picture-Event-Storming durchführen. Im zweiten Teil ermitteln wir über Process Modelling und Software Design die Bounded Contexts und gestalten diese so, dass darauf basierend Grüne-Wiese-Projekte aber eben auch Bestandssysteme modularisiert werden können.
Auf der grünen Wiese lässt sich leicht eine modulare Anwendung schreiben. Was aber, wenn es – wie leider so häufig in der Praxis – einen bestehenden, historisch gewachsenen Monolithen gibt, der schon einmal bessere Tage gesehen hat? Wie kann ein möglicher Migrationspfad aussehen und mit welchen Stolperfallen muss dabei gerechnet werden? Die Transformation von einem monolithischen Softwarearchitekturansatz zu einer modularen Struktur stellt eine entscheidende Herausforderung dar, die viele Organisationen bewältigen müssen, um mit den sich ständig wandelnden Anforderungen der heutigen IT-Landschaft Schritt zu halten. Dieser Workshop bietet eine praxisnahe Einführung in bewährte Methoden und Strategien, um eine erfolgreiche Migration von einem Monolithen zu modularer Software zu gestalten. Dabei werden nicht nur die Herausforderungen im Code betrachtet, sondern auch gezeigt, wie eine gute Migration geplant werden kann und womit man sinnvoller Weise beginnt.
Künstliche Intelligenz ist auf dem Vormarsch, ohne Zweifel. Egal ob Qualitätssicherung in der Produktion, Retourenmanagement im Online-Handel oder Customer-Support via Chatbot - KI eröffnet bisher noch nicht dagewesene Möglichkeiten, die eigenen Prozesse und Geschäftsmodelle deutlich zu verbessern. Vorausgesetzt man verfügt über gute Ideen und hinreichend viele und qualifizierte Daten. Aber wie genau kommt man zu diesen Ideen? Und wie lässt sich KI in die eigene Software-Architektur integrieren? Wer befindet über das richtige Modell und den richtigen Algorithmus? Und wie wird über die hinreichende Quantität / Qualität von Daten entschieden? Der Workshop veranschaulicht die verschiedenen Herausforderungen, die sich durch das Einbinden von KI für die eigene Softwareentwicklung ergeben können, und zeigt dafür passende, pragmatische Lösungsansätze auf.
Der Workshop ist der optimale Einstieg für den "normalen" Softwareentwickler in die Wunderwelt der KI. Gemeinsam werden wir ein realistisches Projekt durchspielen und dabei auf typische Real-Life Herausforderungen stoßen, welche ein KI Projekt so besonders machen.
Jetzt Ticket sichern und dabei sein. Zur Event-Website.