Zum Inhalt springen

Microservices extrahieren. Service für Service.

Ihr wisst, welche Domains raus müssen, aber der erste Schnitt fehlt. Jardis generiert die Zielarchitektur und die API Contracts für jeden Service, bevor ihr eine Zeile migriert.

Der Monolith ist analysiert. Und jetzt?

Die meisten Extraktionen scheitern nicht an der Analyse, sondern an der Umsetzung. Zwischen 'wir wissen welche Services wir brauchen' und 'der erste Service läuft' liegen Monate.

Kein definierter Zielzustand pro Service

Die Domain-Analyse steht auf dem Whiteboard. Aber welche Entities gehören in welchen Service? Wie sieht die interne Architektur aus? Ohne Zielstruktur baut jedes Team seinen Service anders auf.

Die Kommunikation zwischen alt und neu ist unklar

Der extrahierte Service braucht Daten vom Monolithen. Aber wie? Synchrone REST-Calls, Events, Shared Database? Ohne definierte Contracts wird die Schnittstelle zum Flaschenhals.

Wochen Boilerplate pro Service

Jeder extrahierte Service braucht Entities, Repositories, Command Handler, Query Handler, Event Publishing, API-Endpunkte. Manuell aufsetzen dauert Wochen. Bei zehn Services sind das Monate reiner Infrastruktur-Arbeit.

Wie Jardis Microservices-Extraktion konkret funktioniert.

Drei Schritte: Domain definieren, Builder starten, Business-Logik migrieren. Für jeden Service einzeln.

SCHRITT 1: DEFINIEREN

Schema und Aggregates pro Service festlegen

Ihr definiert das Datenbankschema und die Aggregate-Struktur für den zu extrahierenden Service. Der Builder importiert euer bestehendes Schema als Ausgangspunkt. Ihr entscheidet, welche Tabellen und Entities in den neuen Service wandern.

SCHRITT 2: GENERIEREN

Zielarchitektur und API Contracts vom Builder

Jardis generiert die komplette Zielstruktur: 3-Layer Entities, CQRS mit Commands und Queries, Domain Events, die Repository Pipeline und API Contracts in OpenAPI und gRPC. Der Contract definiert exakt, wie Monolith und neuer Service kommunizieren.

SCHRITT 3: MIGRIEREN

Business-Logik in die generierte Struktur verschieben

Die Infrastruktur steht. Euer Team verschiebt die fachliche Logik aus dem Monolithen in die generierten Commands, Queries und Event Handler. Der Monolith ruft den neuen Service über den generierten Contract auf. Nächster Service: zurück zu Schritt 1.

Sieh selbst, was aus drei Dateien entsteht.

Drei Definitionsdateien rein, ein kompletter Bounded Context raus. Klick dich durch den generierten Code.

E-Commerce / Sales
schema.yaml
# Database Schema — Sales Bounded Context
# This file defines the persistent storage structure.

schema:
  domain: ECommerce
  boundedContext: Sales

tables:
  order:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      public_id:
        type: uuid7
        unique: true
      customer_email:
        type: string
        length: 255
      status:
        type: string
        length: 32
        default: "draft"
      total_amount:
        type: integer
      currency:
        type: string
        length: 3
        default: "EUR"
      created_at:
        type: datetime
      updated_at:
        type: datetime
        nullable: true

  order_item:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      order_id:
        type: integer
        foreignKey:
          table: order
          column: id
          onDelete: cascade
      product_name:
        type: string
        length: 255
      sku:
        type: string
        length: 64
      quantity:
        type: integer
      unit_price:
        type: integer
      line_total:
        type: integer
Dateien
Definitions (Input)
Generated Code (Output)
PRO SERVICE
80%
Service-Infrastruktur generiertEntities, Commands, Queries, Events, API Contracts (OpenAPI + gRPC) und die Repository Pipeline. Pro Service, in Minuten.
3x
schnellere Service-Extraktion
0
undokumentierte Service-Schnittstellen
API CONTRACTS
100%
Contract-CoverageJeder extrahierte Service hat vollständige OpenAPI- und gRPC-Contracts. Die Kommunikation ist definiert bevor der Service live geht.

Warum Teams mit Jardis Services extrahieren.

Weil die Infrastruktur nicht der schwierige Teil sein sollte.

> Definierte Zielarchitektur

Jeder Service hat die gleiche Struktur

Hexagonale Architektur mit CQRS, Domain Events und Repository Pipeline. Generiert, nicht interpretiert. Das dritte extrahierte Service sieht genauso aus wie das erste.

> Wiederholbarer Prozess

Gleicher Workflow für jeden Service

Schema definieren, Builder starten, Business-Logik migrieren. Der Prozess ist identisch für Order, Payment, Shipping oder jede andere Domain. Kein Service ist ein Sonderfall.

> Contracts First

API-Schnittstelle steht vor dem Code

OpenAPI und gRPC Contracts werden zusammen mit dem Service generiert. Frontend, Monolith und andere Services wissen exakt, wie sie den neuen Service ansprechen. Keine Überraschungen beim Go-Live.

Bereit, den ersten Service aus eurem Monolithen zu lösen?

Auf die Waitlist

Struktur kostet weniger als Chaos.

Kostenloser Trial

Teste Jardis 7 Tage kostenlos

Lass Jardis an deiner echten Domäne los. Discovery, Struktur und dein erster Platform Build.

Join Waitlist
20 Discovery Runs
5 Structure Builds
1 Platform Build
Alle Jardis Packages als Open Source
Jardis Base
29 €pro Monat

Die komplette DDD-Architektur mit allen Klassen und Contracts. Dein Team schreibt Features, nicht Infrastruktur.

Join Waitlist
Unlimited Discovery Runs
Unlimited Structure Builds
Alle 26 Jardis Packages enthalten
PHPStan Level 8 von Anfang an
Jardis Pro
180 €pro Monat

Die komplette Business-Logik mit Handlern, Validierung und Pipelines. Was früher ein Sprint war, ist jetzt ein Build.

Join Waitlist
Alles aus Jardis Base
Commands, Queries, Events direkt implementiert
Platform Code in Sekunden statt Wochen
Weitere Runs für 89 € einzeln
Enterprise

Mehr als 20 Platform Builds pro Monat?

Lass uns sprechen

Sei dabei, wenn Jardis startet.

Trag dich ein. Du bekommst Zugang, sobald wir live gehen. Inklusive kostenlosem Trial.

100+ Entwickler warten bereits auf den Launch

Neugierig, wie Jardis funktioniert?

Jardis entdecken

Häufige Fragen

Antworten zur Microservices-Extraktion mit Jardis.

Den mit den klarsten Domain-Grenzen und dem höchsten Schmerzpotenzial. Jardis hilft bei der Zielstruktur, nicht bei der Domain-Analyse. Startet mit einem Bounded Context der wenige eingehende Abhängigkeiten hat, zum Beispiel Notifications oder Billing.