Plattform

Worauf es wirklich läuft.Alles, mit Namen.

Die meisten Plattformen sagen Ihnen das nicht. Wir möchten, dass Sie es wissen, denn jede Entscheidung unten hätten Sie selbst so treffen können, und eine Plattform, in die Sie nicht hineinsehen können, ist eine Plattform, der Sie glauben müssen.

Ihr Code

Wo er läuft und worin er steckt.

  • gVisor Ein Kernel im Benutzerbereich zwischen Ihrem Container und der Maschine. Ihre Systemaufrufe beantwortet er, nicht der Wirt.
  • Kata Containers Die stärkere Variante: eine echte virtuelle Maschine mit eigenem Kernel, für Lasten, deren Grenze die Hardware ziehen soll.
  • BuildKit, rootless Builds laufen ohne Root, auf Maschinen, die nur dafür da sind. Ein Build, der einen Knoten frisst, kann keinen laufenden Dienst mitnehmen.

Orchestrierung

Der Teil, der entscheidet, was wo läuft.

  • Kubernetes Ein Cluster je Region. Sie sehen es nie, konfigurieren es nie, und niemand verlangt von Ihnen, es zu verstehen.
  • A purpose-built operator Drumlins eigener Controller macht aus einem Dienst Pods, Richtlinien und Routen. Keine Helm-Charts, die Sie pflegen müssen.
  • Talos Linux Ein unveränderliches, über eine API gesteuertes Betriebssystem auf jedem Knoten. Es gibt kein SSH auf diese Maschinen, weil es dort keine Shell gibt.

Netzwerk

Wie eine Anfrage Ihre Anwendung erreicht, und was sie nicht erreicht.

  • Cilium Netzwerk über eBPF. Richtlinien gelten im Datenpfad des Kernels, wo eine Last keinen Weg daran vorbei hat.
  • Envoy Gateway Der gemeinsame Eingang, konfiguriert über die Kubernetes Gateway API. Eine Adresse, viele Hostnamen, TLS je Name beendet.
  • cert-manager, Let’s Encrypt Zertifikate werden ausgestellt und verlängert, ohne dass jemand daran denken muss.
  • Network policies, per environment Produktion erreicht die Testumgebung nicht. Ein anderer Mandant erreicht keine von beiden. Diese Regel sitzt im Datenpfad, also muss sich nichts daran erinnern, sie zu befolgen.

Daten

Wo Ihr Zustand liegt.

  • PostgreSQL 17, CloudNativePG Verwaltete Datenbanken, bei der Anlage dimensioniert, mit laufender Archivierung des Write-Ahead-Logs.
  • Point-in-time recovery Wiederherstellung auf einen Zeitpunkt statt auf den Abzug von letzter Nacht.
  • Off-site archives Verschlüsselt, in einem zweiten Rechenzentrum, damit der Ausfall eines Standorts nicht die Sicherungen mitnimmt. Wir haben diese Wiederherstellung durchgeführt und die Dauer gemessen.
  • Persistent volumes, copied off the machine Speicher, der eine Bereitstellung überlebt, kopiert in dasselbe zweite Rechenzentrum und datiert. Zurückholen können Sie ihn selbst, aus jeder Kopie, ohne uns zu fragen.
  • Hourly metering Was jedes Konto belegt, zu jeder volle Stunde gelesen und notiert. Aus diesen Messwerten entsteht eine Rechnung im Monat, und die Messwerte bleiben erhalten, damit die Rechnung daran geprüft werden kann.

Geheimnisse

Wie das gehalten wird, was nicht nach außen darf.

  • OpenBao Transit Ein versiegelter Hauptschlüssel, der den Dienst nie verlässt. Er umhüllt die Datenschlüssel; die Steuerebene kann um das Entpacken eines Schlüssels bitten und den Hauptschlüssel nicht lesen.
  • Argon2id Passwörter, gehasht mit Parametern, die bei einer Anhebung im Hintergrund nachgezogen werden.
  • Sealed at rest Umgebungsvariablen, Verbindungsangaben und Zugangsdaten zu Anbietern sind mit Schlüsseln verschlüsselt, die die Datenbank allein nicht entschlüsseln kann.

Einblick

Wie Sie herausfinden, was passiert ist.

  • VictoriaLogs Jede Zeile, die Ihr Dienst schreibt, live und historisch, abfragbar nach Dienst und nach Build.
  • VictoriaMetrics Prozessor und Arbeitsspeicher je Instanz, in einer Auflösung, die eine Spitze sichtbar macht.
  • Vector Der Agent, der beides ausliefert, auf jedem Knoten.
  • An append-only activity log Wer was geändert hat, durch die Datenbank selbst erzwungen, mit den Handlungen unseres Personals im gleichen Protokoll.

Die Steuerebene

Der Teil, mit dem Sie sprechen.

  • Go Ein modularer Monolith, vier Programme aus einem Build. Kein eigenes Service-Mesh, das um drei Uhr nachts zu untersuchen wäre.
  • PostgreSQL, replicated Die Datenbank der Plattform läuft selbst als Cluster und wird wie die eines Kunden archiviert.
  • River Hintergrundarbeit wie Builds, Zertifikate und Benachrichtigungen, als dauerhafte Aufträge in derselben Datenbank, damit ein Neustart nichts verliert.
  • Ein OpenAPI-Dokument, aus dem Router erzeugt Kommandozeile, Oberfläche und Ihre eigenen Skripte sprechen mit derselben API, beschrieben von derselben Datei, und die kann nicht abweichen, weil sie niemand von Hand schreibt.

Region

Eine Region, und wir sagen, wo sie ist.

RegionNL01, Netherlands 1
ServerNiederlande
Betrieben ausDeutschland
Betrieben vonUns selbst, nicht weiterverkauft
SandboxgVisor als Vorgabe, Kata auf Anfrage
SicherungenLaufend, außer Haus archiviert

Heute läuft sie an einem einzigen Standort. Fällt dieser Standort aus, fällt die Plattform aus, und das schreiben wir lieber hier hin, als es später zu erklären. Weitere Regionen erscheinen auf dieser Seite, wenn es sie gibt, nicht vorher.

Das alles könnten Sie selbst bauen.Das ist ziemlich genau der Punkt.