Jenner Professional Services

Migrering fra SAS til Jenner Analytics

Testcertificeret migrering til SAS-kodebaser i virksomhedsklasse

Jeres SAS-landskab virker. Tusindvis af programmer, makroer, formater og planlagte job er blevet finpudset gennem årene, og meget af det, de gør, er ikke dokumenteret andre steder end i koden selv. At flytte det til en ny platform, uanset hvor kompatibel den er, rummer én reel risiko: noget, der før var rigtigt, bliver nu subtilt forkert, og ingen opdager det, før det får betydning.

Jenner Professional Services fjerner den risiko med én enkel disciplin. Før vi ændrer noget som helst, opbygger vi en dækkende, eksekverbar registrering af, hvad jeres nuværende system gør. Derefter bruger vi den registrering til at bevise, test for test, at det migrerede system gør det samme.

Resultatet er en migrering, I kan godkende på beviser i stedet for tillid, og en regressionssuite, I beholder for altid.

Start med Discovery

Jenner er én vej, ikke den eneste

Vi er SAS-eksperter, hvilket vises af, at vi har bygget en fuldstændig implementering af det sprog og det system. Men at migrere dertil er kun én af de veje, I kan gå med os.

Vi kan bruge vores implementering af SAS-kompatibel kode og vores testdrevne arbejdsmetoder til at sikre en vellykket migrering til Python eller R, til Snowflake eller Databricks, eller til andre løsninger — også Siemens SLC.

Vi anbefaler migrering til Jenner, fordi den på én gang er hurtigere, mindre kompleks og billigere for virksomheder med en eksisterende SAS-infrastruktur.

Hvorfor kompatibilitet alene ikke er certificering

Jenner kører SAS-sproget, næsten alle procedurer, makrofaciliteten, grafik og et bredt udvalg af dataforbindelser. For størstedelen af koden handler migrering om at pege Jenner mod de samme programmer. Men en kodebase i virksomhedsklasse er aldrig kun sproget. Den er også alt det, sproget rører ved:

Miljø og konfiguration

autoexec.sas, konfigurationsfiler, systemindstillinger (ENCODING, LOCALE, YEARCUTOFF, VALIDVARNAME, FMTSEARCH, SASAUTOS), miljøvariabler, SYSPARM samt WORK-bibliotekets størrelse og levetid.

Hemmeligheder og legitimationsoplysninger

Adgangskoder indlejret i LIBNAME-sætninger, {SAS002}-kodede strenge, legitimationsoplysninger i filer inkluderet med %include, Kerberos- eller SSO-billetter, og spørgsmålet om, hvor alt det i stedet burde ligge.

Databaseforbindelser

SAS/ACCESS-motorer til Oracle, DB2, Teradata, SQL Server, Snowflake, Hive og andre; eksplicit og implicit pass-through-SQL; motorindstillinger, der påvirker resultaterne (DBCOMMIT, READBUFF, INSERTBUFF, BULKLOAD); typeafbildning for datoer, decimaler og NULL; og adfærd, der stille ændrede sig, da SQL blev skubbet ned i databasen i stedet for at køre lokalt.

Placering af filer og biblioteker

Hårdkodede stier, Windows-drevbogstaver over for Linux-monteringer, filnavne med forskel på store og små bogstaver, NFS- og SMB-shares, FILENAME PIPE- og X-kommandoer, SYSGET samt filrettigheder.

Proprietære artefakter

Formatkataloger, kompilerede eller gemte makroer, indeks, revisionsspor, views, SPDE-biblioteker, transportfiler, krypterede eller komprimerede datasæt, og datasæt fra V6/V8-tiden, der skal gendannes frem for kopieres.

Produkter på serversiden

SAS/CONNECT-RSUBMIT-blokke, Grid, SAS/SHARE, Stored Processes, autorisation via metadataserveren, Enterprise Guide-projekter, job genereret af DI Studio og CAS-handlinger i Viya. Hver især har en pendant på den nye platform, men ikke en identisk.

Planlægning og orkestrering

LSF, Control-M, cron, jobafhængigheder, konventioner for returkoder, logskrabere der leder efter bestemt NOTE/WARNING/ERROR-tekst, SYSERR- og SYSCC-logik samt FILENAME EMAIL-advarsler.

Troværdighed i output

ODS-destinationerne PDF, RTF, Excel og HTML, PROC TEMPLATE-typografier, tagsets, skrifttyper, grafikdrivere, og rapporter som aftagere længere nede fortolker ud fra position.

