You're seeing on microservices from to in
  • Domain Driven Design für Microservices

    Talk Michael Plöd DWX Developer Week 2017

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefer gehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: Wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Read more
  • Many roads lead to microservices

    Talk Eberhard Wolff Industry Talk, AMOS course, Uni Erlangen

    Microservices solve a lot of problems with current architectures: E.g. they help with agile processes, enable Continuous Delivery and increase robustness and scaling. But what is the best way to create a Microservices architecture? That depends on the concrete scenario – and can be very different for each individual project. This talk shows the many value propositions of Microservices and how to find the best way to a Microservices architecture.

    Read more
  • Microservices: Deployment und Continuous Delivery

    Talk Eberhard Wolff Microservices Summit 2017

    Microservices lösen viele Probleme in der Software-Entwicklung. Aber die große Anzahl an Services macht das Deployment wesentlich aufwändiger. Dieses Tutorial zeigt die Herausforderungen rund um Deployment und die Continuous-Delivery-Pipeline für Microservices auf und zeigt mögliche Lösungen, um Microservices mit wenig Risiko zu deployen und zu testen. Neben konkreten Technologien zeigt das Tutorial auch Lösungen auf der Ebene von Architektur und Organisation.

    Read more
  • Self-contained Systems: A Different Approach to Microservices

    Talk Stefan Tilkov GOTO Amsterdam 2017

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is particularly useful for large systems and complex team structures. SCS allow to efficently develop software in such environments - even in the long run.

    The workshop explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Read more
  • Implementing loosely coupled microservices with Grails

    Talk Michael Plöd GR8Conf EU 2017

    Grails 3 is a great starting point for creating microservices, and many projects are following this path. However, many microservice landscapes are still based on synchronous calls to REST resources which obviously increases coupling between those applications. This talk focusses on building loosely coupled microservices that are based on Domain Events, which are becoming more and more popular in the Domain Driven Design community. We will take a look at how Grails 3 helps us in building such systems by introducing the Grails 3 event system and by taking a look at how we can leverage Domain Events for a decoupled communication between Grails applications.

    The talk will have slides for the theory and many practical examples.

    Read more
  • Microservices with Java, Spring Boot and Spring Cloud

    Talk Eberhard Wolff Bucharest Technology Week 2017

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But Microservices need more: Because Microservices are a distributed systems, issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot, using the Netflix stack, for instance. This talks covers Spring Boot and Spring Cloud, and shows how these technologies can be used to create a complete Microservices environment.

    Read more
  • Leveraging Domain Events in your Spring Boot Microservices (Workshop)

    Talk Michael Plöd Spring I/O 2017

    Domain Events are a part of Domain-Driven Design’s internal building blocks and they also play a central role during the implementation of loosely coupled Microservice landscapes. In this workshop we will take a deep dive into the concept of Domain Events and learn how to model and design Domain Events. We will also address how they can be used for the internal and external communication between Spring Boot applications.

    The workshop will consist of theoretical explanations using slides as well as a substantial hands-on live coding part in which you will learn how to work with Domain Events in Spring Boot. We will conclude the session by taking a short look at topics like Event Sourcing and CQRS.

    Read more
  • Datenarchitekturen nicht nur für Microservices

    Talk Eberhard Wolff JAX 2017 Slides available

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie Datenreplikation zeigen, wie solche Probleme gelöst werden können, ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Read more

    Strategisches Design (DDD) für Microservices

    Talk Michael Plöd JAX 2017 Slides available

    Zweifelsohne kann das Buch „Domain-Driven Design“ von Eric Evans als „Muss“ für Softwarearchitekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain-driven Design (DDD) nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservices-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mithilfe von DDD eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Read more

    Cloud-native Java

    Talk Michael Plöd JAX 2017

    “It is not necessary to change. Survival is not mandatory.” W. Edwards Deming

    Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software – for many organizations and industries – is a competitive advantage.

    Organizations break their larger software ambitions into smaller, independently deployable, feature-centric batches of work – microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops”, cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.

    But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

    Read more
  • Microservices-Workshop: Architektur und Technik

    Talk Eberhard Wolff JAX 2017

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ein ganzes System aus Microservices diskutieren.

    Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften. Dann geht es in die Praxis: containerloses Deployment mit Docker und Spring Boot und Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Read more

    Cloud-native Java (the Workshop)

    Talk Michael Plöd JAX 2017

    In this workshop we’ll look at how to build cloud-native Java applications. A cloud-native application is one that is designed to fully exploit a cloud platform both in the application layer – where things decompose into microservices – and at the data layer where NoSQL offers better horizontal scaling and fitness for specific purpose. We’ll look at:

    • writing services and handling non-functional requirements like metrics and logging with Spring Boot
    • scaling out safely and building fault-tolerant systems using Spring Cloud and its support for distributed systems patterns like the circuit breaker, service registration and discovery, and centralized configuration management.
    • offloading as much operational work as possible to the platform, Cloud Foundry
    Read more
  • Self-Contained Systems

    Podcast Stefan Tilkov, Eberhard Wolff

    Self-contained Systems sind ein Mittel zur Modularisierung von Systemen. Sie übernehmen viele gute Ideen des Microservices-Konzepts. In dieser Episode geht darum, was Self-contained Systems eigentlich ausmacht und welche Vorteile dieser Ansatz hat. Außerdem sprechen Eberhard und Stefan über die Dinge, auf die man bei der Umsetzung achten muss. Read more
  • Self-contained Systems: Microservices-Archi­tekturen mit System

    Talk Eberhard Wolff Softwerkskammer Leipzig April 2017 Meetup

    Self-contained Systems (SCS) nutzen die Ideen von Microservices und teilen Systeme in stark entkoppelte Anwendungen auf. So können große, komplexe Anwendungen strukturiert werden - aber auch in vielen anderen Szenarien sind die Ansätze sinnvoll nutzbar. SCS werden bei Firmen wie Otto, Kaufhof oder Kühne+Nagel erfolgreich eingesetzt.

    Zunächst erklärt ein Vortrag die Prinzipien von SCS. Dann werden wir einige Beispiele für Frontend-Integration auf Code-Ebene nachvollziehen, um so ein Technik für die lose Kopplung von Microservices auf UI-Ebene kennenzulernen und damit einen wesentlichen Bestandteil von SCS besser zu verstehen.

    Read more
  • Microservice mit Spring Boot und Spring Cloud

    Talk Eberhard Wolff JUG Essen März 2017

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservices und Spring Cloud für den Aufbau der notwendigen Infrastruktur. Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Read more
  • Wait, what!? Our microservices have actual human users?

    Talk Stefan Tilkov EuregJUG Maas-Rhine March2017

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Read more
  • Self-contained Systems oder Microservices – Hauptsache SOA

    Talk Oliver Tigges, Eberhard Wolff Software Architecture Summit 2017

    Die Architekturansätze von Microservices und Self-contained Systems (SCS) versprechen viele Vorteile. Aber wir stoßen immer wieder auf ähnliche Herausforderungen, wenn große IT-Systeme nach diesen Ansätzen implementiert werden sollen:

    1. Wie sieht ein guter Schnitt des Gesamtsystems mit Microservices/SCS aus? Wie helfen DDD, Bounded Contexts, explizite Qualitätsziele und eine Analyse der Geschäftsprozesse dabei, den optimalen Schnitt zu finden?
    2. Wenn ein System mit monolithischer Datenbank zerteilt wird, gibt es zwischen den Modulen keine Datenbankrelationen. Wie entsteht dennoch ein perfomantes, stabiles und flexibles System?
    3. Microservice/SCS fördern die Autonomie von Teams, Systemen und Services. Aber wer hält die Fäden zusammen und sorgt dafür, dass alles zusammen funktioniert und die Unternehmens-IT in die richtige Richtung läuft?

    In diesem Workshop geben wir zunächst einen Überblick über die Ideen, Begriffe und Grundkonzepte von Microservices und SCS. Danach möchten wir gemeinsam mit den Teilnehmern Lösungen für diese drei Fragestellungen erarbeiten und diskutieren.

    Read more
  • In-Depth: Practical Microservice Modelling with DDD’s Strategic Design

    Talk Michael Plöd microXchg 2017

    In this highly interactive session we are going to dig deep into strategic design aspects for finding the right and suitable granularity and interaction model for Microservices. The session will cover intense discussions surrounding Bounded Contexts, the meaning of given models in Bounded Contexts, Domain Events and Context Mapping, including the given patterns such as Shared Kernel, Customer / Supplier, Anticorruption Layer or Separate Ways (just to name a few).

    The in-depth session will be based on a code based (Spring Boot) demo application landscape and will include analog as well as digital labs. This session will consist of approximately 40% presentation and 60% labs and audience participation.

    Read more
  • Self-contained Systems: Ein anderer Ansatz für Microservices

    Talk Eberhard Wolff OOP 2017

    Self-contained Systems nutzen die Ideen von Microservices und teilen Systeme in stark entkoppelte Anwendungen auf. So können große, komplexe Anwendungen strukturiert werden - aber auch in vielen anderen Szenarien sind die Ansätze sinnvoll nutzbar. SCS werden bei Firmen wie Otto, Kaufhof oder Kühne+Nagel erfolgreich eingesetzt.

    Der Workshop erklärt zunächst SCS und zeigt die Unterschiede zu Microservices sowie am praktischen Beispiel technische Aspekte wie Frontend-Integration. Schließlich entwerfen wir eine technische und fachliche Architektur für ein SCS-System.

    Zielpublikum: Architekten, Software-Entwickler, technische Projektleiter Voraussetzungen: grundlegendes Wissen über Architektur und Software-Entwicklung Schwierigkeitsgrad: Anfänger

    Read more
  • Microservices sind ganz anders als man denkt!

    Talk Eberhard Wolff OOP 2017

    „Microservices sind SOA - nur richtig“, so hört man oft. Schließlich sollen Systeme wie bei SOA in Dienste aufgeteilt werden. Das scheint auch zunächst zu stimmen - erst auf den zweiten Blick wird klar, welche Details bei Microservices anders sind. Mittlerweile liegen außerdem genügend Erfahrungen über die wesentlichen Herausforderungen bei Microservices vor. So zeigt der Vortrag, welche Details bei Microservices in der Praxis wirklich relevant sind.

    Zielpublikum: Architekten, Entwickler, Projektleiter Voraussetzungen: Kenntnisse in Software Design sowie Agiler Entwicklung Schwierigkeitsgrad: Fortgeschritten

    Read more
  • Architekturmodernisierung mit SCS und Microservices

    Talk Alexander Heusingfeld, Michael Vitz OOP 2017 Slides available

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwendig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen. So können Sie Stück für Stück, gerade so, wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir auch die Frage beantworten, mit welchen Themen Sie sich neben „Wie teile ich mein System auf“ außerdem beschäftigen müssen, und wie wir die Vorteile einer Microservice-Architektur nutzen können, ohne uns gleich allen ihren Herausforderungen auf einmal stellen zu müssen.

    Zielpublikum: Architekten, Entwickler, Projektleiter Voraussetzungen: Basiswissen Software-Architektur und verteilte Systeme Schwierigkeitsgrad: Anfänger

    Read more
  • Microservices: Redundanz = Wartbarkeit!

    Talk Eberhard Wolff Software Architektur München Meetup Januar 2017

    Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit? Dieser Vortrag handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

    Read more
  • Microservices lieben Domain Driven Design, warum und wie?

    Article Michael Plöd

    Das Buch Domain Driven Design, welches Eric Evans vor gut 13 Jahren publizierte, galt schon seit jeher als herausragende Referenz für die fachlich getriebene Modellierung von IT-Systemen. Mit dem Einzug von Microservices erfährt Domain Driven Design eine Renaissance, denn die beiden Ideen lassen sich wunderbar miteinander kombinieren. Im Laufe des Artikels werden Sie kennenlernen, wie Sie mit Hilfe der Ideen von Domain Driven Design technisch wie fachlich tragfähigen Microservice Landschaften entwickeln können.

    Read more
  • Self-contained Systems: Microservices-Architekturen mit System

    Talk Eberhard Wolff JUG Berlin-Brandenburg Meetup Oktober 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weitem nicht genug. Self-contained Systems (SCS) fokussieren auf einen Architektur-Ansatz, der nicht nur bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden.

    Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Read more
  • Wo bist du?

    Article Simon Kölsch

    HashiCorp hat mit Consul eine inzwischen fest etablierte Service-Discovery-Lösung geschaffen. Ein Konsul ist ein entsandter Beamter, der in einem fremden Staat die Interessen der eigenen Bevölkerung wahrt und den Handel fördert. Betrachtet man eine Microservice-Landschaft als fremdes Land und die Einwohner als einzelne Services, die sich austauschen, kann man mit etwas Wohlwollen die Namensgebung nachvollziehen. Einen Überblick über Einsatzzweck, Features und Aufbau bietet dieser Artikel.

    Read more
  • Microservices à la Netflix

    Article Carsten Pelka, Michael Plöd

    Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?

    Read more
  • Services: SOA, Microservices und Self-contained Systems

    Article Eberhard Wolff

    Die Aufteilung komplexer Software-Systeme in Services ist nicht neu: Service-orientierte Architekturen (SOA) nutzen diese Idee schon lange. In letzter Zeit sind Microservices als neuer Ansatz hinzugekommen. Microservice-Architekturen sind sehr flexibel und breit einsetzbar. Self-contained Systems verwenden Microservices, um große und komplexe Systeme in unabhängige Module aufzuteilen. Das unterstützt die Zusammenarbeit der Teams. Dieser Artikel gibt einen Überblick über SOA, Microservices und Self-contained Systems.

    Read more

    Dynamisch überwacht: Monitoring von Microservice-Architekturen

    Talk Alexander Heusingfeld, Tammo van Lessen Microservices Summit 2016

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn sie erfordern ein hohes Maß an Flexibilität und Dynamik von Organisation und Infrastruktur. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit und Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft. Dafür müssen allerdings neue Konzepte für Logging, Tracing und Alarming umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben.

    Das Trio Logs, Metriken und Tracingdaten stellt die Grundlage zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch was sind eigentlich wichtige Logs? Welche Metriken soll ich erfassen? Welche Sichten auf meine Anwendung erlauben mir die Metriken? Diese Fragen versuchen wir in der Session zu beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Read more
  • Self-contained Systems: A Different Approach to Microservices

    Article Eberhard Wolff

    Microservices are the current hype in the Software Architecture community. However, microservices can be used in many different scenarios to reach different goals. Self-contained Systems (SCSs) are one approach to achieve some of those goals while avoiding many common pitfalls.

    Read more

    Self-contained Systems: Ein alternativer Ansatz für Microservices

    Talk Eberhard Wolff Microservices Summit 2016

    Microservices sind der Hype im Bereich Software-Architektur. Aber nur eine Menge von kleinen Services ist bei weitem nicht genug. Self-contained Systems stellen einen Architektur-Ansatz auf Basis von Microservices dar. Im Mittelpunkt sehen unabhängige Teams, UI-Integration und asynchrone Kommunikation. SCSs sind besonders sinnvoll für große Systeme und komplexe Teams und erlauben auch langfristig eine effiziente Software-Entwicklung in solchen Umgebung.

    Der Workshop erläutert Self-contained Systems, die Vor- und Nachteile und die Unterschiede zu Microservices.

    Read more

    Microservices mit Java, Spring Boot & Spring Cloud

    Talk Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Read more
  • Microservice-Infrastruktur

    Article Michael Vitz

    Die Cloud und darauf aufbauend Microservices haben in den letzten Jahren die Softwareentwicklung stark beeinflusst. Vor allem im Bereich der Infrastruktur tut sich hier auch heute noch einiges. Dabei wird man den Eindruck nicht los, dass jede Woche ein neues Produkt veröffentlicht wird. In diesem Artikel versuche ich, Ihnen durch diesen Dschungel zu helfen.

    Read more
  • Software-Architektur für Innovation

    Article Eberhard Wolff

    Software ist mittlerweile in praktisch allen Wirtschaftsbereichen zentraler Teil der Wertschöpfung. Also sollte Software auch Innovationen ermöglichen. Die Frage ist, wie Software dazu beschaffen sein muss.

    Read more
  • “Microservices: Redundancy = Maintainability!” A Talk by Eberhard Wolff

    Link Eberhard Wolff youtube

    In October, Eberhard Wolff gave a keynote at IT Arena 2016 in Lviv, Ukraine. His talk focussed on Microservices and how this concept is questioning some basic assumptions of software architecture. Should you really avoid redundancies? Is a clean architecture really the key to long-term maintainability? The keynote shows how Microservices enable productive software development with quite unorthodox approaches and how we have to rethink architecture even beyond Microservices.

    You can find a video of the talk on YouTube.

  • Microservices: Architekturen und Technologien

    Talk Eberhard Wolff Continuous Lifecycle 2016 / Container Conf 2016

    Als Architektur nicht nur für Continuous Delivery sind Microservices in aller Munde. Dieser Workshop zeigt die Grundlagen einer Microservices-Architektur und Technologien für den Aufbau eines Microservices-Systems. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften.

    Dann geht es in die Praxis: Microservices mit Java und Spring Boot sowie die Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack werden vermittelt. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Skills

    Grundlegendes Verständnis von Java ist hilfreich, aber nicht unbedingt notwendig.

    Lernziele

    • Kenntnisse über Microservice-Architekturen, Vor- und Nachteile und Einsatz-Szenarien
    • Kennenlernen eines möglichen Technologie-Stacks
    • Deployment und Betrieb von Microservices mit Docker

    Technische Anforderungen

    Es sind vorab keine technischen Vorbereitungen nötig.

    Agenda

    • ab 8:30 Registrierung und Begrüßungskaffee
    • 9:00 Beginn
    • Microservice Architekturen
    • 10.30 - 10.45 Vormittagskaffeepause
    • Docker
    • 12.15 - 13.15 Mittagspause
    • Spring Boot / Spring Cloud / Netflix Stack
    • 14.45 - 15.00 Nachmittagskaffeepause
    • Spring Cloud / Netflix Stack
    • ca. 16:00 Ende
    Read more
  • Self-contained Systems: A Different Approach to Microservices

    Talk Stefan Tilkov GOTO Berlin 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is particularly useful for large systems and complex team structures. SCS allow to efficently develop software in such environments - even in the long run.

    The workshop explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Read more
  • The perils of shared code

    Blog Post Daniel Westheide

    In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

    Read more
  • Spring Boot für Microservices

    Article Eberhard Wolff

    Die Implementierung von Microservices stellt im Vergleich zu monolithischen Anwendungen Entwickler vor einige Herausforderungen. Spezialisierte Technologien wie Spring Boot unterstützen die Umsetzung von Microservices und machen so den Projekten das Leben leichter.

    Read more
  • Microservices: Der Schnitt ist entscheidend!

    Talk Eberhard Wolff W-JAX 2016 Slides available

    Microservices ermöglichen es, dass Teams unabhängig voneinander arbeiten und neue Features ohne großen Aufwand in Produktion gebracht werden können. Und natürlich können Microservices einzeln skaliert werden, sodass bei hoher Last oft nur ein Service in mehr Instanzen laufen muss. Dazu muss die Aufteilung in Microservices aber stimmen – und das ist gar nicht so einfach. Dieser Vortrag zeigt, wie Microservices geschnitten werden und so die verschiedenen fachlichen, organisatorischen und technischen Rahmenbedingungen ideal unterstützen können.

    Read more
  • Wait, what!? Our microservices have actual human users?

    Talk Stefan Tilkov Devoxx 2016

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=jJxmi8nrHwg

    Read more

    Was Sie über Security in Microservices-Umgebungen wissen sollten

    Talk Simon Kölsch W-JAX 2016

    Microservice sind momentan in aller Munde. In Abwägungen zwischen klassischen Systemen und Microservice-Umgebungen wird den unabweisbaren Vorteilen von Microservices – kleine und verständliche Einheiten, kurze Entwicklungszyklen, flexible Technologieauswahl usw. oft die Komplexität eines verteilten Systems als Nachteil gegenübergestellt. Selten wird jedoch der Sicherheitsaspekt in solchen Abwägungen berücksichtigt, obwohl dieser eine beträchtliche Herausfoderung darstellt: Statt einer monolithischen Applikation müssen nun eine Vielzahl von Microservices, teilweise in verschiedenen Programmiersprachen/Laufzeitumgebungen implementiert sowie abgesichert werden. Die Authentifizierungs-/Autorisierungskonzepte und Mechanismen müssen über Applikationen und Netzwerkgrenzen hinweg funktionieren. Es sind potenziell deutlich mehr Schnittstellen über das Netzwerk exponiert und bieten somit auch eine entsprechend größere Angriffsfläche. Regeln für Firewalls und Intrusion-Detection-Systeme werden deutlich komplizierter.

    In diesem Vortrag werden die typischen Security-Schwierigkeiten in Microservice-Umgebungen aufgezeigt und passende Lösungsansätze dargeboten, damit Ihnen zukünftig die Bewertung eines Micorservices-Ansatzes besser möglich ist.

    Read more
  • Datenarchitekturen nicht nur für Microservices

    Talk Eberhard Wolff W-JAX 2016 Slides available

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können – ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Read more
  • Microservices-Workshop: Architektur und Praxis

    Talk Eberhard Wolff W-JAX 2016

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Read more
  • Wie kommt man zu Self-Contained Systems?

    Article Phillip Ghadir

    Self-Contained Systems bezeichnet ein Konzept für Softwarebausteine, das klare Integrationsregeln auf der Makro-Ebene definiert: Systeme werden in eigenständige Teilsysteme zerlegt, die zu einem Gesamtsystem integriert werden. Häufig wird vorgeschlagen, Systeme entlang von Domänen in Self-Contained Systems zu zerlegen. In diesem Artikel wird ein alternativer Ansatz für das Schneiden einer Architektur in föderierte Self-Contained Systems vorgestellt.

    Read more
  • Self-contained Systems: Microservices-Archi­tekturen mit System

    Talk Eberhard Wolff rheinjug meetup Oktober 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weiterm nicht genug. Self-contained Systems (SCS) fokussieren auf einen Architektur-Ansatz, der vor allem bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden. Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Read more
  • Deployment und Monitoring von Microservices

    Article Alexander Heusingfeld

    Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

    Read more
  • Microservices - eine Bestandsaufnahme

    Article Eberhard Wolff

    Kaum ein Thema ist im Moment so ein Hype wie Microservices. Welche Gründe gibt es dafür? Und wie kann man Microservices gewinnbringend einsetzen? Welche Herausforderungen gibt es? Dieser Artikel gibt einen Überblick über den Architektur-Trend und beantwortet die wichtigsten Fragen.

    Read more
  • Microservices: One size does not fit all

    Talk Stefan Tilkov GOTO London 2016 Slides available

    If you pay any attention to software technology trends at all, there is no way you can have missed the “microservices” architecture approach, which seems to be the cure to every problem anyone ever had. But (Micro-)services, bounded contexts, components, modules, classes, structs and records, procedures and functions – whatever structuring mechanism we’re talking about, a recurring challenge is to find the right size for things. In this session, we will look at opposing forces from both technical and organizational perspectives, and come up with strategies for finding a good balance between the number of things (in this case, microservices) and their size.

    Read more
  • Daten-Architekturen nicht nur für Microservices

    Talk Eberhard Wolff The Architecture Gathering 2016

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: Die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Read more
  • Microservices lieben Domain Driven Design: warum und wie?

    Talk Michael Plöd The Architecture Gathering 2016 Slides available

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist, und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Read more
  • Microservices (TM): Redundancy = Maintainability!

    Talk Eberhard Wolff IT Arena 2016

    Microservices are not just a hype: they question some basic assumptions of software architecture. Should you really avoid redundancies? Is a clean architecture really the key to long-term maintainability? This keynote is about how Microservices enable productive software development with quite unorthodox approaches and how we have to rethink architecture even beyond Microservices.

    Read more
  • Architekturen für Agilität: Microservices und Self-contained Systems

    Talk Eberhard Wolff JUG Saxony Day 2016 Slides available

    Microservices haben einen breiten Einsatzkontext: Einzelnen Entwickler und kleinen Teams bieten sie Skalierbarkeit und einfaches Deployment. Großen Teams ermöglicht die Unabhängigkeit der Microservices eine parallele Entwicklung von Features. Für komplexe Web-Projekte nutzen Self-contained Systems (SCS) Ideen aus dem Microservice-Kontext, um agile Entwicklung in der Architektur zu unterstützen. Der Vortrag erläutert Microservices und SCS und ihre Vor- und Nachteile gerade bezüglich Agilität.

    Read more
  • Self-contained Systems: Ein anderer Ansatz für Microservices (Teil 1 & 2)

    Talk Eberhard Wolff Software Architecture Summit 2016

    Microservices sind gerade der Architekturhype. Aber man braucht mehr als nur einige kleine Services. Self-contained Systems (SCS) sind ein auf Microservices basierender Architekturansatz, wie ihn auch Otto, Kaufhof oder Kühne+Nagel nutzten. SCS erlauben es, Software nicht nur in komplexen und großen Projekten auch langfristig effizient zu entwickeln, sondern sie passen auf sehr viele Szenarien. Dabei sind sie nicht besonders kompliziert.

    Dieser Workshop erläutert Self-contained Systems, ihre Vor- und Nachteile, den Unterschied zu Microservices und die Integration von Systemen im Frontend – eine wesentliche Basis für SCS. Wir erarbeiten außerdem eine fachliche und technische Architektur für ein SCS-System.

    Read more
  • Wie klein können Java-Microservices sein?

    Talk Eberhard Wolff Berlin Expert Days – BED-Con Slides available

    Bei Microservices denken die meisten an Frameworks wie Spring Boot und Docker Container. Es geht aber viel kleiner, wenn man technologische Kompromisse eingeht.

    Dieser Vortrag gibt einen Überblick über Microservice-Technologien wie Spring Cloud oder Spring Boot - und Ansätze wie Java EE, OSGi und Amazon Lambda, mit denen noch viel kleinere Systeme möglich ist. Dabei zeigt der Vortrag die Vorteile aber auch die Nachteile dieser Ansätze.

    Read more
  • Daten-Architekturen nicht nur für Microservices

    Talk Eberhard Wolff Berlin Expert Days – BED-Con Slides available

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich?

    Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: Die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Read more
  • Wait, what!? Our microservices have actual human users?

    Talk Stefan Tilkov Java User Group Darmstadt

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Read more
  • Interview mit Stefan Tilkov: “Ich bin keinesfalls der Meinung, dass man immer Microservices einsetzen sollte”

    Article Stefan Tilkov

    Im Vorfeld des Software Architecture Summit ist auf jaxenter.de ein kurzes Interview mit Stefan Tilkov zur Frage „Microservices oder Software-Monolithen“. Dabei kommt auch das Problem in den Blick, wie Legacy-Anwendungen an moderne Architektur-Ansätze herangeführt werden können.

  • JAX TV: Wie sieht ein Microservices-Technologie-Stack aus?

    Link Eberhard Wolff

    Microservices stellen ganz neue technische Herausforderungen - schließlich laufen verteilte Dienste auf verschiedenen Servern im Netz. Wie finden sich die Services? Wie geht man mit dem Ausfall von Services um? Und wie verteilt sich die Last auf die Services? In diesem Video seines Vortrags bei der Jax 2016 zeigt Eberhard Wolff, welche Herausforderungen durch welche Technologien gelöst werden, und gibt so eine Orientierung.

  • Domain-driven Design im Experten-Check: Wie kann DDD in die Praxis umgesetzt werden?

    Link Eberhard Wolff, Michael Plöd

    Acht Experten für Domain-driven Design, u.a. Michael Plöd und Eberhard Wolff, geben Einblicke in ihre Praxiserfahrungen mit DDD. Im dritten Teil der jaxenter.de-Reihe wurden sie gebeten, einen Tipp zu geben, wie man DDD in realen Projekten erfolgreich einsetzen kann. Außerdem: Weshalb profitieren Microservice-Architekturen von DDD?

  • Auf die Daten kommt es an! Daten-Architekturen nicht nur für Microservices

    Talk Eberhard Wolff Herbstcampus 2016

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen.

    Dieser Vortrag zeigt die Gründe für die Probleme: die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Skills Grundlegendes Architekturwissen

    Lernziele * Warum sind Daten vor allem bei Microservices wichtig? * Welche technischen Gründe gibt es für die Aufteilung von Daten? * Wie sollten wir Daten fachlich modellieren und aufteilen? * Wie viel Daten-Redundanz braucht man in einem Microservices-System? * Die Bedeutung von Bounded Context aus Domain-Driven Design * Wie helfen Event Souring und CQRS bei der Aufteilung der Daten? * Sollten wir Systeme wirklich mit polyglotter Persistenz aufbauen?

    Read more
  • Entwicklertag 2016: Microservices: Redundanz = Wartbarkeit!

    Link Eberhard Wolff

    Die Keynote des Karlsruher Entwicklertags 2016 von Eberhard Wolff beschäftigte sich mit Softwarearchitektur-Thema des Stunde. Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit?

    Diese Keynote handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

  • Wait, What? Microservices Have Actual Human Users?

    Talk Stefan Tilkov PHP Usergroup Düsseldorf

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Read more
  • JAX TV: Legacy-Systeme mit Microservices, Hystrix und RxJava modernisieren

    Link Arne Landwehr, Holger Kraus

    In ihrem Vortrag bei der WJAX 2015 zeigen Arne Landwehr und Holger Kraus, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten. Der Einsatz von RxJava ist eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

  • Wait, What? Microservices Have Actual Human Users?

    Talk Stefan Tilkov Goto Night Copenhagen August 2017

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Read more
  • Self-contained Systems – A Different Approach to Microservices

    Talk Eberhard Wolff Goto Night Berlin Juli 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is in particular useful for large systems and complex team structures. SCS allow to efficently develop software in such environments – even in the long run. The talk explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Read more
  • Microservices lieben Domain Driven Design: warum und wie?

    Talk Michael Plöd Java Forum Stuttgart 2016 Slides available

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice Landschaften helfen. Des Weiteren werden wir betrachten wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Read more
  • Wait, what!? Our microservices have actual human users ?

    Talk Stefan Tilkov SI-SE 2016

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    We’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Read more
  • Microservices mit Java, Spring Boot und Spring Cloud

    Talk Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Es unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Read more

    Self-contained Systems: Ein alternativer Ansatz für Microservices

    Talk Eberhard Wolff Microservices Summit 2016

    Microservices sind der Hype im Bereich Software-Architektur. Aber nur eine Menge von kleinen Services ist bei weitem nicht genug. Self-contained Systems stellen einen Architektur-Ansatz auf Basis von Microservices dar. Im Mittelpunkt sehen unabhängige Teams, UI-Integration und asynchrone Kommunikation. SCSs sind besonders sinnvoll für große Systeme und komplexe Teams und erlauben auch langfristig eine effiziente Software-Entwicklung in solchen Umgebung.

    Der Workshop erläutert Self-contained Systems, die Vor- und Nachteile und die Unterschiede zu Microservices.

    Read more

    Building Microservices in Clojure

    Talk Stefan Tilkov Joy of Coding

    One of the key tenets of the microservice architecture approach is isolation, allowing individual developers or teams to make local decisions. Clojure, a practical Lisp running on top of the JVM, has already done a lot to increase Lisp’s popularity outside of academic circles. Let’s combine the two to address the remaining doubts about its suitability for the real world! This talk will introduce both the architectural concept and the language, and show how you can combine tools from the Clojure and Java ecosystem to build Clojure-based microservices in practice.

    Read more
  • Dynamisch überwacht: Monitoring von Microservice-Architekturen

    Talk Alexander Heusingfeld, Tammo van Lessen Microservices Summit 2016

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn sie erfordern ein hohes Maß an Flexibilität und Dynamik von Organisation und Infrastruktur. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit und Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft. Dafür müssen allerdings neue Konzepte für Logging, Tracing und Alarming umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben.

    Das Trio Logs, Metriken und Tracingdaten stellt die Grundlage zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch was sind eigentlich wichtige Logs? Welche Metriken soll ich erfassen? Wie finde ich Bottlenecks in meiner Architektur? Diese Fragen versuchen wir in der Session zu beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Read more
  • Microservice-Architekturen zur Modernisierung von Bestandssystemen

    Talk Alexander Heusingfeld, Michael Vitz Microservices Summit 2016

    Ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modernisieren – nur wie? Erneuern wir nur den Technologie-Stack und bauen einen neuen Monolithen? Oder modularisieren wir und bauen strukturell sowie konzeptionell Neues? Wie können wir das entscheiden?

    Wir zeigen Ihnen in diesem Workshop anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und die Systeme dabei (hoch) verfügbar zu halten. So können Sie Stück für Stück, gerade so wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir uns auch mit der Frage beschäftigen, die so gern von unseren Vorgesetzten gestellt wird: “Können Sie mir mal vorrechnen, wieso eine Microservice-Architektur die finanziell bessere Entscheidung ist?“ Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Read more

    Microservices: Redundanz = Wartbarkeit!

    Talk Eberhard Wolff Karlsruher Entwicklertag 2016 Slides available

    Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit? Diese Keynote handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

    Read more
  • Workshop: “Self-contained Systems: A Different Approach to Microservices”

    Talk Eberhard Wolff Goto Amsterdam 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is particularly useful for large systems and complex team structures. SCS allow to efficently develop software in such environments - even in the long run.

    The workshop explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Read more
  • Microservices with Clojure

    Talk Joy Clark, Michael Vitz Microservices Meetup Rhein-Main Juni 2016 Slides available

    Microservices are especially characterized by their autonomy: the services are as loosely coupled as possible. For this reason, a microservice architecture allows different technologies to be deployed that are exactly suitable for the problem which needs to be solved and the skill set of the software engineer. In such an environment, the benefits of a modern language like Clojure can be invaluable: short and precise code, concurrent processing, and direct support for asynchronous programming.

    However, there are also particular challenges when dealing with microservices: How can a project be created with as little overhead as possible? How can services communicate with each other? How can I protect my service when other services fail? And once a service has been created, how can I deploy and monitor it?

    In this talk we will introduce the participants to Clojure step by step and, with the help of an example, introduce the Clojure libraries which can be used in order to tackle the previously stated challenges.

    Read more
  • Microservices love Domain Driven Design

    Talk Michael Plöd hmmh Digital Talk Mai 2016 Slides available

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever.

    This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally, we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Read more
  • Eberhard Wolff on Microservices

    Link Eberhard Wolff

    At JAX 2016, Eberhard Wolff gave a short interview about advantages and pitfalls of microservices infrastructures, and on how to decide on the right infrastructure.

  • Microservices sollten kein technischer Selbstzweck sein

    Link Michael Vitz

    Die Aufgabe, Altanwendungen zu modernisieren, kommt früher oder später auf jeden Entwickler zu. Wann es dann sinnvoll ist, bei der Modernisierung an eine Microservices-Architektur zu denken, darüber hat jaxenter.de mit unserem Kollegen Michael Vitz im Vorfeld seines Workshops beim nächsten Microservices Summit gesprochen.

  • Microservices - Agilität durch Modularisierung

    Article Eberhard Wolff

    Microservice-Architekturen sind der neue Hype. Viele denken: Alles wird einfacher mit diesem Ansatz - Software ist langfristig wartbar, die Entwicklung wird schneller und die Software skaliert besser. Es ist aber an der Zeit für einen detaillierten kritischen Blick.

    Read more
  • Building Microservices with Event Sourcing and CQRS

    Video Michael Plöd

    In his talk at SpringOne2GX 2015 Michael Plöd focusses on distributed data management challenges that arise in a microservices architecture and how they can be solved using an event-driven architecture. Michael describes how event sourcing is a great way to implement an event-driven application. He talks about Command Query Responsibility Segregation (CQRS) and how it’s a key part of an architecture based on event sourcing.

  • Wie sieht ein Microservices-Technologiestack aus?

    Talk Eberhard Wolff JAX 2016

    Microservices stellen ganz neue technische Herausforderungen – schließlich laufen verteilte Dienste auf verschiedenen Servern im Netz. Wie finden sich die Services? Wie geht man mit dem Ausfall von Services um? Und wie verteilt die Last sich auf die Services? Dieser Vortrag zeigt, welche Herausforderungen durch welche Technologien gelöst werden, und gibt so eine Orientierung in diesem Bereich.

    Read more

    Software Architektur für Innovation

    Talk Stefan Tilkov OBJEKTspektrum Information Days 2016 Slides available

    Um Innovationen in einem Software-System zu ermöglichen, muss die Architektur der Software änderbar sein, schnell auf das Geschehen am Markt reagieren und neue Technologien einfach unterstützen. Der Vortrag stellt wichtige moderne Prinzipien wie Continuous Delivery und Microservices vor und erläutert, wie solche Ansätze umgesetzt werden sollen. Im Mittelpunkt steht die Funktionsweise dieser Techniken und welche Vorteile sie aus einer Geschäftsperspektive in einem innovativen Umfeld bieten.

    Read more

    Self-contained Systems: Microservices-Architekturen mit System

    Talk Eberhard Wolff JAX 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weiterm nicht genug. Self-contained Systems (SCS, http:///scs-architecture.org ) fokussieren auf einen Architektur-Ansatz, der vor allem bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden.

    Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Read more
  • Microservices zur Architektur­modernisierung

    Talk Alexander Heusingfeld, Michael Vitz JAX 2016 Slides available

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u. A. Bibliotheken wie Hystrix dabei, die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Vortrag haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Read more
  • Microservices-Workshop: Architektur und Praxis

    Talk Eberhard Wolff JAX 2016

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Read more
  • Microservices with Clojure

    Talk Joy Clark, Michael Vitz Microservices Meetup Berlin April 2016 Slides available

    Microservices are especially characterized by their autonomy: the services are as loosely coupled as possible. For this reason, a microservice architecture allows different technologies to be deployed that are exactly suitable for the problem which needs to be solved and the skill set of the software engineer. In such an environment, the benefits of a modern language like Clojure can be invaluable: short and precise code, concurrent processing, and direct support for asynchronous programming.

    However, there are also particular challenges when dealing with microservices: How can a project be created with as little overhead as possible? How can services communicate with each other? How can I protect my service when other services fail? And once a service has been created, how can I deploy and monitor it?

    In this talk we will introduce the participants to Clojure step by step and, with the help of an example, introduce the Clojure libraries which can be used in order to tackle the previously stated challenges.

    Read more

    Microservices in Production

    Talk Timo Derstappen Microservices Meetup Rhein-Main April 2016

    innoQ is happy to host the next Microservices Meetup Rhein-Main in its office in Offenbach.

    Timo Derstappen, co-founder and CTO of Giant Swarm, will talk about the challenges of Microservices in production. Over the last few years we have heard a lot about the benefits of Microservices. But there are obviously also a lot of challenges involved to be successful with Microservices. In this talk, Timo wants to focus on the challenges to create stable production environments, container orchestration and failure domains. He will tell us how to evaluate architectural decisions and why our infrastructures need to stay flexible over the next years.

    Timo Derstappen is co-founder and CTO of Giant Swarm in Cologne. He has many years of experience in building scalable and automated cloud architectures. He likes his minimal linux desktop setup, puts nearly everything into containers, and thinks Minecraft is a gateway drug.

    Read more
  • Microservices im Experten-Check, Teil 3: Wie groß sollte ein Microservice sein?

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Acht Microservice-Experten, Autoren des Java Magazins und Sprecher auf den Microservice Days der JAX 2016, geben in kurzen Statements Einblicke in ihre Praxiserfahrungen mit Microservices. Teil 3 beschäftigt sich mit der Frage, wovon man sich bei der Aufteilung von Microservices leiten lassen sollte, und wie groß so ein Microservice eigentlich werden sollte.

  • Microservices im Experten-Check, Teil 2: Wann man Microservices nutzen sollte und wann eher nicht

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Teil 2 der Diskussion vom acht Microservice-Experten auf jaxenter.de. Sie geben in kurzen Statements Einblicke in ihre Praxiserfahrungen mit Microservices. Sie klären auf, wann man mit Microservices lieber erst gar nicht anfängt und auf welche erste Erfolge sie zurückblicken.

  • Microservices im Experten-Check, Teil 1: Warum eigentlich Microservices?

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Was ist eigentlich der Sinn von Microservices, einer Continuous-Delivery-Pipeline und dem ganzen Rest? Acht Microservice-Experten, Autoren des Java Magazins und Sprecher auf den Microservice Days der JAX 2016, bringen in dieser Serie auf den Punkt, warum das Konzept der verteilten Anwendungen so genial ist. Außerdem zeigen sie auf, wo die Knackpunkte liegen und ob das ganze Brimborium um den Kulturwandeln gerechtfertigt ist.

  • Episode 52: Microservices und Self-contained Systems

    Audio Christian Weyer, Stefan Tilkov Heise Developer 18.03.2016

    In dieser Episode des heise Developer Podcast sprechen Christian Weyer und Stefan Tilkov über Microservices jenseits des Hypes. Zu den Themen gehören neben der Rolle von Microservices für Architekturarbeit die unterschiedlichen Varianten, die sich aktuell etablieren, Self-contained Systems, Pro und Contra von Monolithen, polyglotter Programmierung, die Auswirkungen auf die Organisation und die Rolle von Benutzerschnittstellen.

  • Workshop: Microservices mit Java, Spring Cloud und Spring Boot

    Talk Eberhard Wolff Software Architecture Summit 2016

    Dieser Workshop zeigt die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Entwicklung von Java-Anwendungen mit dem Spring Framework. Es erlaubt den Ablauf von Anwendungen ohne Application Server und unterstützt auch sehr einfache Ansätze für den Betrieb. Spring Boot eignet sich daher sehr gut für Microservices.

    Themen:

    • Was ist Spring Boot?
    • REST-Services mit Spring Boot implementieren
    • Betrieb von Spring Boot Anwendungen

    Microservices sind verteilte Systeme. Die Herausforderungen bei der Implementierung solcher Systeme sind ganz anders als das Vorgehen bei klassischen Deployment Monolithen. Spring Cloud löst diese Probleme durch die Integration von Technologien aus dem Netflix-Stack – dem de-facto Standard für Microservices.

    • Spring Cloud: Grundlegender Ansatz
    • Überblick über die in Spring Cloud integrierten Technologien
    • Services Discovery mit Eureka
    • Resilience und Hochverfügbarkeit mit Hystrix
    Read more
  • Microservices: Architektur & Deployment mit Docker

    Talk Eberhard Wolff Software Architecture Summit 2016

    Microservices verbessern Time-to-Market, ermöglichen einen flexibleren Umgang mit Technologien und erlauben auch langfristig wartbare Systeme. Dieser Workshop erläutert die Grundlagen von Microservices und zeigt, wie man Microservice-Architekturen entwirft.

    • Was sind Microservices?
    • Vorteile und Herausforderungen des Microservices-Ansatzes
    • Einfluss von Microservices auf die Organisation

    Außerdem lernen die Teilnehmer, wie Microservices mit Docker deployt werden können. Docker ist viel effizienter als Virtualisierung. Da Microservices eine große Anzahl an virtuellen Maschinen benötigen, hat Docker gerade für solche Architektur deutliche Vorteile.

    • Was ist Docker?
    • Applikationen mit Docker Containern und Docker Compose deployen
    • Umgebungen mit Docker Machine aufbauen
    Read more

    Microservices love Domain Driven Design: how and why?

    Talk Michael Plöd Microservices Meetup Munich March 2016 Slides available

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices Domain Driven Design has become more relevant then ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show off how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Read more
  • Zukunftsweisende Architekturen: Microservices und Self-Contained Systems

    Talk Eberhard Wolff Heise Developer World 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Sie haben einen breiten Einsatzkontext: Einzelne Entwickler und kleine Teams nutzen sie wegen ihrer Skalierbarkeit und des einfachen Deployments. Große Teams ermöglicht die Unabhängigkeit der Microservices eine parallele Entwicklung mit wenig Overhead. Gerade für große, komplexe Projekte nutzen Self-contained Systems Ideen aus dem Microservice-Kontext, um auch langfristig produktiv Software zu entwickeln. Der Vortrag erläutert Microservices und Self-contained-Systeme sowie ihre Vor- und Nachteile.

    Read more
  • Eberhard Wolff on Microservices

    Link Eberhard Wolff

    Our colleague Eberhard Wolff was interviewed about Microservices by Stephen Chin for his Nighthacking series at the last JavaLand Conference.

  • Wider den Blindflug: Logging und Metriken in verteilten Anwendungen

    Link Alexander Heusingfeld, Tammo van Lessen

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. In dieser JAX 2015-Session beschäftigten sich unsere Kollegen Alexander Heusingfeld und Tammo van Lessen mit der Evolution von verteilten Anwendungen und deren Monitoring. Sie zeigen, welche Metriken erfasst und welche Informationen geloggt werden sollten, wie man sie zentral aggregiert und auswertet, und welche freien Tools dabei helfen, so einen reibungslosen Betrieb zu sichern.

  • Die Drei von der Leitstelle – Logging, Metriken und Tracing in verteilten Anwendungen

    Talk Tammo van Lessen Frankfurter Entwicklertag 2016

    Aktuelle Trends sehen die Zerschlagung von Monolithen in kleine, in sich abgeschlossene Dienste, sogenannte Microservices, als Mittel zur Lösung typischer Probleme großer Softwaresysteme. Dieser Ansatz ermöglicht schnellere Reaktionszeiten auf Marktänderungen sowie mehr Flexibilität bei der Wartung. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit oder Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft.

    Das Trio Logging, Metriken und Tracing stellt die geeigneten Mittel zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch wie logge ich eigentlich richtig? Welche Metriken soll ich erfassen? Wie finde ich Bottlenecks in meiner Architektur? Diese Fragen möchten wir in der Session beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Read more

    When Microservices Meet Real-World Projects: Lessons Learned

    Talk Alexander Heusingfeld JUG Dortmund Spring Event Slides available

    Als Berater sehen wir oft beide Seiten der Medaille: Auf der einen Seite arbeiten wir mit Leading-Edge-Technologien, die meist gerade erst marktreif sind. Auf der anderen Seite stehen Kunden mit sehr konservativen Betriebsabteilungen, Legacy-Systemen und strikten Reglementierungen zur Datensicherheit.

    In dieser Session möchten wir von den Erfahrungen berichten, die wir im Beratungsalltag sammeln durften. Was bedeutet eigentlich “pets vs. cattle”? Warum soll sich ein Entwickler mit den Business-Use-Cases auseinandersetzen? Warum können IT-Projekte auf Grund der Unternehmensorganisationen scheitern, und was hat eine DevOps-Mentalität mit Perspektivenwechsel zu tun? Wir zeigen Wege, wie wir eine Legacy-Anwendung iterativ modernisiert und in mehrere, leichter wartbare Self-Contained-Systeme aufgeteilt haben. Dabei werden nicht nur die unterschiedlichen Ebenen von Architekturentscheidungen herausgestellt, sondern auch die Auswirkungen auf die Organisationsstruktur und kritische Punkte auf dem Weg verdeutlicht.

    Read more
  • When Microservices Meet Real-World Projects: Lessons Learned

    Talk Alexander Heusingfeld, Tammo van Lessen JavaLand 2016 Slides available

    Als Berater sehen wir oft beide Seiten der Medaille: Auf der einen Seite arbeiten wir mit Leading-Edge-Technologien, die meist gerade erst marktreif sind. Auf der anderen Seite stehen Kunden mit sehr konservativen Betriebsabteilungen, Legacy-Systemen und strikten Reglementierungen zur Datensicherheit.

    In dieser Session möchten wir von den Erfahrungen berichten, die wir im Beratungsalltag sammeln durften. Was bedeutet eigentlich “pets vs. cattle”? Warum soll sich ein Entwickler mit den Business-Use-Cases auseinandersetzen? Warum können IT-Projekte auf Grund der Unternehmensorganisationen scheitern, und was hat eine DevOps-Mentalität mit Perspektivenwechsel zu tun? Wir zeigen Wege, wie wir eine Legacy-Anwendung iterativ modernisiert und in mehrere, leichter wartbare Self-Contained-Systeme aufgeteilt haben. Dabei werden nicht nur die unterschiedlichen Ebenen von Architekturentscheidungen herausgestellt, sondern auch die Auswirkungen auf die Organisationsstruktur und kritische Punkte auf dem Weg verdeutlicht.

    Read more
  • Nanoservices und Microservices mit Java

    Talk Eberhard Wolff JavaLand 2016 Slides available

    Es geht kleiner als Microservices: Nanoservices gehen zwar technologische Kompromisse ein, haben dafür aber auch einige entscheidende Vorteile gegenüber Microservices. Dieser Vortrag gibt einen Überblick über Microservice-Technologien wie Spring Cloud oder Spring Boot – und Java-Nanoservice-Ansätze wie Java EE, OSGi und Amazon Lambda.

    Read more
  • Viele Wege führen zu Microservices

    Talk Eberhard Wolff Gesellschaft für Informatik – Regionalgruppe Dortmund

    Microservices lösen viele Probleme aktueller Architekturen - sie helfen beim Skalieren agiler Prozesse, ermöglichen Continuous Delivery und machen Software robuster und besser skalierbar. Welcher Vorteil der wichtigste ist - davon hängt ab, wie man Microservices einführen sollte, wie die Architektur aussehen sollte und welchen Weg zu Microservices man einschlagen sollte. Dieser Vortrag zeigt die Vorteile - und die daraus resultierenden Ansätze zur Adaption von Microservices.

    Read more
  • Microservices with Java, Spring Boot and Spring Cloud

    Talk Eberhard Wolff Voxxed Days Vienna 2016

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

    Read more
  • Microservices <3 Domain Driven Design, why and how?

    Talk Michael Plöd microXchg 2016 – The Microservices Conference Slides available

    Without any doubt Eric Evans’ book “Domain Driven Design” is considered as a “must read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. In addition, I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few).

    The video recording of this talk can be found at https://www.youtube.com/watch?v=lUCLFOISuXk

    Read more

    Don’t Fly Blind: Logging and Metrics in Microservice Architectures

    Talk Alexander Heusingfeld, Tammo van Lessen microXchg 2016 – The Microservices Conference Slides available

    While many organizations are keen on breaking up their monolithic applications and establishing microservice architectures, only few of them truly appreciate the impact on runtime information like log data and metrics. But without it you are almost blind in production. And without correlating events from different sources it becomes very difficult to make sense of your metrics and to draw accurate conclusions. If you want to break monoliths into a variety of distributed services, standard approaches are no longer sufficient. In this session, we will show the conceptual foundation and best-of-breed tooling for a monitoring solution of a decentralized and distributed application landscape.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=nWgoyLl8wbM

    Read more

    Wait, what!? Our microservices have actual human users?

    Talk Stefan Tilkov microXchg 2016 – The Microservices Conference Slides available

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=pU1gXA0rfwc

    Read more
  • Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Talk Holger Kraus, Arne Landwehr OOP 2016 – Software meets Business Slides available

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden. Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen sind in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten.

    Der Einsatz von RxJava eröffnet eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Read more
  • Event Sourcing: Tales from the hardside

    Talk Michael Plöd Topconf Linz 2016 Slides available

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for microservice architectures and reactive applications.

    Read more
  • Entwicklung einer skalierbaren Webanwendung mit Amazon Web Services

    Article Christine Koppelt, Martin Eigenbrodt, Oliver Tigges

    Gemeinsam mit Heraeus Kulzer hat innoQ eine Cloud-basierte Plattform für die Abwicklung von Beauftragungsprozessen im Dentalbereich entwickelt. In dieser Fallstudie stellen wir die Rahmenbedingungen und Anforderungen des Projektes vor und zeigen, wie die technische Lösung mittels Amazon Web Services aussieht.

    Read more

    One size does not fit all: Carving up stuff for fun and profit (Opening Keynote)

    Talk Stefan Tilkov Topconf Linz 2016 Slides available

    (Micro-)services, bounded contexts, components, modules, classes, structs and records, procedures and functions – whatever structuring mechanism we’re talking about, a recurring challenge is to find the right size for things. Opposing forces influence our decisions from both technical and organizational perspectives, and strategies for finding a good balance are few and far between. Let’s take a closer look at what works, what doesn’t, and why.

    Read more

    Microservices: Agilität mit Architekturen skalieren

    Talk Eberhard Wolff OOP 2016 – Software meets Business Slides available

    Das Skalieren von agilen Prozessen ist gerade ein sehr wichtiges Thema. Zu oft wird aber nur die Prozess-Sicht betrachtet. Dieser Vortrag zeigt, dass eine Architektur wie Microservices den Teams so viel Unabhängigkeit geben kann, dass eine übergreifende Koordination fast nicht mehr erforderlich ist. Dann können kleine Teams unabhängig voneinander agieren. So wird ein agiler Prozess durch die Architektur skaliert.

    Sie lernen:

    • Microservices kennenlernen
    • Auswirkungen von Microservices auf den Prozess und die Kommunikation
    • Optimierungspotentiale agiler Prozesse durch geschickte Architekturen abschätzen

    Zielpublikum: Architekten, Projektleiter, Manager, Entscheider
    Voraussetzungen: Grundlegendes Wissen über Architekturen und Organisationen
    Schwierigkeitsgrad: Anfänger

    Read more

    Self-contained Systems: A Different Approach to Microservices

    Talk Eberhard Wolff Microservices Meetup Munich February 2016 Slides available

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS, scs-architecture.org) focus on an architecture approach based on Microservices. It is in particular useful for large systems and complex team structures. SCS allow to efficently develop software in such environments – even in the long run. This talk explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Read more
  • Microservices: Architektur und Entwicklung

    Talk Eberhard Wolff OOP 2016 – Software meets Business

    Dieser Workshop gibt zunächst einen Überblick über Microservices-Architekturen. Dann wird praktisch ein System aus Microservices als Beispiel aufgebaut und diskutiert. Das System nutzt Java, Spring Boot und koordiniert die Anwendungen mit Spring Cloud und dem Netflix-Stack. Die Prinzipien lassen sich aber auch auf andere Technologien übertragen. Dann folgt das Deployment der Anwendungen mit Docker. Am Ende können die Teilnehmer eine Anwendung aus mehreren Microservices praktisch betreiben und weiterentwickeln.

    Zielpublikum: Architekten, Entwickler, technische Projektleiter
    Voraussetzungen: Grundlegendes Wissen über Java ist hilfreich, aber nicht unbedingt notwendig
    Schwierigkeitsgrad: Anfänger

    Sie lernen:

    • Einblicke in Microservices-Architekturen und ihre Anwendungsbereiche
    • Kenntnisse in einem Microservices Stack (Java, Spring, Spring Boot, Spring Cloud, Netflix)
    • Kenntnisse über das Deployment mit Docker
    Read more

    Microservices and Event Sourcing with Spring Boot

    Talk Michael Plöd, Agim Emruli Topconf Linz 2016

    This half-day workshop consists of two parts.

    Part 1: “Building Microservices with Spring Boot and Spring Cloud” by Agim Emruli

    Creating highly decomposed and distributed microservice architectures requires platforms with a minimal footprint and high productivity. Spring Boot allows developers to build microservices with a broad set of persistence, queueing and caching technologies and to run them with minimal system requirements. Spring Cloud supports the creation of distributed components and helps with integration into popular framework like the Netflix OSS. This talks will discuss and practically show how to build microservice based architectures using Spring Boot and Spring Cloud.

    Part 2: “Building Event Sourced Applications with Spring” by Michael Ploed

    This session will demonstrate how you can leverage components of the Spring Ecosystem in order to build applications that are based on the ideas behind the patterns Event Sourcing and CQRS (Command Query Responsibility Segregation). We will cover Spring Boot, lightweight messaging with Spring, as well as Spring Data for persistence.

    Read more
  • Microservices with Java, Spring Boot and Spring Cloud

    Talk Eberhard Wolff Voxxed Days Berlin 2016 Slides available

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

    Read more
  • Microservices in the Real World

    Link Alexander Heusingfeld, Tammo van Lessen

    InfoQ did an interview with our colleagues Alexander Heusingfeld and Tammo van Lessen about getting people from operations involved in architecture and dealing with “us vs. them” behavior when applying DevOps. They also talked about what the Self-Contained Systems approach is and how it can be used to modernize software systems, similarities and differences between the Self-Contained Systems approach and microservices, improving deployment pipelines and using measurements in deployment, and about their experiences with a “getting out of your comfort zone” program.

  • Voxxed Days Berlin 2016

    News

    Am 28. und 29. Januar finden zum ersten Mal die Voxxed Days Berlin statt. Diese Konferenz gehört zu einer Serie von Events, die jeweils von regionalen Communities organisiert werden. Die Voxxed Days bietet eine Mischung aus international und national bekannten Java-Experten. Wir freuen uns, die Konferenz als Sponsor zu unterstützen. Read more
  • Der Microservices-Architektur-Ansatz

    Talk Eberhard Wolff Microservices Summit

    Microservices erlauben wesentlich schnelleres Time-to-Market und flexibleren Umgang mit Technologien. Mit Microservices können Anwendungen auch langfristig produktiv weiterentwickelt werden. Dieser Workshop vermittelt die Grundlagen von Microservices und zeigt, wie Microservice-Architekturen entworfen werden.

    • Was sind Microservices?
    • Vorteile und Herausforderungen der Microservices-Architektur
    • Auswirkungen auf die Organisation
    • Microservices und Domain Driven Design: Bounded Context
    • Microservices und das Gesetz von Conwayay
    Read more

    Microservices mit Java, Spring Boot und Spring Cloud

    Talk Eberhard Wolff Microservices Summit

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Read more
  • Monitoring, Logging und Metriken in verteilten Anwendungen

    Talk Alexander Heusingfeld, Michael Vitz Microservices Summit

    Microservices bieten für Entwicklung und Business große Vorteile. Oft führen sie allerdings zu einem deutlich komplexeren Betrieb. Dieser Workshop zeigt die Herausforderungen beim Betrieb von verteilten Anwendungen auf. Die Teilnehmer lernen hier Tools wie den ELK-Stack, Grafana und InfluxDB und die Unterschiede zwischen Logdaten und Metriken kennen. Die Tools werden es ihnen ermöglichen, ihre betrieblichen Anforderungen zu formulieren und das richtige Maß an Monitoring für ihre Microservices zu finden. Wir zeigen, welche Komponenten man in einer modernen Logging- und Metrik-Infrastruktur verwenden kann, wie man diese aufsetzt und in bestehende Systeme wie bspw. Nagios integriert. Hierbei wird auch klar, warum und wo der Betrieb maßgeblich die Makro- und Mikro-Architektur eines Systems mitbestimmen sollte.

    Read more
  • Microservices zur Architektur­modernisierung

    Talk Alexander Heusingfeld, Michael Vitz Microservices Summit

    Dieser Workshop adressiert ein klassisches Dilemma der IT: Eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget… Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u.A. Bibliotheken wie Hystrix dabei die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Read more
  • When Microservices Meet Real-World Projects

    Talk Alexander Heusingfeld GOTO Conference Berlin 2015 Slides available

    As a consultant, Alexander Heusingfeld has seen both sides of the coin: on the one hand, he gets to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations.

    In this session, he shares some learnings from consulting gigs, talks about what business domain thinking means, and why the DevOps mindset can change the team spirit. He explains some of the approaches he used to iteratively modernize legacy systems into multiple self-contained systems, the different levels of architectural decisions that have to be taken and the impact of this architectural approach on a classic organization structure.

    Read more
  • Microservice Book Release Event & Talk

    Talk Eberhard Wolff GOTO Night Berlin

    Microservices solve a lot of problems with current architectures: e.g. they help with agile processes, enable Continuous Delivery and increase robustness and scaling. But what is the best way to create a Microservices architecture? That depends on the concrete scenario - and can be very different for each individual project. This talk shows the many value propositions of Microservices and how to find the best way to a Microservices architecture.

    Eberhard Wolff has written a new book about Microservices - available in German. A translation in English is being worked on. During this GOTO Night we will do a raffle for a copy of both.

    Read more
  • Microservices-Workshop: Architekturen für Continuous Delivery

    Talk Eberhard Wolff Continuous Lifecycle 2015 – Konferenz für Continuous Delivery, DevOps und Containerisierung

    Dieser Workshop zeigt praktisch ein Beispiel für eine Microservice-Architektur. Zunächst werden die Grundlagen der Architektur erläutert. Dann wird der praktische Aufbau von Microservices mit Java, Spring, Spring Cloud und dem Netflix Stack und schließlich das Deployment mit Docker gezeigt. Die Konzepte sind auch auf andere Technologien übertragbar. Teilnehmer lernen so die Grundlage der Microservice-Architektur und des Betriebs von Microservices kennen.

    Read more
  • Goto Berlin 2015

    News

    Am 3. und 4. Dezember findet die diesjährige GOTO Berlin Conference statt. GOTO Berlin ist eine internationale Entwicklerkonferenz, die zum Ziel hat, die neuesten, für die Softwareentwicklung relevanten Themen zu präsentieren. Dieses Jahr stehen Tracks zu Themen wie „Programming Languages”, „Privacy” oder auch „Web APIs” im Programm. Read more

    Infrastruktur für Continuous Delivery und Microservices: PaaS oder Docker?

    Talk Eberhard Wolff Continuous Lifecycle 2015 – Konferenz für Continuous Delivery, DevOps und Containerisierung Slides available

    Continuous Delivery und Microservices stellen neue Anforderungen an die Infrastruktur: Microservice-Systeme haben viel mehr Artefakte, Continuous Delivery viel mehr Tests und viel häufigere Releases - und für die alle muss es jeweils eine Infrastruktur geben.

    PaaS (Platform as a Service) bietet sich an. Schließlich ist die Infrastruktur dann vollständig automatisiert und vereinheitlicht. PaaS führt aber zumindest in der klassischen IT ein Schattendasein. Docker scheint das Rennen zu machen - bietet aber konzeptionell scheinbar wenig mehr als ein einfaches Betriebssystem.

    Der Vortrag zeigt Unterschiede, Vor- und Nachteile dieser Ansätze.

    Read more

    Microservices, DevOps, Continuous Delivery – mehr als drei Buzzwords

    Talk Eberhard Wolff Continuous Lifecycle 2015 – Konferenz für Continuous Delivery, DevOps und Containerisierung Slides available

    Microservices sind gerade ein Hype. Sie sind endlich der Architekturansatz, mit dem alles einfacher wird. In Kern sind Microservices unabhängige Deployment-Einheiten. Daher gibt es eine Synergie von Microservices mit Continuous Delivery und Deployment-Automatisierung. Microservices betrachtet außerdem die Organisation als Auswirkung der Architektur. So unterstützen Microservices auch DevOps als Organisationsansatz. Dieser Vortrag zeigt, wie Microservices, Continuous Delivery und DevOps zusammenpassen und dass Microservices mehr als ein Hype sind.

    Read more
  • Docker - Perfekte Verpackung von Microservices

    Article Jerry Preissler, Oliver Tigges

    Die Microservice-Bewegung ist mit viel Schwung gestartet und in großen Unternehmen angekommen. Überall werden Monolithen zerschlagen und durch eigenständige, fachlich definierte Microservices ersetzt. Entwicklungsteams können eigenverantwortlicher und autonomer agieren und damit deutlich schneller Ergebnisse ausrollen. Aus Sicht des IT-Betriebs bringen die Microservices aber auch eine Menge Herausforderungen: Statt weniger großer und etablierter Unternehmensanwendungen, existieren plötzlich Landschaften mit einer Vielzahl an kleinen, sich schnell ändernden Services, die alle konfiguriert, integriert und überwacht werden wollen. Eine Container-Technologie wie Docker kann das ideale Mittel sein, um diese Services zu verpacken und auszurollen. Aber welche Probleme löst Docker genau und welche neuen Herausforderungen bringt es mit? In diesem Artikel zeigen wir, für welche Software-Architekturen Docker geeignet ist und wie ein Einsatz von Docker dabei helfen kann, Microservice-Architekturen zu standardisieren, zu steuern und zu kontrollieren.

    Read more
  • Modernization of legacy systems with microservices, Hystrix and RxJava

    Talk Holger Kraus JAVADAY KYIV Slides available

    As a software developer you are not very often in the situation where you develop a completely new system from scratch based on recent techonologies. More often just small features have to be integrated in already existing systems. A change of the basic software architecture and an introduction of new programming paradigms are very difficult in this context. It is all the more important to make the modernization of a legacy systems an ongoing part of the feature-driven development process. In this talk I will show step by step how to transform a big, monolithic legacy system towards a modern microservice based architecture. And I will demonstrate how two open libraries from Netflix can support this process. Hystrix will help us to improve the overall stability of the system and RxJava will help us to handle asynchronous processes in a more elegant way. Based on examples, I will show how the suggested modernization process could be realised.

    Read more
  • Microservices-Workshop: Architektur und Praxis

    Talk Eberhard Wolff W-JAX 2015

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren.

    Zunächst gibt es eine Einführung in Microservices-Architekturen und ein konkretes Beispiel. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud. Dann folgt der Betrieb der Anwendungen mit Docker. Am Ende können wir eine Anwendung aus mehreren Microservices praktisch betreiben und weiterentwickeln.

    Read more

    JAX TV: Integration von Microservices – REST vs. Messaging, eine W-JAX 2015 Sesion mit Oliver Gierke (Pivotal Software) und Eberhard Wolff (innoQ)

    Link Eberhard Wolff, Oliver Gierke

    Der Trend zu Microservices stellt Entwickler vor neue Herausforderungen. Systeme, die an fachlichen Kontexten orientiert sind, müssen sich gegenseitig über Ereignisse benachrichtigen und auf sie reagieren. Ebenso muss das Austauschen und Synchronisieren von Datenbeständen umgesetzt werden. Die Wahl eines Kommunikationsmechanismus ist dabei fundamental. Sie beeinflusst die gesamte Architektur und ist nur schwer nachträglich änderbar. Der Vortrag stellt die Herausforderung bei der Integration dar und Konsequenzen und Effekte des Einsatzes von REST und Messaging gegenüber.

  • Integration von Microservices – REST vs. Messaging

    Talk Eberhard Wolff, Oliver Gierke W-JAX 2015 Slides available

    Der Trend zu Microservices stellt Entwickler vor neue Herausforderungen. Systeme, die an fachlichen Kontexten orientiert sind, müssen sich gegenseitig über Ereignisse benachrichtigen und auf sie reagieren. Ebenso muss das Austauschen und Synchronisieren von Datenbeständen umgesetzt werden. Die Wahl eines Kommunikationsmechanismus ist dabei fundamental. Sie beeinflusst die gesamte Architektur und ist nur schwer nachträglich änderbar.

    Der Vortrag stellt die Herausforderung bei der Integration dar und Konsequenzen und Effekte des Einsatzes von REST und Messaging gegenüber.

    Read more

    Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Talk Arne Landwehr, Holger Kraus W-JAX 2015 Slides available

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden.

    Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten. Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Read more

    Microservices mit Spring Boot und Spring Cloud

    Talk Eberhard Wolff W-JAX 2015 Slides available

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservice und Spring Cloud für den Aufbau der notwendigen Infrastruktur. Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Read more
  • Heise Developer Continuous Architecture Blog, „Neun Jahre Microservices”

    Link Eberhard Wolff

    Microservices sind gerade der Architektur-Hype schlechthin. Aber die Ideen sind schon recht alt und bewährt. In diesem Blogpost auf Heise Developer schaut Eberhard Wolff in die Historie dieses Ansatzes.

  • Microservices Meet Real-World Projects: Lessons Learned

    Talk Alexander Heusingfeld, Tammo van Lessen JavaOne Conference 2015 Slides available

    As consultants, this session’s speakers regularly see both sides of the coin: on the one hand, they get to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations. In this session, they share some learnings from their consulting gigs, what business domain thinking did to their customers, and why the DevOps mindset changed the team spirit. They explain the different approaches they used to iteratively modernize a big Java legacy system into multiple self-contained systems, the different levels of architectural decisions they made, the impact on a classic organization structure, and the critical points along the way.

    Read more
  • Microservices mit Clojure

    Talk Philipp Schirmacher, Simon Kölsch JUG Karlsruhe – Oktober 2015

    Microservices zeichnen sich insbesondere durch ihre Eigenständigkeit aus: Die Services sind so lose gekoppelt wie möglich. Damit bietet eine Microservices-Architektur den idealen Rahmen für den Einsatz unterschiedlicher Technologien, die jeweils genau zum zu lösenden Problem und dem Skillset der Entwickler passen. In einem solchen Umfeld lassen sich die Vorteile einer modernen Sprache wie Clojure voll ausnutzen: Knapper und präziser Code, Parallelverarbeitung und direkter Support für asynchrone Programmierung.

    Microservices stellen jedoch auch besondere Herausforderungen: Wie lassen sich neue Projekte ohne viel Overhead aufsetzen? Wie können Services miteinander kommunizieren? Wie schütze ich meinen Service, wenn ein anderer Service ausfällt? Und wenn ich einen Service gebaut habe: Wie bringe ich ihn in Produktion und gestalte das Monitoring?

    In dieser Session führen wir die Teilnehmer Schritt für Schritt an Clojure heran und zeigen am Beispiel, mit welchen Clojure-Bibliotheken sich die genannten Herausforderungen elegant lösen lassen.

    Read more
  • Don’t Fly Blind: Logging and Metrics in Microservice Architectures

    Talk Alexander Heusingfeld, Tammo van Lessen JavaOne Conference 2015 Slides available

    While many organizations are keen on breaking up their monolithic applications and establishing microservice architectures, only few of them truly appreciate the impact on runtime information like log data and metrics. But without it you are almost blind in production. And without correlating events from different sources it becomes very difficult to make sense of your metrics and to draw accurate conclusions. If you want to break monoliths into a variety of distributed services, standard approaches are no longer sufficient.

    In this session, we will show the conceptual foundation and best-of-breed tooling for a monitoring solution of a decentralized and distributed application landscape.

    Read more
  • Many Roads Lead to Microservices

    Talk Eberhard Wolff Microservices Meetup Rhein-Main

    Microservices solve a lot of problems with current architectures: E.g. they help with agile processes, enable Continuous Delivery and increase robustness and scaling. But what is the best way to create a Microservices architecture? That depends on the concrete scenario - and can be very different for each individual project. This talk shows the many value propositions of Microservices and how to find the best way to a Microservices architecture.

    Read more
  • Securing Microservices

    Talk Sam Newman Microservices Meetup Berlin October 2015

    We’re happy to host the Microservices Meetup Berlin at our Berlin office in Kreuzberg.

    Tonight’s talk by Sam Newman from Thoughtworks is on “Securing Microservices”. Microservices give us many options. We can pick different technologies, mix synchronous and asynchronous integration techniques or embrace different deployment patterns. But they also give us different options in how we think about securing our systems.

    Done right, and microservices can increase the security of your vital data and processes. Done wrong, and you can increase the surface area of attack. This talk will discuss the importance of defence in depth, discussing the many different ways in which you can secure your fine-grained, distributed architectures

    Read more
  • W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

    News

    Es ist wieder soweit, vom 2. bis 6. November findet die W-JAX 2015 statt. Im traditionell vollgepackten, spannenden Programm mit über 180 Vorträgen und Workshops sind auch diesmal einige unserer Kollegen vertreten. Read more
  • Java-Microservices praktisch mit Spring Boot und Spring Cloud

    Talk Eberhard Wolff majug – Java User Group Mannheim August 2015

    Microservices sind nicht einfach kleine Anwendungen mit REST-Schnittstelle. Der Aufbau verteilter Systeme stellt Entwickler vor ganze neue Herausforderungen. Spring Boot hilft, indem es kleine Services einfach implementierbar macht. Spring Cloud bietet die Infrastruktur für die Gesamtarchitektur. Dieser Vortrag zeigt, wie die beiden Technologien die Implementierung von Microservices vereinfachen.

    Read more
  • Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Talk Holger Kraus, Arne Landwehr Berlin Expert Days 2015

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden.

    Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten.

    Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Read more

    Microservices mit Spring Boot und Spring Cloud

    Talk Eberhard Wolff Berlin Expert Days 2015

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservice und Spring Cloud für den Aufbau der notwendigen Infrastruktur.

    Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Read more
  • Microservices: Architektur für agile Softwareentwicklung

    Talk Eberhard Wolff Berlin Expert Days 2015

    Die Aufteilung von Software in kleine Microservices hat viele Vorteile. Diese Services können einzeln in Produktion gebracht werden. So können viel mehr Features parallel entwickelt und ausgeliefert werden - eine ideale Ergänzung zu agiler Software-Entwicklung. Ebenso sind Microservices leichter zu verstehen und zu warten - daher kann die hohe Entwicklungsgeschwindigkeit auch langfristig beibehalten werden. Der Vortrag zeigt, wie Microservices funktionieren und welche Vor- und Nachteile sie mit sich bringen.

    Read more
  • Microservices: Architecture & Deployment with Docker

    Talk Eberhard Wolff Software Architecture Summit 2015

    Microservices improve time-to-market and handle technologies more flexible. Also, Microservices allow a sustainable development pace - even in the long run. This workshop explains the basics of Microservices and shows how to design Microservice architectures.

    • What are Microservices?
    • Advantages and Challenges of Microservices
    • Impact on the organization

    Attendees will also learn to deploy Microservices with Docker. Docker is far more efficient than the usual approaches to virtualization. Microservice environments use large numbers of virtual machines. Therefore, Docker has significant advantages in these environments.

    • What’s Docker?
    • Deploy applications with Docker container
    • Using Docker with Vagrant
    Read more

    Microservices with Java, Spring and Spring Boot Cloud

    Talk Eberhard Wolff Software Architecture Summit 2015

    This workshop shows how to implement Microservices with Java and Spring Boot. Spring Boot simplifies the deployment of Java applications using the Spring framework. It allows to run application without an Application Server and implements novel approaches to operations. Spring Boot is not specific for Microservices - it might as well be used for classic applications.

    • What is Spring Boot?
    • Implementing REST services with Spring Boot
    • Spring Boot with or without Application Servers
    • Operations of Spring Boot applications

    Microservices are distributed systems. The challenges when implementing such systems are completely different from traditional deployment monoliths. Spring Cloud solves these problems by integrating technologies of the Netflix stack - the de-facto standard for the design of Microservice.

    • Spring Cloud: Basic approach
    • Overview of the technologies integrated in Spring Cloud
    • Service Discovery with Eureka
    • Reliability and Resilience with Hystrix
    Read more
  • Event Sourcing for reactive applications & Event Sourcing: Tales from the hardside

    Talk Michael Plöd Microservices Meetup München

    Event Sourcing for reactive applications

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for reactive applications.

    Event Sourcing: Tales from the hardside

    Event Sourcing might appear easy and straight forward at a first glance. However there are some tough challenges to address in real world projects: “What about parallel updates?”, “Where should I validate my data?”, “How about consistency?” There isn’t an easy catch-all answer to these questions.This talks addresses exactly these demanding challenges and offers ideas and possible solutions for them. In addition to that you will be able to consider advantages and downsides in discussions surrounding advanced Event Sourcing challenges.

    Read more
  • Berlin Expert Days 2015

    News

    Am 17. und 18. September findet bereits zum fünften Mal die offene Java-Konferenz Berlin Expert Days statt. Das Programm bietet vier parallele Tracks mit Talks unter anderem zu Java, Java EE und Spring, aktuellen Frameworks und Infrastrukturthemen. Read more
  • Microservices und Continuous Delivery: Nur zusammen möglich?

    Blog Post Eberhard Wolff

    Microservices unterteilen große Systeme in kleine Deployment-Einheiten. Dies macht Continuous Delivery wesentlich einfacher. Sind aber Microservices ohne Continuous Delivery möglich? Und ist Continuous Delivery ohne Microservices umsetzbar? Ist die Kombination eher eine Synergie oder macht sie nur alles noch komplizierter?

    Read more
  • Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

    News

    Für den Herbst bieten wir Ihnen zwei neue Trainingstermine für Software-Architekten an. In beiden Trainings geht es nicht einfach um Theorie, sondern vor allem um praxisrelevante Themen und deren tatsächlichen Einsatz in Ihrem Arbeitsalltag. Read more

    Microservices: Smaller Is Better?

    Video Eberhard Wolff

    In this talk from the microXchg conference 2015, Eberhard Wolff discusses the benefits of microservices and some of the advantages of creating smaller services instead of larger ones.

  • Reliable Web Clients

    Blog Post Tobias Neef

    Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

    Read more
  • Anatomy of Microservice Landscapes

    Talk Michael Plöd Java User Group Darmstadt

    Building a Microservice is no hard task these days. With current frameworks it is fairly easy to create a self contained application that exposes Services via a RESTful interface. The Challenge for Microservices lies within the overall landscape. How do they interact with each other? How about service lookup? What about resilience? This session adresses the usual building blocks that are needed for Microservice landscapes and gives an overview of suitable open source frameworks in the market.

    Read more
  • Microservices - Are Your Frameworks Ready?

    Video Alexander Heusingfeld, Martin Eigenbrodt

    In their talk at the MicroXchg conference in February 2015, Alex Heusingfeld and Martin Eigenbrodt discussed some of the challenges creating microservices on JVM stacks with examples using Dropwizard, Spring Cloud and Play2 Scala.

  • Microservice mit Java, Spring Boot und Spring Cloud

    Talk Eberhard Wolff Java Forum Stuttgart 2015 Slides available

    Microservices sind das neue Architekturparadigma, das vor allem schnelle und nachhaltige Software-Entwicklung verspricht. Dieser Vortrag zeigt, was Microservices sind und welche Vorteile und Herausforderungen dieser Ansatz in sich birgt. Als konkrete Technologien für Microservices dient Spring Boot, mit dem die Implementierung von REST-Systemen besonders einfach ist. Spring Cloud schließlich löst viele Herausforderungen - gerade bei komplexen Microservices-Architekturen.

    Read more
  • Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

    News

    Am 09. Juli treffen sich rund 1.600 Softwareentwickler in Stuttgart, um zahlreichen Talks zu Themen aus dem Java-Umfeld zu lauschen. innoQ ist beim diesjährigen Java Forum Stuttgart mit drei Talks und einem Stand dabei. Read more
  • Microservices: Awesome, as long as they are neither ‘micro’ nor ‘services’

    Talk Stefan Tilkov GOTO Night: Microservices Slides available

    Microservices - awesome, as long as they are neither ‘micro’ nor ‘services’. The concept of a microservices architecture hit the community with tremendous force, and immediately struck a nerve. But the name is unfortunate – some of the connotations it carries are not at all necessary to reap the benefits of this approach. In this talk, we will discuss the forces that are independent from the size and the kind of interface offered, and see how they can be applied to various different scenarios.

    Read more
  • Heise Developer Continuous Architecture Blog, „Microservices: Architektur oder Organisation?”

    Link Eberhard Wolff

    Architektur und Organisation sind eigentlich zwei getrennte Bereiche. Microservices haben das Gesetz von Conway wieder entdeckt – und ziehen daraus interessante Konsequenzen. Was bedeutet es, wenn Architektur und Organisation eigentlich dasselbe sind?

  • Don’t start with a monolith

    Link Stefan Tilkov

    In an article published on martinfowler.com, Stefan Tilkov argues that starting with a monolith when your goal is a microservices architecture is typically the wrong thing to do.

  • Modernization of legacy systems with microservices, Hystrix and RxJava

    Talk Holger Kraus JEEConf

    As a software developer you are not very often in the situation where you develop a completely new system from scratch based on recent techonologies. More often just small features have to be integrated in already existing systems. A change of the basic software architecture and an introduction of new programming paradigms are very difficult in this context. It is all the more important to make the modernization of a legacy systems an ongoing part of the feature-driven development process.

    In this talk I will show step by step how to transform a big, monolithic legacy system towards a modern microservice based architecture. I will also demonstrate how two open libraries from Netflix can support this process. Hystrix will help us to improve the overall stability of the system and RxJava will help us to handle asynchronous processes in a more elegant way. Based on examples I will show how the suggested modernization process could be realised.

    Read more
  • Event Sourcing and CQRS

    Talk Oliver Wolf Microservices Meetup Berlin

    The CQRS (Command-Query Responsibility Segregation) pattern is a thought-provoking way to look at the architecture of modern application systems and provides a way to put an end to some established and rarely challenged assumptions that have been guiding our architectural decisions for decades. In this session, I’m going to introduce the basic idea behind CQRS and demonstrate how the pattern can be applied to applications as a sequence of smaller steps.

    Read more
  • Wider den Blindflug: Logging und Metriken in verteilten Anwendungen

    Talk Alexander Heusingfeld, Tammo van Lessen JAX 2015 Slides available

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn der Erfolg dieses Architekturmodells hängt maßgeblich von den erfassten Kennzahlen ab. Je mehr Informationen man zur Laufzeit erfassen kann, desto genauer kann man den Gesundheitszustand des Gesamtsystems bestimmen. Dafür müssen neue Konzepte für Logging und Metriken umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben.

    In dieser Session zeigen wir, welche Metriken erfasst und welche Informationen geloggt werden sollten, wie man sie zentral aggregiert und auswertet, und welche freien Tools dabei helfen, so einen reibungslosen Betrieb zu sichern.

    Read more
  • Microservices mit Clojure

    Talk Philipp Schirmacher, Silvia Schreier JAX 2015 Slides available

    Microservices zeichnen sich insbesondere durch ihre Eigenständigkeit aus: Die Services sind so lose gekoppelt wie möglich. Damit bietet eine Microservices-Architektur den idealen Rahmen für den Einsatz unterschiedlicher Technologien, die jeweils genau zum zu lösenden Problem und dem Skillset der Entwickler passen. In einem solchen Umfeld lassen sich die Vorteile einer modernen Sprache wie Clojure voll ausnutzen: Knapper und präziser Code, Parallelverarbeitung und direkter Support für asynchrone Programmierung.

    Microservices stellen jedoch auch besondere Herausforderungen: Wie lassen sich neue Projekte ohne viel Overhead aufsetzen? Wie können Services miteinander kommunizieren? Wie schütze ich meinen Service, wenn ein anderer Service ausfällt? Und wenn ich einen Service gebaut habe: Wie bringe ich ihn in Produktion und gestalte das Monitoring?

    In dieser Session führen wir die Teilnehmer Schritt für Schritt an Clojure heran und zeigen am Beispiel, mit welchen Clojure-Bibliotheken sich die genannten Herausforderungen elegant lösen lassen.

    Read more
  • Twelve-Factor App: Web-Applikationen auf die neue Art

    Podcast Michael Vitz, Stefan Tilkov

    Michael Vitz und Stefan Tilkov sprechen in dieser Folge über die Twelve-Factor App, eine Entwicklungsmethode für skalierbare Web-Applikationen in der Cloud. Michael erklärt zunächst, welche Ziele hinter dieser Methode stehen und erläutert dann die 12 Faktoren im Detail. Außerdem diskutieren Stefan und Michael über Vor- und Nachteile der Twelve-Factor App und beleuchten Gemeinsamkeiten und Unterschiede zu Microservices. Read more
  • Distributed Metrics and Log Aggregation

    Talk Alexander Heusingfeld, Tammo van Lessen JavaLand 2015 Slides available

    Most operation teams will agree, without runtime information like log data and metrics you are literally blind in production. Even if such data is available, without correlating events from different sources it becomes very difficult to make sense of your metrics and to draw accurate conclusions. With the rise of microservice architectures, which aim at breaking monoliths into zoos of distributed services, standard approaches with local logfiles and basic runtime metrics are not sufficient anymore. Instead there is an increasing need for a centralized log and metrics collection that allows for aggregating, correlating and visualizing any kind of runtime events.

    In this session, we will show both, the conceptual foundation and best practices for a monitoring solution of a decentralized and distributed application landscape. Coming from a blind example setup, we will show how logging data and runtime metrics can be captured, collected, evaluated and visualized in order to improve the operational experience and the ability to respond early to problems.

    Read more
  • Eureka Provisionierung mit AWS CloudFormation

    Blog Post Michael Vitz

    In einer Microservice-Architektur muss dafür gesorgt werden, dass die einzelnen Services miteinander kommunizieren können. Eine Möglichkeit hierfür ist der Einsatz einer Service Registry. In diesem Post betrachten wir wie man mit Hilfe von AWS CloudFormation Eureka als ausfallsichere Service Registry in der Amazon Cloud provisioniert.

    Read more
  • Nanoservices und Microservices mit Java

    Talk Eberhard Wolff JavaLand 2016

    Es geht kleiner als Microservices: Nanoservices gehen zwar technologische Kompromisse ein, haben dafür aber auch einige entscheidende Vorteile gegenüber Microservices. Dieser Vortrag gibt einen Überblick über Microservice-Techniken wie Spring Cloud oder Spring Boot - und Java-Nanoservice-Ansätze wie Java EE, OSGi und Amazon Lambda.

    Read more
  • Interview zum Thema Microservices mit Clojure

    Link Silvia Schreier, Philipp Schirmacher

    Unsere Kollegen Silvia Schreier und Philipp Schirmacher wurden zum Thema „Microservices mit Clojure” interviewt. Bei der kommenden JAX 2015 im April werden die beiden zu diesem Thema einen Vortrag halten, der die Teilnehmer Schritt für Schritt an Clojure heran führt.

  • Microservices - Are your Frameworks ready?

    Talk Alexander Heusingfeld, Martin Eigenbrodt microXchg 2015 - The Microservices Conference Slides available

    The term “MicroServices” has become a marketing buzzword filled with a variety of different meanings. This actually not-so-new service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts but it also comes with a lot of new challenges which developers didn’t find themselves faced with before. In this session we’d like to highlight those challenges that arise in practice and take a look at how different JVM-based application development stacks try to tackle them. We will identify gaps and discuss whether its reasonable at all to expect your framework to bridge them. Examples shown will include Dropwizard, Spring Cloud and Play2 Scala.

    Read more
  • Microservices: Architektur und Entwicklung

    Talk Eberhard Wolff OOP 2016 – Software meets Business

    Microservices: Architektur und Entwicklung

    Talk Eberhard Wolff OOP 2016 – Software meets Business

  • Micro Services on the JVM – a practical overview

    Talk Alexander Heusingfeld, Martin Eigenbrodt OOP 2015 - Software meets Business Slides available

    There is a lot of buzz going on about micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts. In this session we‘d like to show different implementations of MicroServices on the JVM and their individual benefits. We‘ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. The attendees will get an idea of how to get started with Micro Services and how to slice a „monolithic idea“ into vertical services.

    You will:

    1. get an idea of how to get started with Micro Services
    2. get tips on how to slice a “monolithic app” into vertical services
    3. Learn about typical gotchas in systems of systems

    This session is an extension of our JavaOne 2014 talk which used an example application to showcase a typical monolithic architecture. As simple as this scenario is, it holds types of use cases which can be found in a majority of real world applications. It was sliced into different vertical applications each implemented with a different JVM technology.

    With this session businesses and developers will gain a greater overview of the micro service concept and will be able to compare it to their established approaches. By keeping services small and self-contained, the concept of micro services enables companies to improve their architecture e.g. by replacing services/ applications faster.

    Read more
  • Mikroservices mit Erlang/OTP

    Talk Christoph Iserlohn BOB Konferenz 2015 Slides available

    Mikroservice-Architekuren sind zur Zeit in aller Munde. Und obwohl es noch nicht einmal eine allgemein akzeptierte Definition davon gibt, was eine Mikroservice-Architektur eigentlich genau ist, haben sich in der Praxis eine Reihe von Merkmalen und Prinzipien herausgebildet, die typisch dafür sind, wenn von einer Mikroservice-Architektur gesprochen wird.

    Erlang/OTP ist eine Plattform, bestehend aus der funktionalen Sprache Erlang und der Middelware OTP, für die Entwicklung von verteilten und hochverfügbaren Systemen, die ursprünglich aus dem Telekommunkationsbereich stammt. Viele der Prinzipien von Mikroservice-Architekturen finden sich in Erlang/OTP wieder, was Erlang/OTP zu einen herausragenden Kandidaten für die Implementierung von Mikroservices macht.

    Dieser Talk gibt zunächst einen Überblick über die Prinzipien von Mikroservice-Architekturen, und stellt den Nutzen und die Herausforderungen dar, die mit der Realisierungen derselbigen einhergehen. Danach wird die Erlang/OTP Plattform vorgestellt, aufgezeigt welche Prinzipien von Mikroservice-Architekturen sich dort wiederfinden und dargelegt wie mit Erlang/OTP Mikroservices entwickelt werden können.

    Read more
  • Microservices on the JVM - a practical overview

    Talk Alexander Heusingfeld, Martin Eigenbrodt Devoxx 2014 Slides available

    There is a lot of chatting going on about the new cool kid on the block - microservices. Though the ideas are actually not that new, this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts. Unfortunately it seems that many developers get lost in the buzzwords due to a lack of concrete practical examples.

    In this session we’d like to show different implementations of microservices on the JVM and their individual benefits. We’ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. Doing this the attendees will get an idea of how to get started with microservices, how to slice a “monolithic idea” into vertical services and what the benefits are.

    Read more
  • Micro Services on the JVM - a practical overview

    Talk Martin Eigenbrodt, Alexander Heusingfeld JavaOne 2014 Slides available

    There is a lot of chatting going on about the new cool kid on the block - micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts which are often found in real-life businesses. Unfortunately it seems that many developers get lost on the way due to a lack of concrete practical examples.

    In this session we’d like to show different implementations of MicroServices on the JVM and their individual benefits. We’ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. Doing this the attendees will get an idea of how to get started with Micro Services, how to slice a “monolithic idea” into vertical services and what the benefits are.

    Link to JavaOne CON4952 talk

    Read more
  • Software Engineering Radio Podcast, Episode 210: Stefan Tilkov on Architecture and Micro Services

    Link Stefan Tilkov Heise Developer Podcast

    Micro services is an emerging trend in software architecture that focuses on small, lightweight applications as a means to avoid large, unmaintainable, monolithic systems. This approach allows for individual technology stacks for each component and more resilient systems. Micro services uses well-known communication schemes such as REST but also require new technologies for the implementation. Methodologies like the Twelve-Factor App provide a set of rules for the deployment and operation of such systems. Teams take care of several of those services and deal with separate business domains to make the best use of Conway’s Law. These business domains provide a more coarse-grained software architecture. In this episode, Stefan Tilkov discusses these new approaches as well as their benefits and drawbacks with Eberhard Wolff.

  • Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

    Article Arne Landwehr, Holger Kraus

    Sicherungen wurden ursprünglich eingeführt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrüßen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die Stabilität ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

    Read more
  • Heise Developer Podcast, Episode 44: Modularisierte Architektur für große Systeme

    Link Stefan Tilkov Heise Developer Podcast

    In dieser Episode spricht Stefan Tilkov mit Eberhard Wolff über die Idee, ein Softwaresystem in eine Vielzahl kleinerer Systeme aufzuteilen, und die Konsequenzen, die sich aus einem solchen Ansatz ergeben.

  • Heise Developer Podcast, Episode 31: Webarchitekturen

    Link Stefan Tilkov Heise Developer Podcast

    Eine Episode über die Architektur von Webanwendungen inklusive Frontend-Optimierungen, die Rolle von Programmiersprachen und Webframeworks, Skalierbarkeit sowie die Einbettung in die Gesamtarchitektur.