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.
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.
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:
autoexec.sas, konfigurationsfiler, systemindstillinger (ENCODING, LOCALE, YEARCUTOFF, VALIDVARNAME, FMTSEARCH, SASAUTOS), miljøvariabler, SYSPARM samt WORK-bibliotekets størrelse og levetid.
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.
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.
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.
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.
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.
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.
ODS-destinationerne PDF, RTF, Excel og HTML, PROC TEMPLATE-typografier, tagsets, skrifttyper, grafikdrivere, og rapporter som aftagere længere nede fortolker ud fra position.
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.
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.
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.
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.
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.
En status- og risikorapport med et fastpristilbud på de resterende faser. Vælger I ikke at gå videre, beholder I rapporten.
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.
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.
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:
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.
En sti, en legitimationsoplysning, en forbindelse eller en indstilling, der skal sættes. Rettes og køres igen.
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.
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.
En migreret kodebase, hvor hele suiten består, eller hvor hver tilbageværende forskel er afgjort skriftligt.
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.
En underskrevet certificeringspakke og en anbefaling om at gå videre eller ej.
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.
Produktion på Jenner, en udfasningsplan for SAS, og en regressionssuite, der bliver ved med at arbejde for jer.
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.
Leveres normalt som én opgave med fast omfang, med milepælsgodkendelse knyttet til suitens resultater.
Fås som årlig ydelse, efter at testsuiten er overdraget, og jeres team er uddannet i at udvide den.
$1,000 – $21,000
Kan som regel udføres på afstand, med en varighed fra en uge til en måned.
$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 tjenesterSend os en beskrivelse af jeres SAS-miljø — platform, omtrentligt antal programmer, produkter i brug, databaser og planlæggere — så rammer vi en Discovery ind.