Nehmen neue Projekte an · ausschließlich aus erfahrenen Mitarbeitern bestehendes Team · Remote-First PWN-ALL · Studio für kundenspezifische Software

Software in Rust und Python das länger Bestand hat das Team, das es veröffentlicht hat.

Wir sind ein Studio, das ausschließlich aus erfahrenen Entwicklern besteht und bewusst Software in zwei Sprachen entwickelt: Rust, wo Fehler teuer sind, und Python, wo Verzögerungen bei der Auslieferung teuer sind.

Durchschnittliche Verbesserung p99 über 40 Migrationen
Speicherreduzierung 0 im Vergleich zu JVM-/Node-Baselines
Dienste in Produktion 0 seit 2024
Behandelte Sicherheitsvorfälle 0 in unserer gesamten Geschichte
Teams, die unserem Code vertrauen
01 Zwei Sprachen. Nicht fünf.

Ein Stack, bewusst ausgewählt.

Mehrsprachige Agenturen klingen in einer Präsentation toll. In der Praxis bedeuten sie drei Build-Systeme, vier Varianten von Null und einen Friedhof halb gepflegter Dienste. Wir haben zwei Sprachen ausgewählt, die 95 % der realen Arbeitslasten abdecken – und wir sind in beiden sehr, sehr gut geworden.

Hot Path · Systeme · Sicherheit

Rost

9,6 Interner Anpassungswert

Speichersicher ohne Garbage Collector. Frei von Datenkonflikten bereits zur Kompilierungszeit. Der strengste Code-Reviewer, den du je haben wirst – und sobald er dich durchlässt, weckt dich dein Dienst sonntags nicht mehr auf.

Wenn wir danach greifen

  • Zahlungswege und alles, was mit Geld oder personenbezogenen Daten zu tun hat
  • Hochverfügbare API-Gateways mit 99,999 %-SLA
  • Matching-Engines mit geringer Latenz, Handel, Echtzeit
  • An den Browser gelieferte WebAssembly-Module
  • CLI-Tools und Daemons, die innerhalb von Millisekunden starten müssen

Kompromisse, die wir nicht ignorieren

  • Einarbeitung neuer Mitarbeiter: ~2–4 Wochen bis zur Produktivität
  • Kompilierungszeiten in großen Arbeitsbereichen (wir beheben das mit sccache)
  • Jüngeres Ökosystem als Java – ausgereift, wo es darauf ankommt
Klebestoff · Daten · ML · Geschwindigkeit

Python

9,3 Interner Anpassungsindex

Der schnellste Weg vom Whiteboard zum funktionierenden System. Das reichhaltigste Ökosystem der Welt für Daten, ML und Automatisierung. Modernes Python – 3.12, uv, ruff, pydantic, FastAPI – ist eine präzise, typisierte und schnell genug Sprache für fast alles, was du brauchst.

Wenn wir danach greifen

  • Interne Tools, Dashboards, Admin-Panels
  • ETL, Datenpipelines, Airflow / Dagster / Prefect
  • ML – Training, Bereitstellung, Auswertung
  • Automatisierungen und Integrationen mit Anbieter-APIs
  • MVP, die noch in diesem Quartal, nicht erst nächstes Jahr, auf den Markt kommen

Kompromisse, die wir nicht ignorieren

  • Der Single-Core-Durchsatz ist 20–50-mal langsamer als bei Rust
  • Höherer Speicherbedarf pro Anfrage – für manche Workloads fatal
  • Dynamische Typisierung ist ohne striktes mypy / pydantic problematisch
Rust, wo Fehler teuer sind. Python, wo langsame Auslieferung teuer ist. Ein Team. Null Dogma.
02 Die Zahlen, nicht die Stimmung

Rust & Python vs. die üblichen Verdächtigen.

Tippen Sie auf eine Metrik, um zu sehen, wo jede Sprache landet. Die Bewertungen liegen zwischen 0 und 10 und wurden aus unseren eigenen Benchmarks sowie öffentlichen Quellen (Techempower R22, CLBG, von uns durchgeführte reale Migrationen) zusammengestellt.

Kriterium Rust Python Go C++ Java Node.js
Rohleistung (p99, Single-Core) 10 3 7 10 7 5
Speichersicherheit und Datenkonflikte 10 9 8 2 8 7
Zeit bis zum funktionsfähigen Prototyp 5 10 7 3 6 8
Breite des Ökosystems 8 10 7 9 10 9
Parallelität ohne Tränen 10 6 9 4 6 7
Betriebskosten pro Anfrage 10 5 8 9 5 6
Verfügbarkeit von erfahrenen Fachkräften 6 10 7 8 10 9
Wartbarkeit über 10 Jahre 10 8 8 5 8 5
03 Von → Nach

