Zum Hauptinhalt springen
Infrastruktur

Täglich gesichert, jeder Credit erklärt

· 3 Min. Lesezeit

Die Teile von PageToVid, die deine Arbeit schützen, siehst du nie, und genau so soll es sein. Am 22. September hat eine vollständige Durchsicht des Codes sie einzeln geprüft. Am Ende des Tages war deine Arbeit täglich gesichert, jeder Credit erklärt und jeder Fehler gemeldet.

Deine Filme, minutengenau wiederherstellbar

Dein Konto, deine Projekte, deine Storyboards und deine Credits liegen in einer einzigen Datenbank. Jedes Release kann deren Struktur ändern, denn unsere Container spielen beim Start das neueste Schema ein. Das hält Releases einfach und bedeutet, dass jedes Release auch eine Änderung an der Datenbank ist. Wir wollten, dass niemand je einen Tag Arbeit verlieren kann.

Die Datenbank hat deshalb jetzt:

  • tägliche automatische Backups, zwei Wochen lang aufbewahrt;
  • Wiederherstellung auf einen beliebigen Zeitpunkt, minutengenau innerhalb dieses Zeitraums;
  • Löschschutz, damit sie nicht versehentlich entfernt werden kann.

Vor dem Einschalten haben wir ein manuelles Backup gezogen und dann geprüft, dass das erste automatische Backup sauber durchlief. Und wir haben eine Gewohnheit von diesem Tag behalten: Vor jedem Release, das das Schema ändert, gibt es ein frisches Backup, und die Release-Notizen sagen es.

Jeder Credit hat einen Grund

Jede Credit-Bewegung hat zwei Hälften. Der Kontostand ändert sich in einem Schritt, danach hält eine Zeile im Kontobuch fest, warum: welcher Film, welcher Anlass, wie viel. Der Kontostand ist, was du ausgibst; das Kontobuch ist, was dir und uns hilft, ihn zu verstehen.

Diese Zeile wird jetzt mit derselben Sorgfalt geschrieben wie der Kontostand. Klappt es beim ersten Mal nicht, wird es nach einer kurzen Pause erneut versucht. Scheitert auch das, bekommen wir einen Fehler mit allem, was nötig ist, um die Zeile von Hand nachzutragen, sodass keine Bewegung je ohne Grund bleibt.

Nebenbei haben wir einen Index auf den Film gelegt, auf den sich jede Zeile bezieht. Das Status-Tool liest diese Zeilen bei jeder Abfrage, also ist auch die Frage, wie weit ein Render ist, schneller geworden.

Kontostände, die aufgehen

Ein Kontobuch ist nur so gut wie die Prüfung, die es liest. Also haben wir einen Abgleich ergänzt: Entspricht bei jedem Konto der Stand den Start-Credits plus der Summe aller erfassten Bewegungen? Jedes Konto, bei dem das nicht so wäre, würde sofort auftauchen, die größte Abweichung zuerst.

Die Prüfung berücksichtigt die Start-Credits, mit denen jedes neue Konto beginnt, und ein Test hält diesen Wert gleich dem Standardwert der Datenbank, damit beide nie still auseinanderlaufen. Beim ersten vollständigen Lauf stand dort null. Jeder Kontostand war durch seine Bewegungen erklärt, und eine Prüfung, die aus dem richtigen Grund null zeigt, ist die, der man vertrauen kann.

Fehler, die jemanden erreichen

Wenn in einem Render etwas schiefgeht, wollen wir es wissen, bevor du es uns sagen musst. Wir haben bewusst keinen weiteren Anbieter eingebunden. Eine kleine Funktion schreibt jetzt jeden Fehler als strukturierte Logzeile im Format, das die Fehlerberichterstattung von Google Cloud versteht: Schweregrad, Stacktrace, Dienst und Version, dazu der betroffene Film oder das Konto.

Die Plattform fasst Wiederholungen zusammen, zählt sie und kann uns alarmieren. Keine zusätzliche Bibliothek, kein zusätzlicher Schlüssel, nichts weiter zu pflegen. Angeschlossen ist sie an die äußere Fehlerbehandlung der Pipeline und an das Kontobuch, die beiden Stellen, an denen ein Fehler für dich am meisten zählt.

Tests, die dort laufen, wo es zählt

Die letzte Korrektur betraf unsere eigenen Prüfungen. Der Test für das Kontobuch brauchte einen vorhandenen Nutzer, und unsere automatische Testumgebung startet immer mit einer leeren Datenbank. Jetzt legt er sich einen eigenen, vorübergehenden Nutzer an, prüft an ihm alle Regeln rund um Credits und löscht ihn danach wieder. Die Regeln, die deinen Kontostand schützen, laufen jetzt bei jeder Änderung mit.

Nichts davon ändert, was du auf dem Bildschirm siehst, und genau darum geht es. Das sind die Netze unter dem Trapez:

  • prüfen, dass Backups existieren und das erste funktioniert hat;
  • Geld von zwei unabhängigen Seiten abgleichen;
  • sicherstellen, dass jeder Sicherheitstest wirklich läuft.

Wenn du mit unserer API baust, zeigt die Entwicklerdokumentation, wie Credits und Erstattungen im Status jedes Films erscheinen.

Sieh es auf deiner eigenen Website

Füge eine Seite ein und bekomme das vertonte Video, um das es in diesem Blog geht. Das erste ist kostenlos.

Erstes Video gratis · keine Kreditkarte · in Minuten fertig

← Alle Artikel