Menselijke goedkeuring voor DevOps
Riskante wijzigingen wachten op de storingsdienst.
De verantwoordelijke engineer beslist op de telefoon voordat je agent de infrastructuur wijzigt.
Hoe krijgt een AI-DevOps-agent toestemming van de dienstdoende engineer?
Pushary vraagt de dienstdoende engineer op de telefoon om toestemming. Zet één aanroep vóór de migratie, herstart of capaciteitsverlaging. De engineer keurt goed of wijst af op het vergrendelscherm terwijl de agent wacht. Zonder tijdig antwoord gebeurt de wijziging niet. Elk besluit wordt met persoon en tijdstip bewaard voor de incidentanalyse.
Waar toestemming nodig is
Deze acties horen niet vanzelf te starten
- runMigration(name)
- Een migratie die lastig terug te draaien is verdient een controle, ook midden in de nacht. Een agent ziet die verantwoordelijkheid niet vanzelf.
- scaleDown(service, replicas)
- Capaciteit verlagen bij een verkeerd begrepen incident kan traagheid in volledige uitval veranderen.
- rotateSecret(name)
- Een sleutel vervangen kan alle diensten breken die nog de oude waarde gebruiken. Dat vraagt een afweging, geen simpele drempelwaarde.
- deleteResource(arn)
- Een schijnbaar ongebruikte resource kan nog cruciaal zijn. Automatisch opruimen mag die niet zomaar verwijderen.
- promoteToProduction(sha)
- Bij een uitrol merken echte gebruikers de fout. Daarvoor kunnen tests haar nog onderscheppen.
De code
Eén aanroep in je bestaande stap
Beveilig de actie, niet de hele agent. Veilige taken blijven doorgaan zonder iemand iets te vragen.
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)Wie beslist
Beslissen zonder achter een bureau te zitten
De dienstdoende engineer zit niet altijd achter een terminal. Een chatbericht werkt als die persoon het kanaal leest en meldingen aan heeft. Anders blijft de wijziging geblokkeerd terwijl het incident voortduurt. Pushary bereikt de telefoon via de gebruikers-ID uit je rooster.
We sturen goedkeuringen al naar Slack. Wat is anders?
Een bericht toont de vraag. Om je agent op een besluit te laten wachten heb je ook een bruikbaar antwoord, een deadline, bewaarde open aanvragen en een beslisgeschiedenis nodig. Bij alleen een chatbericht moet je die delen zelf bouwen. Dat is juist belangrijk wanneer je tijdens een storing een herstelupdate uitrolt. Pushary bewaart de aanvraag en stuurt het antwoord terug naar je code. Werkt je team in Slack, dan kan de vraag daar nog steeds aankomen. De antwoorden staan wel op één plek in plaats van verspreid door de kanaalgeschiedenis. Je eigen logica blijft bepalen welke acties toestemming vereisen.
Lees meer: Het SRE-boek van Google over releases en wijzigingsbeheer.
Bouw het in je product in. Je gebruikers hebben geen Pushary-account nodig en betalen ons niets.
Veelgestelde vragen
Antwoorden op je vragen
Overleeft het wachten een deployment?
Kan de vraag een dienstrooster volgen?
Hoe voorkomen we vragen over iedere kleine wijziging?
Wat kunnen we later aan een auditor geven?
Menselijke goedkeuring voor andere producten
Laat een mens beslissen waar dat nodig is.
Koppel elke gebruiker één keer. Stel je vraag met één aanroep en voer de actie alleen uit na een ja. Elk antwoord wordt opgeslagen.
Start free