Was sich bei einer Migration ändert.

Wählen Sie eine Ausgangssprache. Beobachten Sie die Auswirkungen eines Wechsels zu Rust oder Python. Die Zahlen sind Mittelwerte aus unseren letzten 40 Migrationsprojekten, keine Marketing-Phrasen.

Derzeit auf

C / C++

Schnell, ja. Aber jeder Null-Zeiger ist ein potenzielles CVE, jeder Thread ist ein potenzieller Datenkonflikt, und Ihr Build-System ist jemandes Vollzeitjob.

Typische Probleme
  • CVE-Einträge zur Speichersicherheit
  • Undefiniertes Verhalten
  • Ausuferung des Build-Systems
Wechseln zu

Rust

Durchsatz ×6,4
Speicherbedarf −78 %
Laufzeitabstürze −99 %
Monatliche Rechenkosten −65 %

Am besten geeignet, wenn Sie derzeit mit Null-Pointer-Fehlern, Datenkonflikten oder Speicher leben, der grenzenlos wächst. Rust behält die Geschwindigkeit bei und beseitigt die Fallstricke.

Wechsel zu

Python

Entwicklungsgeschwindigkeit ×3,1
Zeilen Code −55 %
Zeit bis zur Veröffentlichung −60 %
Laufzeit-Overhead +40 %

Ideal, wenn die eigentlichen Kosten in der Entwicklungszeit liegen, nicht in der CPU. Tauschen Sie rohen Durchsatz gegen eine kürzere Feedback-Schleife, umfangreichere Bibliotheken und Code, den Menschen tatsächlich lesen können.

Wie wir diese Zahlen ermitteln

Mittelwerte aus 40 abgeschlossenen Migrationen zwischen 2023 und 2026. Der Durchsatz wurde auf der Anwendungsebene gemessen (End-to-End-p50 unter realistischer Last, keine Mikro-Benchmarks). Der Speicher ist RSS im stationären Zustand. Die Kosten beziehen sich auf monatliche On-Demand-Rechenleistung auf AWS/GCP, alle anderen Faktoren sind gleich. Individuelle Ergebnisse variieren – auf Anfrage veröffentlichen wir auch diejenigen, die nicht nach Plan verliefen.

04 Zahlen ohne Sternchen

Anfragen pro Sekunde unter realer Last.

Identische Arbeitslast – JSON-Validierung → Abfrage bei Postgres → Rendering – gemessen auf einem einzelnen AMD Ryzen 7-Rechner. Dies sind keine Mikrobenchmarks. Quelle & Methodik ↓

  1. 1 Rust · Axum
    21.030 Anfragen/s
  2. 2 C# .NET · ASP.NET Core
    14.707 Anfragen/Sek.
  3. 3 Node.js · Fastify
    9.340 Anfragen/Sek.
  4. 4 C++ · Drogon
    7.200 Anfragen/Sek.
  5. 5 Go · Gin
    3.546 Anfragen/Sek.
  6. 6 Python · FastAPI (Uvicorn)
    1.185 Anfragen/Sek.
  7. 7 PHP · Laravel
    299 Anfragen/Sek.

Verstehen Sie das richtig: Python befindet sich am unteren Ende dieser Grafik, und das ist in Ordnung. Wir führen FastAPI nicht auf dem Hot Path aus. Wir führen es dort aus, wo 1.185 Anfragen pro Sekunde bereits etwa das Zehnfache des tatsächlichen Bedarfs sind und Ingenieurstunden mehr wert sind als CPU-Zyklen. Methodik: AMD Ryzen 7, Linux, Docker, einzelne Instanz, ein gängiges Framework pro Sprache. Die Zahlen sind Durchschnittswerte aus mehreren Durchläufen.

05 Die tatsächlichen Kosten von fehlerhaftem Code

Was dich ein Ausfall tatsächlich kostet.

„Fünf Neuner“ ist kein Marketing. Nachfolgend finden Sie die Kosten einer Stunde ungeplanter Ausfallzeit, nach Branchen – mit Quellenangaben. Wir entwickeln Rust dort, wo diese Zahlen entstehen.

