Underhållsfönster – Onsdagen den 14 oktober

Onsdag den 14 oktober genomför systemuppdateringar och omstarter av servrar och tjänster.
Detta kan påverka åtkomsten till vissa tjänster. För mer information, se driftinformation.

Dev-blogg

  • Dev-blogg vecka 41

    Dev-blogg vecka 41

    Det har varit ett par regniga dagar i Göteborg nu när hösten är på ingång, men trots det har vi fortsatt vårat arbete med NGP:n och dess kringliggande projekt!

    Brainchild

    Vi har påbörjat implementeringen av portalen utifrån det godkända utkastet, och utvecklingen pågår nu. Parallellt har säkerhetsarbetet formaliserats. En fullständig genomförandeplan och tillhörande rekommendationer finns på plats, och arbetet inväntar nu slutgiltiga beslut inför implementeringen.

    Variantdatabasportalen (VDP)

    Arbetet med Variantdatabasportalen (VDP) fortsätter med mindre finjusteringar inför presentationen av vår Minimum Viable Product (MVP). Vi ser fram emot att låta testare prova portalen och bidra med konstruktiv feedback.

    Underhållsfönster

    Den 14 oktober mellan klockan 09.00 och 17.00 kommer systemunderhåll att genomföras för NGP:ns olika tjänster. Mer information finns på sidan för driftstatus.

    Bonsai

    Vi börjar närma oss en lösning för Bonsai där NGPi och NGPr används för datalagring och indexering, med syftet att stödja GMS-mikros pilotprojekt. När lösningen för Bonsai är på plats kan vi påbörja arbetet med att modifiera Mimosa på motsvarande sätt.

    Övrigt

    Arbetet med att koppla upp regionerna till NGP fortsätter, bland annat genom NGPr, som även är känd som vår Hitachi Content Platform.

    Vi har också sett över hur projekt och arbetsflöden dokumenteras. Syftet är att spara tid och energi, öka förståelsen för hur våra system är uppbyggda och göra det enklare att hitta, skriva och läsa dokumentation. Det nya arbetssättet kommer även att underlätta onboarding och minska personberoendet.

    // Erik B 😎

  • Dev-blogg vecka 40

    Dev-blogg vecka 40

    Brainchild

    Design av portalen har blivit godkänd, vilket betyder att arbetet med att bygga portalen kan påbörjas. Fortsatt arbete med att implementera kohorter, där bland annat GraphQL API har undersökts. Diskussioner kring hur funktionalitet ska kunna förverkligas pågår. Fortsatt arbete gällande säkerhet kring IAM och infrastruktur för att kunna införa BankId autentisering, och en tidsplan för kommande arbete på 2-3 veckor har skrivits.

    VDP

    Typvalidering har implementerats för alla strikta typer i respektive accepterade format.

    Bonsai, Mimosa, pilotprojektet GMS-mikro

    Arbete fortsatt för att Bonsai ska kunna skriva data till NGPr och att denna ska indexeras i NGPi, samt hämta data från NGPi och NGPr. En delad instans av Bonsai har satts upp, som den modifierade versionen av Bonsai kommer att köras på.

    Utbildning

    Denna vecka har vi dessutom fortsatt utbildning inom Microsoft Fabric, samt en kurs rörande säkra digitala lösningar.

    Till en trevlig oktober!

    / Hedy

  • Dev-blogg vecka 39

    Dev-blogg vecka 39

    Brainchild

    Kurs i Fabric och PowerBI fortsätter. Grunden läggs för att vi ska kunna managera alla aspekter av lösningen Brainchild samt vidareutveckla på sikt.

    We are working on Draft 3 of the portal design. We’re continuing to refine the overall experience and incorporate feedback to further improve the design.

    VDP

    • Vi börjar närma oss Variantdatabasportalens MVP-fas.
    • Vi ser fram emot att ta emot mer feedback på allt arbete och förbättringar som vi har fått igenom
    • Vi har lagt in ett “bypass mode“ som ignorerar kontroller som vanligtvis är påslagna. Detta är i syfte för att förenkla uppladdning av retrospektiv data
    • Förändringar i portalens användarupplevelse har gjorts baserat på den feedbacken som vi har fått
    • Många tekniska förändringar har gjorts i backenden för att säkerställa god prestanda och responstid

    Infrastruktur

    • Vi har diskuterat och skissat på planer och vidare efterforskning för ett antal olika komponenter/services inom NGP/Azure. Vi behöver bland annat hantera:
      • Spegling av remote repositories lokalt för att alltid kunna ha dependencies tillgängliga vid skapande av nya resurser som beror på de. Extra viktigt för de resurser som behöver skapas dynamiskt likt arbetsnoderna i Navops-kluster.
      • Någon form av container registry för att likt ovan se till så att dependencies alltid finns tillgängliga för resurser som beror på de.
      • En mer robust uppsättning git för att hålla configs, skript, och liknande. 
      • Nya krav inom autentisering och auktorisering kräver nya lösningar. Vi utforskar bland annat hur applikationer som integrerar med NGP (t.ex. Bonsai och Mimosa) kan nyttja och kopplas ihop med vår befintliga infrastruktur. Vi behöver även designa mer finkornig auktorisering för att kunna stödja projekt inom regioner, där vårdmedarbetaruppdrag (VMU) inte längre räcker till för att styra behörigheter. Därtill saknar den BankID-inloggningslösning vi testar i dagsläget något direkt motsvarande VMU.
    • Nya säkerhetskrav har promptat för teknisk och operativ förbättring för återställning av system. 
      En stark push och djupdykning i detta har varit prioritet i veckan, med fokus på operativ hantering, teknisk implementering, lagkrav och best practices. I dagsläget finns en bra överblick över best practices och nästkommande steg. Arbetet som gjordes i veckan kommer ligga till grund för implementation, som kommer ske inom kort. 
    • Skilling inom teamet har fortsatt, både inom Fabric-suiten i samband med Brainchild, men också cybersäkerhet.
    • Möte etc kring NGP-Auth, framtida arbete/förbättringar och dokumentation
      • Överblick över system
      • Annat såsom automatisering av drift av VMs/ drift i Azure

    Bonsai, Mimosa, pilotprojektet GMS …

    • Vi arbetar fortsatt på en band-aid-lösning för att Bonsai (och i framtiden Mimosa, när problemet är löst för Bonsai) ska kunna lagra data i NGPi samt NGPr istället för i Azure, så som Bonsai och Mimosa fungerar idag.
    • Samtidigt arbetar vi med att sätta upp en ny delad instans av Bonsai för GMC-joint-data tillhörande det generella flaggskeppsprojektet inom GMS-mikro.

    /Aisha Alsafi

  • Dev-blogg vecka 38

    Dev-blogg vecka 38

    Brainchild

    • Första implementation av BankID mfa lösning i Entra är på plats men vi behöver se över flödet och bekräfta att allt fungerar som väntat. Diskussioner kring auktorisering för inloggning i Brainchildportalen fortsätter.
    • En ny skiss på brainchildportal-frontend visas upp för vidare feedback.
    • Arbetet med att spara cohorter (förinställda filter) samt använda de i brainchildportalen fortsätter.
    • Fabric och PowerBI-kursen fortsätter där vi får djupare insikt i hur de båda lösningarna fungerar i praktiken samt hur det sitter ihop med nuvarande bakomliggande data. Det lägger grunden för framtida utveckling.
    • En workshop hölls där många intressenter bjöds in på plats för att brainstorm:a kring dataflödet inom Brainchildprojektet, med extra fokus på datan som resultat av Oncoanalyzer samt inkommande metadata från andra källor.

    Bonsai

    • Vi har suttit ner med flertalet intressenter inom projektet Bonsai samt det generella flaggskeppsprojektet inom GMS mikro för att diskutera minimumkraven för Bonsais uppsättning inom kontexten NGP. Mycket har klargjorts och vi har nu en mycket bättre känsla för vad som förväntas finnas på plats inom den närmaste framtiden samt vad framtiden eventuellt ska inkludera.

    Säkerhetsrutiner

    • Säkerhetsrutinerna arbetas aktivt på kontinuerligt men har nu fått lite mer fokus för att uppdatera de tidigaste lösningarna vi har satt upp inom NGP som hamnat lite på efterkälken på senare tid.

    Infrastruktur

    • Vi har suttit ner och tagit en titt på inloggningsflödena inom NGP på en högre nivå då mycket utveckling sker på lägre nivå för specifika lösningar. Förhoppningen är att perspektivsbytet ska förhindra att man målar in sig i många små hörn istället för att hitta gemensamma lösningar mellan alla verktyg/tjänster.

    /Jens PW

  • Dev-blogg vecka 37

    Dev-blogg vecka 37

    Hösten närmar sig och arbetet fortsätter!

    Brainchild

    Arbetet med BrainChild fortsätter, där vi tittar på flera olika lösningar för portalen.
    Dels tittar vi på hur bäst backend-koden i portalen kan kommunicera med datan som ligger i Fabric och PowerBi. Olika lösningar har diskuterats, men vårt mål är att hålla det så enkelt och okomplext som möjligt, för att framtidssäkra integrationer.

    Exempelvis fortsätter arbetet med att läsa in users sparade cohorter från fabric, samt spara och skriva nya cohorter till fabric.
    I samma veva har vi börjat laborera hur vi kan utläsa data för filtrering från Fabric och kikat på vad för queries vi behöver göra för att skapa upp formulär i portalen. Tanken är att filteringsalternativ ska hämtas dynamisk i takt med att datan uppdateras i Fabric.

    Ett andra utkast av layouten av sidan har gjorts!

    Även arbete har påbörjats gällande authentication – uppsättningen av BankID som MFA-method i Entra har påbörjats.

    Onboarding och upskilling

    För några veckor sedan nämndes det här på bloggen att vi fått in lite nytt folk i dev-teamet – och det är faktiskt en av oss nya som skriver här nu. Hejsan!

    Onboardingen tuffar på, och jag har verkligen fått en kanonstart – teamet har tagit emot mig med öppna armar och fått mig att känna mig hemma från första stund.

    Utöver detta har teamet satt sig i skolbänken i några timmar denna vecka. Vi har haft upskilling inför kommande projekt, i syfte att – för att kunna utföra vårt arbete så effektivt och med så hög kvalitet som möjligt.

    Dessutom har vi fortsatt vår utbildning i bioinformatik – för att bättre förstå våra användares behov och kunna skapa tjänster som ger dem rätt förutsättningar att göra ett riktigt bra jobb.

    Generellt från teamet

    Teamet drömmer om att streamlina arbete på BDC-IT med hjälp av automations-pipelines, centraliserade arkitekturer och standardisering, för att kunna fokusera mindre på manuell uppdatering som tar tid och skulle kunna automatiseras.
    I dagsläget är generella idéer som slängs runt i fikarummet, men vi önskar att effektivisera arbetet så småningom.

    / Elena 💃

    Image credit
    Image by Robande | This file is licensed under the Creative Commons Attribution 3.0 Unported license.

  • Dev-blogg – Vecka 36

    Dev-blogg – Vecka 36

    Arbetet fortsätter framåt inom flera delar av NGP, med fokus på allt från vidareutveckling av BrainChild-portalen, till stabilare skalning av beräkningsresurser och grundläggande arkitektur för kommande verktyg.

    Brainchild

    Det första utkastet på designen för Brainchild har nu visats upp och utgör en grund för det fortsatta arbetet med portalen.

    Parallellt har arbetet påbörjats med en lösning för att kunna spara kohorter tillsammans med tillhörande filter i BrainChild-portalens backend. Målet är att skapa ett bättre stöd för att definiera och återanvända urval direkt via portalen.

    Hotfix för Navops

    Ett problem har identifierats i Navops där systemet under vissa former av belastning inte kunde hantera uppskalningen av arbetsnoder korrekt. Grundorsaken visade sig vara ett så kallat race condition i bootstrap-logiken.

    Under vissa omständigheter kunde detta leda till att flera arbetsnoder startades i Azure med samma hostname. Det skapade i sin tur problem för Grid Engine, som inte längre kunde hantera noderna korrekt.

    Problemet har åtgärdats genom en hotfix som applicerats på två av de underliggande Docker-containrar som ansvarar för bootstrap-logiken. Tester som genomförts efter implementationen av fixen har gett gröna och förväntade resultat, vilket tyder på att problemet nu är löst.

    Ny logik för dataskyffling

    Arbetet med kärnkoncepten och logiken för en ny applikation för dataskyffling inom NGP pågår aktivt. Applikationen är tänkt att utgöra en viktig grund för flera kommande verktyg och behöver därför byggas med en arkitektur som fungerar även för framtida behov.

    Det handlar om betydligt mer än själva logiken för att flytta data. Flera komponenter behöver samverka på rätt sätt för att bland annat stödja dataseparation och tydliga API-ingångar, samtidigt som lösningen behöver vara tillräckligt generell för att kunna användas av flera olika verktyg framöver.

    Fokus ligger därför just nu på att få de grundläggande koncepten och gränssnitten på plats innan implementationen byggs ut ytterligare.

    // Johan

  • Dev-blogg vecka 35

    Dev-blogg vecka 35

    Bonsai

    Diskussioner har förts kring den problematik som behöver lösas för Bonsai kring lagring av sk känslig data i Azure. Förhoppningen är att kunna ta fram ett agnostiskt verktyg med tillhörande API som kan brukas av andra lösningar som dynamiskt behöver skyffla data mellan kallt och varmt lager. Målet är att data enbart rör Azure i den mån den behövs och inte mer.

    Just nu utförs tester på olika komponenter som ev är en del av lösningen, och förhoppningen är att kunna aktivt börja arbete med skarp implementering inom kommande vecka.

    Uppdatering Navops

    Navops har under en period bråkat under vissa speciella förhållanden som gjort att systemet inte varit så pass stabilt som man hade önskat. Under veckan har vi uppdaterat Navops till en ny version vilket har öppnat upp för nya problem som nu aktivt arbetas på. Vi hoppas kunna ha allting tillbaka i ordinarie format på måndag nästa vecka.

    Onboarding

    Vi har tagit oss tid att sprida kunskapen kring många av våra system med kollegor, nya som existerande. Syftet är att bättre kunna bidra till projekt man inte haft så mycket att göra med innan, samt säkra upp att rutin-underhåll och debugging kan göras även om del av personalstyrkan är borta pga sjukdom eller semester.

    I samma veva har vi fyllt luckor i vår interna dokumentation.

    /Jens PW

  • Dev-blogg vecka 34

    Dev-blogg vecka 34

    Alla är tillbaka efter sommaruppehållet

    Efter sommarens ledigheter är hela teamet åter på plats. Arbetet är nu i full gång igen, med fortsatt fokus på våra webbportaler, den tekniska infrastrukturen och flera pågående utvecklingsprojekt.

    Webbportaler

    Under sommaren har vi genomfört flera UX-förbättringar i Variantdatabasportalen och Brainchild. Arbetet har fokuserat på att göra portalerna tydligare och mer lättanvända samt att skapa en smidigare upplevelse för användarna.

    Underhållsarbete

    Under onsdagens underhållsfönster uppdaterades ett antal noder och funktioner inom NGPc. Bland annat genomfördes uppdateringar av systemen för inloggning, qmaster och arbetsnoderna. Vi har även satt upp en systemd-tjänst för Sentieons licensserver.

    Bonsai

    Inom Bonsai arbetar vi aktivt med att ta fram en alternativ databaslösning till MongoDB. Eftersom det nuvarande regelverket inte tillåter permanent lagring av information i Azure kan Bonsais befintliga databas inte användas i sin nuvarande form.

    NGPi (HCI:n) och NGPr (HCP:n) kan vara en potentiel lösning, men innan vi kan välja väg framåt behöver vi göra en djupare analys av Bonsais nuvarande databasmodeller, hur de är uppbyggda och hur de används av applikationen.

    Parallellt siktar vi på att ta fram en referensimplementation i Bonsai, kompletterad med relevant dokumentation. Tanken är att implementationen ska kunna fungera som grund för de riktlinjer som ska tas fram för framtida NGP-integrationer av appar och andra tjänster.

    Brainchild

    I Brainchild arbetar vi med att få en inloggningslösning med BankID och Entra på plats i webbportalen. På längre sikt är målet att kunna styra auktoriseringen mer detaljerat och kräva inloggning med BankID för användare som behöver tillgång till det stängda lagret.

    //Erik B

  • Dev-blogg vecka 26

    Dev-blogg vecka 26

    BrainChild

    • Portalen är uppe för visning av den öppna aggregerade Power BI-rapporten.
    • Designarbetet pågår.

    NGPr/HCP snabbguide

    • En ny snabbguide till användandet av NGPr (HCP) skissas just nu på. Denna är tänkt att summera konceptet i sin helhet men också inkludera detaljer som rör det mest väsentliga med lösningen. Fokus kommer ligga på själva manageringen av “Tenanten” och mindre i hur man laddar upp/ner filer till lagringen.
    • Vi tänker också inkludera rutiner för hur man bör agera ur ett säkerhetsperspektiv när man behöver generera nya konton eller dela ut bredare access till användare.
    • Det kommer också ingå information om hur GMC-joint och rutinerna kring denna fungerar. I och med att projektet utvecklats över tid så finns det en del historiskt vi behöver se över och korrigera, samt informera tekniska admins på alla GMC om hur rutinerna bör se ut framöver.
    • Både snabbguiden och rutinerna diskuteras/skrivs fortfarande och är inte ännu mogna nog för att delas med av. Vi hanterar aktuella ärenden på bästa tänkbara sätt i takt med att de dyker upp.
    • Det är ännu inte heller bestämt hur denna information kommer spridas.

    Autentisering

    Arbetar på en generell modul för att hantera OpenIDConnect autentisering i Django som är tänkt att användas för alla projekt/inloggningsmetoder som kommunicerar med OpenIDConnect.

    Syftet är att kunna generalisera och förenkla inloggningslösningarna för de portaler som vi bygger.

    /Aisha Alsafi

  • Dev-blogg vecka 25

    Dev-blogg vecka 25

    Variant databas-portalen, VDP

    • En första version av stöd för import av Excel-filer med Alamut-format implementerad. Beräkningar av POS, REF, ALT etc behöver ännu hanteras och det är något vi kommer börja diskutera hur vi kan göra.
    • Sökresultat baserat på klassificering och GMC är implementerad och det går att få ut antal klassificeringar för en variant och vilken GMC den klassificeringen tillhör.
    • Ett andra referensgruppmöte genomfördes med bra input på vad vi kommer behöva fokusera på framöver.

    BrainChild

    • Vi har börjat sätta upp infrastruktur för portalen som ska serva ut information från bakomliggande fabric. Har utforskat hur man ska kunna hantera access till PowerBI rapporter.
    • Påbörjade och implementerade ett enkelt API för att tillåta manuell skalning av BrainChilds Farbric Capacity vid behov. Detta gör det möjligt att spara in pengar när Fabric inte aktivt arbetas inom genom att skala ner till minsta möjliga kapacitet, ev pausa instansen helt. Det finns inget inbyggt stöd för detta i Fabric.

    NGPc

    • Har fixat en bugg i worker-image-rutin-koden som ibland satte processer i en oändlig loop. I samma veva gjordes några andra förbättringar som gör koden mer pålitlig.
    • Byggt och satt en ny worker-image i drift som inkluderar telegraf för rapportering av “metrics” till den metrics-server som kör influxdb3 och grafana.
    • Modifierat cloud-init i navops nodklasser i drift för att bruka telegraf för rapportering av metrics. Varje maskin taggas inte bara med hostname (som återanvänds) utan också Azure VM ID som är unikt och kan bättre brukas för spårbarhet.
    • Skapat en dashboard i Grafana för test av hur metrics kan ritas upp in från en skara virtuella maskiner som från navops skapas och plockas ner om och om igen under pipeline-körning. Första tester ser bra ut och vidareutveckling fortsätter.

    /Jens PW