Belső appok AI-jal · Lecke 06

Üzemeltetés, ami a képernyőn nem látszik

Egy app a képernyőn akkor is szépen működik, amikor a háttérben már rég baj van. Az üzemeltetés azoknak a dolgoknak a gondozása, amelyeket a felhasználó csak akkor vesz észre, amikor hiányoznak.

Vissza a tananyaghoz


A gyors siker ára

Sculley és társai a Google mérnökeiként 2015-ben arról írtak, hogy a gépi tanulási rendszerek gyors sikereinek rejtett, hosszú távú ára van. A technikai adósság fogalmával írták le, hogy valós rendszerekben gyakoriak a nagy, folyamatos karbantartási költségek, és ezek olyan helyekről jönnek, amelyeket senki nem tervezett. Ilyen a rendszereket összekötő ragasztókód, a nem dokumentált adatfüggőség és az a felhasználó, akiről a készítő nem is tud, mert csendben ráépült az eredményre.

Egy AI-jal épített belső app ugyanígy viselkedik. Az első verzió egy délután alatt elkészül, a negyedik hónapban viszont már valaki más tábláját is táplálja, két másik app olvassa az adatbázisát, és senki nem tudja, mi romlik el, ha a készítő átnevez egy oszlopot.


Felület, amit a felhasználó lát a felszín alatt Tárhely Jogosultság Hibakezelés Napló Mentés Költség céges vagy saját ki fér hozzá ki kap értesítést ki mit csinált visszaállítható ki fizeti
Az üzemeltetés hat területe. A felhasználó a felületet látja, a kockázat a felszín alatt gyűlik.

Hat kérdés az üzemeltetésről

Hat dolgot nézek meg minden belső appnál, mielőtt a csapat ráépül. Hol fut, és az a hely céges-e, vagy valakinek a saját előfizetése. Ki fér hozzá, és el lehet-e venni a hozzáférést attól, aki kilép. Mi történik hiba esetén, kap-e valaki értesítést, vagy az app csendben áll le. Naplózza-e, mit csinált, mikor és kinek a nevében. Van-e mentés, és próbálta-e már valaki visszaállítani. Végül mennyibe kerül havonta, és ki fizeti.

A csendes leállás a legdrágább hiba. Ha az app hibaüzenettel áll le, valaki szól. Csendes leállásnál viszont napokig, néha hetekig senki nem veszi észre, és közben a ráépülő munka elavult vagy hiányos adatból dolgozik.


Prototípus

  • A készítő gépén vagy saját fiókján fut
  • Mindenki mindent lát
  • Hiba esetén csendben leáll
  • Nincs mentés, nincs napló

Üzemeltetett app

  • Céges tárhelyen fut, céges számlával
  • Szerepkör szerinti hozzáférés
  • Hiba esetén értesítést küld a gazdának
  • Mentés és napló, kipróbált visszaállítással

Mikor kell leállítani

Az üzemeltetéshez az is hozzátartozik, hogy egy appot meg lehessen szüntetni. Öt jelet figyelek. A használat nem nő, hanem fogy. Mindig ugyanaz a néhány ember tartja életben. Minden méréskor odébb csúszik a haszon. Nő a kézi munka a rendszer körül. Senki nem tudja megmondani, ki a gazdája.

Egy miskolci építőipari cégnél három év alatt tizennégy belső eszköz gyűlt össze, ebből ötre már senkinek nem volt szüksége, mégis futottak, fizették a tárhelyüket, és kettő még mindig hozzáfért a bérszámfejtés adataihoz. A leállítás ugyanolyan döntés, mint az indítás, és az árva rendszer nem fejlődik, csak romlik.


Források és további olvasnivaló

Sculley, D. és társai, Hidden Technical Debt in Machine Learning Systems, Advances in Neural Information Processing Systems 28, 2015. Az öt leállítási jelről Mikor kell leállítani egy AI projektet című cikkemben írtam, a felügyelet rejtett idejéről pedig ebben az írásomban.


← Előző lecke Következő lecke →

Workshop

AI Transformation Day

Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, priorizált cselekvési lista.

Érdekel a program →