Oliver Tigges

Oliver Tigges ist Principal Consultant bei der innoQ Deutschland GmbH. Er befasst sich seit vielen Jahren mit der Architektur und Realisierung von Web-Anwendungen und verteilten Unternehmensanwendungen und hilft Kunden bei agiler Entwicklung, Continuous Delivery, Cloud und IT-Automatisierung.

Vorträge

  • Mit Bounded Contexts einen tragfähigen Systemschnitt finden

    DDD Meetup Köln/Bonn #2 17. Juli 2017

    Microservices-Architekturen und der Ansatz der Self-contained Systems (SCS) helfen, ein Gesamtsystem in kleinere, beherrschbare und unabhängige Teilsysteme aufzuteilen. Aber wie können diese Teilsysteme und ihre Grenzen identifiziert werden?

    In diesem Vortrag stelle ich vor wie das Konzept der Bounded Contexts aus dem Domain Driven Design dabei hilft, einen optimalen Systemschnitt für Microservices/SCS zu finden. Anhand eines Praxisbeispiels wird gezeigt, welche Abwägungen in einem iterativen Prozess getroffen werden müssen, um stabile und tragfähige Systemgrenzen zu finden, die Autonomie von Teams, Systemen und Services fördern.

    Mehr lesen
  • Self-contained Systems oder Microservices – Hauptsache SOA

    Software Architecture Summit 2017 15. März 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.

    Mehr lesen
  • Software dependency analysis with graph databases (Neo4j)

    GraphConnect 2015 07. Mai 2015 Folien verfügbar

    Software projects use dependency management tools (like Maven or Gem) to integrate frameworks and libraries. As these artifacts depend transitively on even more libraries it is necessary to become aware of these complex dependencies and to be able to control them. The main challenges here are to keep track of changing relations between artifacts, version incompatibilities and licence issues.

    As these complex relations span a huge dependency graph, a graph database fits as a perfect tool for storing and analysing this data. In this session we show a possible solution using the Maven Central Repository as example. You will see how to model this domain in Neo4j. We will show how Cypher queries can help to answer questions about versions, (in)compatibilites and licenses. The audience should have a basic understanding of graph databases and software dependency management to be able to follow the examples.

    See the video on Vimeo!

    Mehr lesen
  • Neo4j Data Modeling

    GOTO Berlin 2014 05. November 2014

    How do I start with Neo4j? What is Cypher? Are graph databases only suitable for graph-based domains like social networks? Or can I use it reasonably in enterprise projects? How do I transform my domain into a graph model?

    This tutorial will answer these questions with a mixture of theory and hands-on practice sessions. Attendees will quickly learn how easy it is to develop a Neo4j-backed application.

    Attendees won’t need any previous experience with Neo4j, NOSQL databases or specific development languages, but will need their own laptop.

    Mehr lesen

Inhalte

  • 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.

    Mehr lesen
  • 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.

    Mehr lesen
  • Scalable Software Systems

    Artikel 26. November 2014

    Scalability has long been one of the hallmarks of quality IT systems. When we hear this term we usually associate it with an upward scalability of the system. Generally, it seems to be about how much more throughput and load our system can sustain through additonal RAM, CPU or extra machines. Often, however, downwards scalability is just as interesting, that is, the behaviour of the system when only very few resources are available. Such flexibility is very useful, for instance, if a complex system has to go through a variety of differently sized development, test and acceptance environments before it is provisioned in the live system.

    Mehr lesen
  • Skalierbare Softwaresysteme

    Artikel 18. Mai 2014

    Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

    Mehr lesen
  • Graphdatenbanken

    Podcast-Folge 24. Januar 2014

    In der zehnten Folge unseres Podcasts spricht Oliver Tigges mit Stefan Tilkov über Graphdatenbanken, eine Unterklasse der NoSQL-Datenbanken. Oliver erklärt welche Eigenschaften graphbasierte Datenbanken haben und beschreibt Szenarien in denen ihr Einsatz gegenüber dem Einsatz von "klassischen" relationalen Datenbanken sinnvoll erscheint.

    Mehr lesen