Numerik og statistik

Afrunding af flydende tal ved grænseværdier, sorteringskollation og rækkefølge ved lige værdier, strømme af tilfældige tal (RANUNI, RAND, STREAMINIT) der ikke er reproducerbare på tværs af implementeringer, og iterative procedurer hvis konvergensvej kan afvige inden for tolerancen.

Kode der læner sig op ad særheder

Uinitialiserede variabler, remerging i PROC SQL, implicit RETAIN, afkortningsadvarsler der betragtes som normale, og udokumenteret adfærd der tilfældigvis giver det rigtige svar i dag.

Integration med alt det øvrige

Python via SASPy, R, Java- og .NET-klienter over IOM, JDBC mod SAS/SHARE, Tableau og pandas der læser .sas7bdat-filer direkte, og REST-kald ind i Viya.

Governance

Valideringskrav i regulerede brancher (GxP, 21 CFR Part 11, modelrisikostyring), sikkerhed på rækkeniveau, håndtering af persondata, revisionsspor, og fraværet af versionsstyring i mange langlivede SAS-landskaber.

Intet af dette er usædvanligt. Det hele kan findes på forhånd, og det hele kan testes. Det er præcis det, processen nedenfor handler om.

Jenners migreringsproces

1

Afdække

Vi laver status over landskabet, før vi estimerer arbejdet. Med automatiseret analyse af jeres kildetræ, planlægninger og logfiler laver vi en afhængighedsgraf over programmer, makroer, formater, biblioteker, eksterne filer og databaseforbindelser, og finder ud af, hvad der rent faktisk kører, hvad der er dødt, og hvem der ejer hvad. Hver kategori ovenfor bliver gennemgået, og fundene scores efter migreringsindsats.

Leverance

En status- og risikorapport med et fastpristilbud på de resterende faser. Vælger I ikke at gå videre, beholder I rapporten.

2

Karakterisere

Det er fasen, der gør resten pålidelig, og den foregår udelukkende på jeres eksisterende SAS-system, før noget som helst migreres.

For hvert program inden for scope bygger vi med AI-understøttet analyse karakteriseringstest: eksekverbare specifikationer af, hvad koden gør i dag. Hver test opfanger de input, et program forbruger — datasæt, makroparametre, eksterne filer, databaseudtræk, miljøindstillinger — kører det på jeres nuværende SAS-installation og registrerer alt, hvad det frembringer: outputdatasæt, logindhold, returkoder, ODS-output, makrovariablernes tilstand og sideeffekter som skrevne filer eller sendte mails.

Det er AI, der gør dette praktisk muligt i virksomhedsskala. At læse ti tusind programmer og udlede, hvilke grænsetilfælde hvert enkelt håndterer, er ikke et arbejde for mennesker med en deadline. At generere testtilfældene, testdataene og sammenligningslogikken er præcis den slags omfangsrige, mønstertunge arbejde, som nutidens modeller er stærke til, og hver genereret test valideres ved at blive kørt mod det system, den beskriver. Består en test ikke på jeres nuværende SAS, er den ikke en test af jeres system, og den kasseres.

Sammenligningsregler fastlægges per output. Datasæt sammenlignes som udgangspunkt nøjagtigt; numeriske tolerancer erklæres udtrykkeligt, hvor flydende tal eller iterative procedurer gør bit-for-bit-lighed meningsløs; logsammenligninger er strukturelle frem for tekstuelle, så en omformuleret NOTE ikke fælder et job, mens et ændret rækketal gør. Ikke-deterministiske input som dagens dato og tilfældige frø styres, så den samme test giver det samme svar på en hvilken som helst dag. Hvor produktionsdata ikke må bruges til test, bygger vi maskerede eller syntetiske testdata, der løber ad de samme kodestier.

Leverance

En versionsstyret testsuite med målt dækning på tværs af programmer, makroer og procedurer, samt en baseline af registrerede resultater fra jeres nuværende system. Denne suite er jeres. Den er skrevet til at køre på Jenner, på SAS og på alt andet, der taler sproget, og den har værdi uafhængigt af migreringen: de fleste SAS-landskaber har aldrig haft en.

3

Migrere

Med baseline på plads bliver migrering en ingeniøropgave med en klar definition af færdig. Vi sætter Jenner op i jeres miljø, retter de miljøforhold, der blev fundet i Discovery (stier, biblioteker, håndtering af hemmeligheder, databaseforbindelser, integration mod planlæggeren), og kører hele suiten.