Seit dem Öffnen dieses Abschnitts angefallene Kosten
Finanzen / Gesundheitswesen 0 ~83.000 $/Min. · 5 Mio. $/Std.
Automobil 0 ~38.000 $/Min. · 2,3 Mio. $/Std.
Großunternehmen 0 23.750 $/Min. · 1,4 Mio. $/Std.
Mittelständisches Unternehmen 0 ~5.000 $/Min. · 300.000 $/Std.
Finanzwesen & Gesundheitswesen 5 Mio. $+ / Stunde

Die Branchen mit dem höchsten Risiko. Handelsplattformen, Abwicklungssysteme und klinische Systeme können bei einem schwerwiegenden Ausfall Kosten von über 5 Millionen $ pro Stunde verursachen – noch bevor Aufsichts- oder Prozesskosten hinzukommen.

Quelle: Gartner-Studie „Fortune 500“ 2024; ITIC „Stündliche Ausfallkosten“ 2024.
Automobilbau 2,3 Mio. $ / Stunde

Eine stillstehende Produktionslinie verursacht Kosten von etwa 640 $ pro Sekunde. Der Ausfall von CrowdStrike im Juli 2024 kostete allein Delta Air Lines in fünf Tagen 380 Mio. $.

Quelle: Erwood Group 2025, Aufschlüsselung nach Branchen; Antithesis CrowdStrike-Nachbetrachtung.
Großunternehmen (Durchschnitt) 1,4 Mio. $ / Stunde

BigPandas Zahlen für Großunternehmen aus dem Jahr 2024: 23.750 $ pro Minute. ITIC berichtet, dass 41 % der Großunternehmen zwischen 1 Mio. $ und 5 Mio. $ pro Stunde Ausfallzeit verlieren.

Quelle: BigPanda-Studie 2024; ITIC, 11. jährlicher Bericht zu den stündlichen Ausfallkosten.
Global 2000 (Oxford Economics) 400 Mrd. $ / Jahr

Gesamtkosten für versteckte Kosten durch ungeplante Ausfallzeiten bei den 2.000 größten Unternehmen weltweit, laut einer Studie von Oxford Economics aus dem Jahr 2024 – durchschnittlich 200 Mio. $ Auswirkungen pro Unternehmen, wenn Umsatz, Produktivität und Behebungsmaßnahmen zusammengezählt werden.

Quelle: Oxford Economics 2024, „The Hidden Costs of Downtime“.
Mittelständische und große Unternehmen (typische Stunde) 300.000 $+ / Stunde

ITIC-Umfrage 2024: Über 90 % der mittelständischen und großen Unternehmen schätzen die Kosten einer einzigen Stunde ungeplanter Ausfallzeit mittlerweile höher ein als diesen Mindestwert – ohne Berücksichtigung von rechtlichen, zivilrechtlichen oder behördlichen Strafen.

Quelle: ITIC-Bericht 2024 zu den stündlichen Kosten von Ausfallzeiten.
Kleine und mittelständische Unternehmen (KMU) 25.000–150.000 $ / Stunde

Die gemeinsame Studie von ITIC und Calyptix aus dem Jahr 2025 kommt zu dem Ergebnis, dass viele KMU pro Stunde diesen Betrag verlieren; Siemens berichtet, dass von Ausfällen betroffene KMU bis zu 150.000 $/Stunde verlieren können. Ein Ausfall dauert im Durchschnitt 87 Minuten.

Quelle: ITIC + Calyptix 2025; Siemens „True Cost of Downtime“ 2024.
06 Ausgewählte Projekte

Drei Projekte. Drei verschiedene Herausforderungen.

