it-bransjen
Datakaos ga SAP problemer med kritisk oppgave: Vi var avhengig av CSV-fil sendt på e-post
SAP har eksistert i 47 år, og har i løpet av den perioden kjøpt opp 44 underselskaper. Det gir utfordringer med datakvaliteten.
Hvis man – som programvaregiganten SAP – selger produkter som kan brukes både sivilt og militært, må man kunne dokumentere at man ikke selger til land eller bedrifter som er svartelistede eller sanksjonerte.
Dette krever et solid datafundament. Men hvis man – som SAP – opererer i 70 land, eier 44 underselskaper og har eksistert i 47 år, er det en utfordring.
– Hvis det kommer nye sanksjoner, må du adlyde med én gang, forklarer Thomas Falk, som er senior IT-konsulent hos SAP.
– Du må kunne identifisere ikke bare skallselskaper, men også forbindelser mellom selskaper slik at du sørger for at du ikke selger til en venn av en venn som er svartelistet.
For å komme dit – og ikke vekke vreden til det amerikanske justisdepartementet – må SAP kunne skanne salgsdokumenter fra selve selskapet og 44 oppkjøpte bedrifter. Og i tillegg må de behandle disse dataene innen rimelig tid. Dette skaper problemer.
– SAP har et produkt til denne oppgaven. Export Control er en eksisterende løsning, som SAP selger, og som virker godt når den fôres med data av høy kvalitet, forklarer Thomas Falk.
– Men den endte med å krasje serverne våre på grunn av antallet datakilder og det datavolumet vi hadde. Et av hovedproblemene var dårlig datakvalitet. Et annet problem var at alle de database-foreninger (joins) som operasjonen krever i en relasjonal database, brukte så mye minne.
CSV-fil på e-post
Thomas Falk fikk som oppgave å finne en løsning for SAP. Og det første skrittet var å se på data-prosessen bak.
– Data om svartelistede bedrifter var noe som vi kjøpte av en data-megler. De sendte disse dataene i en CSV-fil i en e-post til en medarbeider, forklarer Thomas Falk.
– Det er helt bokstavelig en mann som er ansvarlig for å ta imot den e-posten og laste opp data til systemet. Hele eksport control-oppgaven avhenger av disse dataene, og hele selskapet er avhengig av eksport control for å ha samsvar. I den prosessen ligger det veldig mange muligheter for å feile.
Thomas Falk fant ut at de samme dataene kunne hentes gratis fra de ulike regjeringenes API-er.
– Hvis vi tar data fra eksterne API-er etter behov, har vi en mye mer smidig prosess.
Hviskelek
Thomas Falk anbefaler generelt at man fokuserer på prosessene som gir de dårlige dataene.
– Jeg har fått rykte på meg for å skyte ned folk når de ber meg om å løse noe med AI og maskinlæring, forklarer han.
– Men det spørsmålet man alltid skal stille seg selv, er: Er dette et problem som vi er nødt til å løse med ML, eller er det noe som kan bli løst med bedre engineering?
Det er et spørsmål som godt kan såre stoltheten til ingeniørene, innrømmer Thomas Falk. Men det var nettopp dette som førte til SAPs problemer med Export Control.
– Problemet var at det ikke er noen validering av formatet til de input-dataene som fôret systemet. Det innebærer at en selger som avslutter en handel, kan taste inn emojier i tekstfeltene. Og når vi prøver å prosessere de dataene, bryter det sammen, sier Thomas Falk.
– Folk spør meg om vi må ha maskinlæring for å rense de dataene. Men min første tanke er å sette validering på tekstfeltet. La oss først hindre nye dårlige data i å komme inn, og så kan vi begynne å se på de eksisterende dataene.
Thomas Falk sammenligner data-prosessen med en hviskelek hvor personer i en rekke hvisker en setning videre til den neste i rekken.
– Til slutt har budskapet blitt noe helt annet. Det er ikke bare en barnelek. Dette skjer i bedrifter. Det koster tid, og det skaper irritasjon hos kunder. Forestill deg nå den prosessen over 47 år på et globalt plan – det gir veldig mange dårlige data.
Graph-databasen
Til oppgaven med å luke ut de uønskede kundene, selv i andre eller tredje ledd, kom Thomas Falk fram til at den riktige løsningen lå i Graph-databasen.
– Hvis du kommer over et nettverksproblem, er en Graph ofte det beste. Det er mulig at det bare bringer deg 90 prosent av veien, og andre ting må legges til, men ideen er at man skal finne den tyngste delen av problemet og finne teknologien å bygge det på. Jeg identifiserte at Graph var en stor del av den opprinnelige løsningen, men vi trengte fremdeles en SQL-database, forteller Thomas Falk.
Overveielsene fikk ham til å ta kontakt med den danske oppstartsbedriften Cluedin. Cluedin står bak en løsning som fungerer som et abstraksjonslag oppå fem forskjellige database-typer, blant annet Graph. Brukeren kan dra nytte av styrken til de forskjellige databasene uten å bekymre seg om blant annet de forskjellige query-spåkene.
En annen funksjon i plattformen er scoring av datakvalitet. Og det passet perfekt til Thomas Falks interne utfordringer.
– Jeg fikk vite av alle medvirkende og interessenter at dataene våre er gode. Men når jeg gikk gjennom tabellene, kunne jeg se veldig merkelige ting, forklarer han:
– Jeg ringte til VP-en, som benektet at dataene var dårlige, og jeg hadde egentlig ingen gode argumenter. Jeg kunne vise til stikkprøvene mine, men det beviste ingenting. Det var virkelig interessant å få Cluedin til å komme inn og vise det, for det stoppet hele diskusjonen og sendte ballen til forretningen.
Use cases stiller seg i kø
Forretningen var ikke veldig begeistret over at de kunne komme til å måtte påta seg en stor dataopprydning. Men på dette tidspunktet hadde Cluedin kjørt den første av to offline Proof of Concept hos SAP, og ledelsen hadde fått øynene opp for potensialet i prosjektet.
– Vi var i stand til å vise at dette var en verdifull løsning. Og for første gang hadde vi sterke KPI-er for datakvalitet og staleness («dårlige data»), noe som gjorde at vi kunne dokumentere for forretningen at dette er noe som kan hjelpe dem, forteller Thomas Falk, som nevner innblanding fra ledelsen som den største utfordringen i prosjektet.
– Det er spesielt vanskelig i en bedrift som vår, som utvikler programvare og virkelig tror på ideen om dogfooding – «hvis det er godt nok for kunden, er det godt nok for oss». Å analysere en prosess som har eksistert i årevis, og så si at jeg gjerne vil ha noe utenfra – det var det største hinderet.
SAP er fortsatt i gang med å implementere løsningen fra Cluedin.
– Vi har nettopp kommet til det punktet hvor vi har lansert det i Kubernetes, og nå går vi i gang med å koble til flere systemer, sier Thomas Falk.
Samtidig begynner det å dukke opp nye use cases.
– Hvis du gir folk en løsning som gjør livene deres lettere, stiller de seg i kø ved døra. Vi har allerede fem-seks use cases som jeg har måttet droppe, fordi dette ikke skal prioriteres ennå.
Saken ble først publisert på danske Datatech, og gjøres tilgjengelig på norsk for abonnenter av Digi Ekstra gjennom vår samarbeidsavtale med Teknologiens mediehus/Ingeniøren.