Produkto puslapis teigia, kad jame yra API, o integracijos susitikimas stringa ties antruoju klausimu. Kokia operacija, kuriam objektui, kas ją kviečia ir kas laikoma sėkme? Atsakius į šiuos keturis prieš lyginant produktus, paprastai atkrenta pusė kandidatų. Tai taip pat paverčia likusį palyginimą tuo, ką gali išspręsti testas.

Pakeiskite teiginį, kad yra API, viena operacija

API yra transportas, o ne galimybė. REST galinis taškas, vietinis lizdas ir komandinės eilutės apvalkalas visi gali būti vadinami API, tačiau jie nesiūlo lygiaverčių operacijų.

Užrašykite operaciją kaip sakinį prieš atverdami dokumentaciją.

Vietinio ryšio paleidimas yra kliento pusės veiksmas, prieš kurį stovi naudotojas. Įrenginio profilio išdavimas yra tiekimo veiksmas, už kurio stovi inventorius. Naudotojo prieigos išjungimas yra administracinis veiksmas su audito pėdsaku. Šie trys paprastai gyvena skirtinguose komponentuose, skirtingų komandų nuosavybėje ir su skirtingais įgaliojimais.

Keturi laukai, darantys sutartį tikrinamą

Užpildykite keturis laukus kiekvienai operacijai: objektą, veiksmą, kvietėją ir sėkmės sąlygą. Sutartis su trūkstamu lauku yra tik noras.

Lentelė yra visas darbalapis:

FieldQuestionExample
ObjectWhat is being acted on?One enrolled device
ActionObserve, create, change, start, stop, or revoke?Revoke
CallerWhich identity calls it?Deployment service
SuccessWhat observable state proves it?Future sign-in denied

Sėkmės sąlyga yra laukas, kurį žmonės praleidžia, ir būtent jis nusprendžia, ar integracija veikia. Išsaugotas nustatymas nėra aktyvus tunelis, o išjungta paskyra nėra pasibaigusi sesija.

Jei dviem operacijoms reikia skirtingų kvietėjų, tai dvi integracijos. Jų sujungimas į vieną paslaugos paskyrą paprastai reiškia daugiau įgaliojimų, nei reikia bet kuriai iš jų.

Suderinkite sąsają su tikruoju sluoksniu

OpenVPN bendruomenės valdymo sąsaja bendrauja su demonu per TCP arba Unix lizdą. Jos komandos apima būsenos stebėjimą ir signalus demonui.

Tai daro ją demono valdymo kanalu, o ne prieglobos prenumeratos API ar naudotojų registracijos paslauga. Kruopštus jos dokumentacijos skaitymas apsaugo nuo kūrimo ant sluoksnio, kuris neturi objekto.

Ta pati dokumentacija sako, kad protokolas neturi savo šifravimo. Kas pasiekia lizdą, tas gali valdyti demoną, todėl traktuokite jį kaip jautrų valdymą, o ne kaip metrikų srautą. Pririškite jį prie loopback arba Unix lizdo ir, jei to reikia nuotoliniam kvietėjui, padėkite už riboto sprendimo. Jo atvėrimas internetui dėl patogumo paverčia valdymo kanalą incidentu.

Nurodykite elgesį po iškvietimo

Priėmimas nėra tas pats, kas užbaigimas. Demonas gali grįžti anksčiau, nei tunelis pakils, todėl laukite dokumentuoto užbaigimo arba gedimo įvykio ir susiekite jį su išsiųsta užklausa.

Nuspręskite, ką kvietėjas daro, jei atsakymas pametamas. Aklai kartoti kūrimą ar prisijungimą iš naujo nėra tas pats, kas patikrinti, ar pirmoji užklausa jau paveikė.

Prieigos pašalinimas yra bent trys skirtingi veiksmai: blokuoti būsimą prisijungimą, nutraukti aktyvią sesiją ir atšaukti prisijungimo duomenis. Prašykite tų, kurių iš tikrųjų reikalauja politika, ir sutartyje pasakykite, kuri yra kuri. Nevadinkite vieno sėkmingo paskyros atnaujinimo visišku atšaukimu be įrodymų. Skirtumas svarbus incidento metu, kai laikrodis eina.

Patikrinkite sutartį pilotu

Mažas patvirtintas pilotas turėtų apimti sėkmę, atmetimą, pertraukimą ir pakartotinį bandymą, o paskui programos operaciją, kuri turi būti leidžiama arba draudžiama.

Demonų lygio sąsajai dvi komandos praktikuoja stebėjimą ir signalą:

echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505

Suteikite tik tuos įgaliojimus, kurių reikia operacijai. Laikykite paslaptis už įprastų žurnalų ribų ir registruokite pakankamai privačių detalių, kad galėtumėte pasakyti, kuris taikinys buvo paveiktas ir kaip tai baigėsi.

Užrašykite atkūrimo kelią tuo atveju, kai pati valdymo API neveikia. Rinkitės sąsają, kuri valdo objektą ir jo gyvavimo ciklą; automatizavimo teiginiai produkto puslapyje nėra pakaitalas.

Susiję straipsniai