Plugin alebo konfigurácia? Rozhodovací strom pre GLPI

Plugin alebo konfigurácia? Rozhodovací strom pre GLPI

IT manažér pošle RFP na plugin trom dodávateľom. Všetci traja nacenia. O šesť mesiacov je plugin dodaný — a pôvodný problém je stále tam. Reportingový modul, ktorý tím chcel, bol len polovica príbehu; to, čo naozaj potrebovali, bol iný strom kategórií a tri obchodné pravidlá. Pri spresňovaní zadania to nikto nepomenoval, lebo zadanie bolo nastavené ako technická špecifikácia, nie ako diagnóza.

Stáva sa to dosť často na to, aby sme pred nacenením akéhokoľvek kódu urobili triáž požiadavky. Trvá približne deň a zhruba v polovici prípadov sa končí vetou „plugin nie je potrebný“. Nasledujúce sekcie sú to, čo v tej diagnóze kontrolujeme.

Najlacnejšie riešenie, ktoré ste ešte neskúsili

Vstavané konfiguračné nástroje GLPI pokrývajú viac, než si väčšina administrátorov uvedomuje. Prejdite ich v tomto poradí, skôr než siahnete po kóde.

Obchodné pravidlá. Automaticky priraďovať tikety podľa skupiny žiadateľa, kľúčových slov v názve alebo zdroja. Meniť prioritu alebo kategóriu za behu. Pridávať sledovateľov, nastavovať termíny, aktualizovať vlastné pole. Helpdesk so 400 používateľmi, ktorý si myslí, že potrebuje „SLA plugin“, sa tam zvyčajne dostane s SLA na úrovni entity a tromi-štyrmi obchodnými pravidlami — práca na popoludnie, nie na štvrťrok.

Vlastné polia cez plugin Fields. Udržiavaný komunitou, pokrýva väčšinu požiadaviek typu „potrebujeme na každom tikete sledovať X“ — dropdowny, text, dátumy, áno/nie príznaky — na akomkoľvek type objektu.

Šablóny tiketov. Riadia, ktoré polia sú viditeľné, povinné alebo predvyplnené pre danú kategóriu. Ak pri polovici change tiketov chýba posúdenie rizika, odpoveď je šablóna s poľom „riziko“ ako povinným, nie nový workflow.

Šablóny notifikácií. Plné HTML, dosadzovanie premenných, pre konkrétny typ udalosti. Ak je požiadavka „chceme iný e-mail, keď sa vyrieši P1 incident“, toto je miesto, kde žije.

Ak požiadavka sedí do jedného z týchto tvarov, vyhráva konfigurácia. Prežije upgrady s minimálnym úsilím a nevytvorí dlhodobú závislosť údržby na jednom konkrétnom vývojárovi.

Kedy skutočne potrebujete plugin

Existujú tri tvary problémov, kde GLPI reálne nestačí a plugin je správna odpoveď.

Nové typy objektov. Odvetvovo špecifické veci, pre ktoré GLPI nemá primitívum: registre zdravotníckych zariadení s regulačnými poľami, vozidlá s kilometrovníkom a servisnými intervalmi, objekty facility managementu naviazané na plány poschodí. Legitímne prípady pre plugin — potrebujete nové databázové tabuľky, nové formuláre, nové reporty.

Integračné endpointy. Obojsmerná synchronizácia so SAP-om, proprietárnym HR systémom, CMDB, ktorá nie je natívna pre GLPI. GLPI má REST API, ale lepidlo — mapovanie, ošetrenie chýb, retry logika, plánovanie — žije v plugine.

Workflow engines nad rámec obchodných pravidiel. Tu robí najviac tímov zlé rozhodnutie. Obchodné pravidlá zvládajú jednostupňovú automatizáciu. Akonáhle potrebujete viacstupňové schvaľovacie reťazce, podmienené vetvenie, závislosti úloh medzi aktérmi — čokoľvek v štýle „ak je zmena stredne riziková, smeruj do CAB, inak auto-approve“ — prerástli ste ich.