Anonymisiert, wo es die Vertraulichkeitsvereinbarung vorschreibt, konkret, wo es die Ergebnisse erfordern. Dies sind die Projekte, auf die wir einen technischen Einkäufer als Erstes hinweisen würden.

  1. Fall 01 Python Datenbank Kryptografie DSGVO

    Fintech-Daten-Vault: 4-mal kleiner, 5,5-mal schneller, weltweit konform.

    Der Kunde betrieb einen 1,8-TB-Postgres-Cluster, der mit veralteten Spalten, toten Indizes und inline-verschlüsselten BLOBs überladen war, die sich über sieben Jahre hinweg angesammelt hatten. Die Kryptografie lief auf einer veralteten Bibliothek, die in drei separaten Audits beanstandet worden war. Das regulatorische Risiko war real; die Prüfer waren auf der Lauer.

    Was wir getan haben

    • Vollständige Schema- und Nutzungsprüfung, Löschen nicht verwendeter Spalten und Indizes, Einführung einer geeigneten Partitionierung.
    • Migration der Krypto-Pipeline von einer veralteten Bibliothek zu einem modernen, geprüften AEAD-Stack mit rotierenden Schlüsseln.
    • Umstellung der BLOB-Inline-Verschlüsselung auf referenzierte Envelope-Verschlüsselung + dediziertes KMS.
    • Anpassung der Datenaufbewahrung und der Zugriffsabläufe an die DSGVO, den CCPA und das APPI.
    Ergebnis

    Gleiche Daten, ein Viertel der Speicherkosten, 5,5-mal so hoher Durchsatz und ein einwandfreier Gesundheitszustand für die nächste Aufsichtsbehörde, die an die Tür klopfte.

  2. Fall 02 Rust C++ → Rust Sicherheit Speicher

    C++-Dienst in Rust umgeschrieben: Über 100 CVE-Fehler in 9 Wochen behoben.

    Benutzerseitiger Dateiverarbeitungsdienst in C++, der alle 4–5 Tage abstürzte und jedes Mal vor Ort gepatcht wurde. Unser Audit deckte über 100 echte Fehler auf: Denial-of-Service- Pfade, Pufferüberläufe, unbegrenzte Anforderungsverarbeitung. 503-Fehler zu Spitzenzeiten waren ein wöchentliches Ritual. Auf der Speicherseite hatten sich Benutzer-Uploads zu einem Sumpf aus doppelten Dateien angesammelt, die den Bucket auffraßen.

    Was wir getan haben

    • Komplette Neuprogrammierung in Rust (axum + tokio) mit strenger Eingabevalidierung und begrenzten Ressourcenlimits.
    • Eigenschaftsbasierte Tests + Cargo-Fuzz über jeden Parser und jede Wire-Format-Grenze.
    • Inhaltsadressierte Speicherschicht mit Deduplizierung zum Zeitpunkt des Schreibvorgangs.
    • Blue-Green-Rollout innerhalb eines 4-stündigen Integrationsfensters, keine Ausfallzeiten.
    Ergebnis

    Der Service entwickelte sich von „instabil und wöchentlich geflickt“ zu „wir haben aufgehört, auf den Pager zu schauen“. Die Speicherkosten sanken dank Deduplizierung, Support-Tickets zu Fehlern und 503-Fehlern versiegten, und die Neuprogrammierung hat sich innerhalb des Quartals amortisiert.

  3. Fall 03 Rust Python eBPF / XDP CRM · 4.000 Benutzer

    Enterprise-CRM, neu aufgebaut: 18 Server → 5, Kostenreduktion um über 60 %.

    Internes CRM für über 4.000 Nutzer in den Bereichen IAM, SOC, zentralisierte Protokollierung, Chat, Dateifreigabe, VoIP und durchgängig verschlüsselte Daten. Achtzehn Server, Cloudflare dazu und eine Cloud-Rechnung, die unabhängig von der Mitarbeiterzahl immer weiter wuchs. Wir haben den Hot Path in Rust neu entwickelt, Python auf der Integrations- und Berichtsebene beibehalten und einen eBPF/XDP-Filter direkt vor dem Ingress platziert.

    Was wir getan haben

    • Rust-Dienste für Authentifizierung (IAM), Echtzeit-Messaging, VoIP-Signalisierung und Dateiübertragung.
    • Python für Admin-Oberflächen, Berichterstellung, SOC-Ereigniskorrelation, Integration mit Anbieter-APIs.
    • eBPF/XDP-Bot- und Missbrauchsfilterung im Kernel – Cloudflare wurde für diese Arbeitslast ersetzt.
    • Strukturierte Logging-Pipeline, neu geschrieben nach einem Zero-Copy-Schema.
    Ergebnis

    Dreizehn Server weniger, keine Cloudflare-Posten mehr, das SOC-Team sieht klarere Signale durch die Logging-Pipeline, und der CFO stellte keine unangenehmen Fragen mehr zum Infrastruktur-Budget.

07 Wie wir tatsächlich arbeiten

Drehen Sie an den Reglern. Beobachten Sie, wie sich der Plan ändert.

