Menschliche Freigaben für DevOps-Agenten

Riskante Änderungen warten auf den Bereitschaftsdienst.

Die zuständige Person entscheidet auf ihrem Handy, bevor dein Agent die Infrastruktur verändert.

Wie erhält ein KI-DevOps-Agent eine Freigabe vom Bereitschaftsdienst?

Pushary fragt den Bereitschaftsdienst auf dem Handy nach einer Freigabe. Setze einen Aufruf vor die Migration, den Neustart oder den Kapazitätsabbau. Die zuständige Person gibt auf dem Sperrbildschirm frei oder lehnt ab. Dein Agent wartet. Ohne rechtzeitige Antwort wird die Änderung nicht ausgeführt. Jede Entscheidung wird mit Person und Zeitpunkt für die spätere Auswertung gespeichert.

Was eine Freigabe braucht

Diese Aufrufe brauchen eine bewusste Entscheidung

runMigration(name)
Eine schwer rückgängig zu machende Migration rechtfertigt eine Rückfrage, auch nachts. Ein Agent erkennt diese Verantwortung nicht allein am Aufruf.
scaleDown(service, replicas)
Kapazität bei einer falsch verstandenen Störung abzubauen kann aus langsamen Antworten einen kompletten Ausfall machen.
rotateSecret(name)
Ein neuer Zugangsschlüssel kann alle Dienste stören, die noch den alten Wert zwischengespeichert haben. Dafür braucht es eine bewusste Abwägung.
deleteResource(arn)
Eine scheinbar ungenutzte Ressource kann weiterhin kritisch sein. Löschen sollte dann keine automatische Aufräumaktion sein.
promoteToProduction(sha)
Beim Deployment treffen Fehler echte Nutzer. Vorher kann noch die Testsuite eingreifen.

Der Code

Ein Aufruf im bestehenden Arbeitsschritt

Sichere die einzelne Aktion ab, nicht den ganzen Agenten. Unkritische Aufgaben laufen weiter, ohne jemanden zu fragen.

bash
pip install pushary
ein Aufruf
import os
from pushary import PusharyServer

px = PusharyServer(api_key=os.environ["PUSHARY_API_KEY"])

def remediate(incident, plan):
    # Read-only diagnosis and reversible fixes run unattended.
    if plan.reversible and plan.blast_radius == "single-pod":
        return apply(plan)

    decision = px.decisions.ask(
        external_id=incident.on_call_id,
        type="confirm",
        question=f"{plan.summary}\nBlast radius: {plan.blast_radius}. Reversible: {plan.reversible}.",
    )

    if not decision["approved"]:
        return page_secondary(incident, reason="human declined automated remediation")
    return apply(plan)

Wer entscheidet

Entscheiden, auch ohne am Schreibtisch zu sitzen

Es entscheidet die Person im Bereitschaftsdienst. Sie sitzt nicht ständig am Terminal. Eine Nachricht im Chat hilft nur, wenn sie den Kanal gerade verfolgt. Andernfalls bleibt die Änderung blockiert, während die Störung anhält. Pushary erreicht ihr Handy über die Nutzer-ID aus deinem Bereitschaftsplan.

Wir schicken Freigaben schon an Slack. Was ist anders?

Eine Chatnachricht zeigt eine Anfrage. Damit ein Agent zuverlässig auf eine Entscheidung wartet, braucht dein Code mehr: eine zurückgegebene Antwort, eine Frist, gespeicherte offene Anfragen und einen nachvollziehbaren Verlauf. Diese Teile musst du bei einer einfachen Slack-Nachricht selbst ergänzen. Besonders während einer Störung muss die Anfrage auch einen Neustart deines Dienstes überstehen. Pushary übernimmt die Zustellung und speichert Anfrage und Antwort. Nutzt dein Team Slack, kann die Anfrage weiterhin dort ankommen. Die Antworten werden trotzdem an einer Stelle gespeichert und an deinen Code zurückgegeben, statt nur im Kanalverlauf zu stehen.

Zum Weiterlesen: Googles SRE-Buch zu Release Engineering und Änderungsmanagement.

$99/ Monat, Partner-Tarif

Baue es in dein Produkt ein. Deine Nutzer brauchen kein Pushary-Konto und zahlen nichts an uns.

What the Partner plan covers

Häufige Fragen

Antworten auf deine Fragen

Übersteht das Warten ein Deployment während einer Störung?
Die Anfrage bleibt erhalten, der wartende Prozess nicht. Pushary speichert die offene Anfrage unabhängig von deinem Dienst. Sichere die Entscheidungs-ID. Nach dem Neustart kannst du den Ablauf über einen signierten Webhook oder durch Abfragen fortsetzen.
Kann die Anfrage einem Bereitschaftsplan folgen?
Ja. Dein Code bestimmt anhand des Plans die Nutzer-ID. Pushary erreicht diese Person. Antwortet sie nicht, bleibt die Änderung blockiert und dein Agent kann die nächste Person fragen.
Wie vermeiden wir Anfragen für jede kleine Änderung?
Entscheide nach Umkehrbarkeit und Auswirkung. Klar rückgängig zu machende Schritte können sofort laufen und danach geprüft werden. Schwer umkehrbare Schritte fragen vorher. Eine kurze Warteschlange wird sorgfältiger gelesen.
Welche Nachweise können wir später vorlegen?
Der gespeicherte Datensatz enthält die Frage, die sichtbaren Informationen, die Antwort, die Person und den Zeitpunkt. Er lässt sich abfragen und exportieren. Partner Launch speichert 90 Tage, Partner Growth 365 Tage. Eine Callback-URL erhält jede Antwort zusätzlich als signierten Webhook für dein eigenes Nachweissystem.

Lass Menschen entscheiden, wo es nötig ist.

Verbinde jeden Nutzer einmal. Frage mit einem Aufruf nach und führe die Aktion nur bei einem Ja aus. Jede Antwort wird gespeichert.

Start free