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.
pip install pusharyimport 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.
Baue es in dein Produkt ein. Deine Nutzer brauchen kein Pushary-Konto und zahlen nichts an uns.
Häufige Fragen
Antworten auf deine Fragen
Übersteht das Warten ein Deployment während einer Störung?
Kann die Anfrage einem Bereitschaftsplan folgen?
Wie vermeiden wir Anfragen für jede kleine Änderung?
Welche Nachweise können wir später vorlegen?
Menschliche Freigaben für weitere Produkte
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