Hver fejl placeres i en af fire kategorier:

01Fejl i Jenner

Koden er rigtig, og det er Jenner, der tager fejl. Jenner udgiver nye builds hver uge; fejl fundet i kundemigreringer prioriteres, og den test, der fejler, bliver en permanent del af Jenners egen regressionssuite.

02Miljø

En sti, en legitimationsoplysning, en forbindelse eller en indstilling, der skal sættes. Rettes og køres igen.

03Afhængighed af en særhed

Koden læner sig op ad udokumenteret SAS-adfærd. Vi viser jer den præcise linje og den præcise adfærd, og I vælger mellem at ændre koden — hvor testen beviser, at ændringen er sikker — eller at lade Jenner efterligne særheden.

04Acceptabel forskel

Resultatet afviger inden for en erklæret tolerance, eller en logbesked er formuleret anderledes. Dokumenteres og godkendes, aldrig accepteret i stilhed.

Suiten kører løbende, mens problemerne løses, så fremdrift er et tal og ikke en holdning, og regressioner opdages samme dag, som de opstår.

Leverance

En migreret kodebase, hvor hele suiten består, eller hvor hver tilbageværende forskel er afgjort skriftligt.

4

Certificere

Certificeringen er den bevispakke, der gør det muligt for jeres sponsor, jeres revisorer og jeres tilsynsmyndigheder at acceptere migreringen.

Vi kører en parallelperiode, hvor produktionsjob afvikles på begge systemer, og output sammenlignes automatisk efter de samme regler som testsuiten. Certificeringspakken indeholder statusopgørelsen, testsuiten og dens dækning, baseline, resultaterne af den sidste kørsel, håndteringen af hver enkelt forskel, og sporbarheden fra hvert krav eller program til de test, der dækker det. For kunder under tilsyn er den struktureret, så den bærer IQ/OQ/PQ-validering og revision.

Leverance

En underskrevet certificeringspakke og en anbefaling om at gå videre eller ej.

5

Skifte over og støtte

Overgangen planlægges omkring jeres batchvinduer og fornyelsesdatoen for jeres SAS-licens, med en afprøvet vej tilbage. Planlæggere peges om, overvågning og alarmering bekræftes, og SAS-miljøet udfases efter jeres tidsplan.

Testsuiten kører videre efter overgangen. Fordi Jenner udgiver hver uge, får I hver forbedring med det samme bevis for, at intet af det, I er afhængige af, har ændret sig. Jeres team uddannes i at udvide suiten, efterhånden som kodebasen vokser.

Leverance

Produktion på Jenner, en udfasningsplan for SAS, og en regressionssuite, der bliver ved med at arbejde for jer.

Det får I

  • En fuldstændig og aktuel opgørelse over jeres SAS-landskab, inklusive de dele ingen længere huskede.
  • En karakteriseringssuite med målt dækning, som I ejer og kan tage med jer mellem platforme.
  • En migrering, hvis færdiggørelse defineres af testresultater frem for af en dato.
  • En certificeringspakke bygget til revisorer og tilsynsmyndigheder.
  • Varig beskyttelse mod regressioner, på Jenner eller hvor som helst ellers.
  • Fejl fundet i jeres migrering rettes i produktet, ikke omgås i jeres kode.

Sådan er opgaverne skruet sammen

Discovery

Fast pris og kort. Den producerer forslaget for de resterende faser, prissat efter den målte størrelse og kompleksitet af jeres landskab frem for efter et skøn over dem.

Karakterisere, Migrere, Certificere

Leveres normalt som én opgave med fast omfang, med milepælsgodkendelse knyttet til suitens resultater.

Støtte efter overgangen

Fås som årlig ydelse, efter at testsuiten er overdraget, og jeres team er uddannet i at udvide den.

Omkostningsvejledning

Små migreringer og pilotprojekter

$1,000 – $21,000

Kan som regel udføres på afstand, med en varighed fra en uge til en måned.

Større og mere komplekse migreringer

$52,000 – $405,000

Kræver noget arbejde på stedet og/eller dybere fagkundskab og varer typisk fra to til seks måneder.

Alle beløb er i amerikanske dollar (USD).

Dette omfatter ikke licensafgifter for softwaren; de er til gengæld meget overskuelige og konkurrencedygtige. Se prissiden.

Kontakt professionelle tjenester

Start med Discovery

Send os en beskrivelse af jeres SAS-miljø — platform, omtrentligt antal programmer, produkter i brug, databaser og planlæggere — så rammer vi en Discovery ind.