Jedes Projekt bringt Geschwindigkeit, Kosten und Zuverlässigkeit in Einklang. Die untenstehende fünfstufige Schätzung ist an den Medianwerten der Branche ausgerichtet (Erkundung 2–6 Wochen, Architektur 1–4 Wochen, Implementierung 4–20 Wochen, Absicherung 2–8 Wochen, Übergabe 1–2 Wochen – laut Berichte von NIX United, Agilie, SOLTECH und OTG Lab für 2024–2026). Bewegen Sie die Schieberegler; der Plan wird live neu gewichtet.

01

Erkundung

3 Wochen

Lies deinen Code, befrage deine Ops, liste die Unbekannten auf, wähle die Sprache pro Komponente aus.

  • Domänen-Interviews & Code-Audit
  • Risikoregister & SLA-Ziele
  • Entscheidung zur Programmiersprache pro Dienst
02

Architektur

2 Wochen

Verträge vor dem Code. OpenAPI / Protobuf, Datenmodelle, Deployment-Topologie, Runbook-Skelette.

  • RFCs für jeden öffentlichen Auftrag
  • Datenmodell + Migrationsplan
  • Infra-as-Code-Baseline
03

Implementierung

8 Wochen

Kleine PRs, CI-grün vom ersten Tag an, Deployment bei jedem Merge, Überprüfung durch einen zweiten Senior.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Wöchentliche Demos + Changelog
04

Sicherheitsoptimierung

3 Wochen

Fuzzing, eigenschaftsbasierte Tests, Lasttests mit realistischem Datenverkehr, Bedrohungsmodell.

  • cargo-fuzz · proptest · hypothesis
  • k6-Lasttests in Verbindung mit SLOs
  • Sicherheitsüberprüfung & Abhängigkeitsaudit
05

Übergabe

1 Woche

Runbooks, Bereitschaftsrotation, ADRs und ein Team, das dies bereits einmal umgesetzt hat.

  • Runbooks + Bereitschaftsplan
  • ADR-Protokoll & Architekturdiagramme
  • 30 Tage Support nach dem Start
08 Dasselbe Problem, zwei Sprachen

So sieht derselbe Endpunkt in jeder Sprache aus.

Benutzer abrufen, Eingabe validieren, in Postgres speichern, JSON zurückgeben. Wechseln Sie zwischen den Sprachen – beides ist echter Code, den wir tatsächlich ausliefern würden.

SQL_CREATE_USER = "insert into users(email,name) values(lower($1),$2) returning id,email,name"
Name = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=120)]

class UserIn(BaseModel):
    email: EmailStr
    name: Name

class UserOut(UserIn):
    id: int

@router.post("/users", response_model=UserOut, status_code=201)
async def create_user(u: UserIn) -> UserOut:
    try:
        row = await pool.fetchrow(SQL_CREATE_USER, str(u.email), u.name)
   except UniqueViolationError as exc:
        raise HTTPException(status_code=409, detail="E-Mail-Adresse existiert bereits") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="Einfügen fehlgeschlagen")
    return UserOut.model_validate(dict(row))
#[derive(Deserialize, Validate)]
#[serde(deny_unknown_fields)]
pub struct UserIn {
    #[validate(email)]
    pub email: String,
    #[validate(custom(function = "valid_name"))]
    pub name: String,
}

pub async fn create_user(
    State(pool): State<PgPool>,
    ValidatedJson(u): ValidatedJson<UserIn>,
) -> Result<(StatusCode, Json<UserOut>), ApiError> {
   let user = sqlx::query_as!(UserOut,
        "insert into users(email,name) values(lower($1),$2) returning id,email,name",
        u.email.as_str(),
        u.name.trim(),
    )
    .fetch_one(&pool)
    .await
    .map_err(ApiError::from_db)?;

    Ok((StatusCode::CREATED, Json(user)))
}
Zeilen Code
16 22
Durchsatz
1.185 Anfragen/s 21.030 Anfragen/s
p50-Latenz
21,0 ms 1,6 ms
RAM im Leerlauf
41,2 MB 8,5 MB
Wir antworten innerhalb eines Werktags. Kein Scherz.

Sie haben die ganze Seite gelesen.
Lass uns das Projekt umsetzen.

Sag uns, was mit deinem Stack nicht stimmt oder was du von Grund auf neu entwickeln möchtest. Du erhältst eine echte technische Einschätzung – kein Verkaufsgespräch.

  • Keine Junior-Ingenieure. Kein Offshoring.
  • Festpreisoptionen für begrenzte Arbeitsumfänge.
  • Unterzeichnung einer Vertraulichkeitsvereinbarung, bevor wir Ihnen Fragen stellen.