Chyba je objednať si na to vlastný workflow plugin. Videli sme to u viacerých klientov. Každý z nich trval tri až štyri mesiace, každý stál viac než pôvodný odhad, a žiaden neprežil GLPI major upgrade bez ďalšieho kola platenej práce. Preto sme vyvinuli Cascade: viacstupňové schvaľovanie, podmienené vetvenie, reťazce úloh. Cascade udržiavame my naprieč verziami GLPI, takže údržbu cez upgrady rieši jeden tím, nie každý klient zvlášť.

Všeobecné pravidlo: ak existujúci plugin pokrýva 80% vašej workflow potreby, použite ho a zvyšných 20% dohodnite ako customizáciu — nie ako nový build.

Tri náklady, ktoré nikto nenaceňuje

Vývojárske hodiny sa odhadujú ľahko. Skutočné náklady sú tie, ktoré sa na faktúre neobjavia.

1 · Príprava zadania. Použiteľné zadanie pluginu vyžaduje týždeň alebo dva niekoho času — rozhovory s používateľmi, prechod existujúcich tiketov, rozhodnutia o hraničných prípadoch. Ak to neurobí dodávateľ, robíte to vy. Ak to neurobí nikto, plugin sa postaví proti zlému čítaniu problému a po dodaní sa musí prerábať.

2 · Rozbitie pri major upgrade. GLPI vydáva major verziu približne každé dva roky. Interné API sa mení. Databázová schéma sa vyvíja. Frontend rendering sa posúva. Akýkoľvek plugin, ktorý siaha do netriviálnych vnútorností, si vyžaduje údržbu na každé vydanie — typicky 10 až 30% pôvodnej ceny buildu. Ak tieto náklady nikto nevlastní, plugin zmrzne na starej verzii GLPI, čo znamená, že buď prídete o bezpečnostné záplaty, alebo beháte paralelné inštancie.

3 · Prenos znalostí. Plugin objednaný od jedného vývojára umiera, keď ten vývojár odíde. Repozitár leží nedotknutý, kým sa niečo nerozbije. O šesť mesiacov nikto z aktuálneho tímu nevie prečítať kód — a ktorýkoľvek nový dodávateľ nacení „prepis“, lebo je to lacnejšie než archeológia. Plugin z aktívne udržiavaného kódu (komunitného alebo komerčného) tomuto predchádza úplne.

Ako vyhodnotiť dodávateľa pluginov

Či už práca pôjde nám, inému slovenskému shopu alebo komunite, tieto otázky oddelia dodávateľov, ktorí chápu model údržby, od tých, ktorí len build-and-run.

  • Udržiavate ešte pluginy, ktoré ste postavili pred tromi rokmi? Viete ukázať taký, ktorý bol aktualizovaný pre aktuálne vydanie GLPI?
  • Dostanem repozitár, alebo kód beží niekde, kam stratím prístup, ak s vami prestaneme spolupracovať?
  • Ak už máme plugin od predchádzajúceho dodávateľa, viete ho opraviť — alebo váš proces vyžaduje stavbu odznova?
  • Aký je váš track record cez posledné dva GLPI major upgrady? Koľko vašich pluginov potrebovalo prácu a ako dlho trvala?

Rozumné odpovede na tieto otázky stoja viac na hodinu než u dodávateľov, ktorí na ne odpovedať nevedia. To je poantou.

Rozhodnutie v praxi

Najlepšie GLPI nasadenia, ktoré vidíme, bežia s tromi až piatimi pluginmi, všetky aktívne udržiavané, väčšina z komunity. Najhoršie bežia s pätnástimi, polovica rozbitá alebo zamknutá na verzii GLPI spred dvoch rokov. Otázka nie je „dá sa to postaviť?“ — väčšina vecí sa dá. Je to „bude to ešte fungovať, keď príde GLPI 12?“

Začnite konfiguráciou. Používajte existujúce pluginy tam, kde pokrývajú potrebu. Nový vývoj objednávajte iba na tie tvary, ktoré to skutočne vyžadujú, a iba od dodávateľov, ktorí to budú o tri roky stále udržiavať.

Potrebujete pomôcť s touto témou?

Kontakt