Stage-opdrachten

Op dit moment zijn er vier stage-opdrachten voor derde- of vierdejaars HBO studenten richting ICT. Hieronder lees je welke dit zijn. 

Stageopdracht 1: Load-/performancetest geautomatiseerd in Jenkins

In de diverse ontwikkel- en beheerteams wordt allerlei tooling ingezet ter ondersteuning van het agile proces. Denk daarbij aan ticketing (bug/defect beheer), een digitale product- en sprint backlog, tools voor automatische builden, deployen, testen, en het meten van codekwaliteit en secure software guidelines. Wat nog ontbreekt is een goede en onderbouwde keuze voor hoe wij geautomatiseerd en periodiek (eigenlijk: on demand) load- en performancetests (PLS-tests) kunnen uitvoeren.

De verwachting is dat dit een technisch ingestoken opdracht is voor een HBO ICT’er, niet voor een management-IT-student.

We vragen de stagiair/afstudeerder, als uitvoering van de opdracht:
Voor één van de teams, nader te bepalen welke, te komen tot een advies welke tool het best past in de bredere behoefte van de teams.
In huis zijn tools: Parasoft LoadTest, en Artillery (voor Angular-toepassingen). Echter: welk tool is ’t beste geschikt en bevalt de teams het beste? Welke tool dekt de gehele lading van front-end, middle ware en backend, inclusief de infra? Graag zouden we hierover een goed onderbouwd advies willen inclusief de blik naar buiten: hoe gaat de wereld om ons heen om met load- en performancetests?

Vervolgens zien we graag dat de student de gemaakte keuze omzet in een Proof of Concept, die geautomatiseerd mee gaat draaien in de build-omgeving GIT, Maven en Jenkins. Begin maar eens met één team, trouwens…

Wij willen daarbij geanalyseerd zien wat voor de betreffende dienst een minimaal aantal te behalen load-criteria is, en waarmee een basic loadtest ontstaat.

Volgend uit de vorige punten: de student houdt in het onderzoek en in de praktische uitvoering rekening met de benodigde tijd die deze tests nodig hebben. Inmiddels verwerken wij namelijk al veel tests ’s nachts, het time window van het CI/CD-proces loopt aardig vol. Een belangrijke onderzoeksvraag is of, en hoe, deze extra tests passend zijn te maken in het ons beschikbare time window.

De opdracht moet geïmplementeerd zijn in de huidige CI/CD-omgeving.

Stage-opdracht 2: Verbreding inrichting functionele monitoring (ELK-stack)

Bij de afdeling Functioneel Beheer, de belangrijkste afnemer van de dienstverlening van onze afdeling, is de laatste jaren een wildgroei ontstaan aan scripts, om voor hun belangrijke zaken te monitoren en te controleren. Daarbij komt dat de collega-Ontwikkelaars en Beheerders niet zo vaak kiezen voor een scherm waarin zaken (pro-actief) te zien zijn, maar als reflex een script gaan maken indien zich een bepaalde situatie in de beheeromgeving voordoet. Dit is heel begrijpelijk, omdat het maken van een scherm best wat tijd in beslag kan nemen. Risico is echter dat scripts vaak lokaal worden opgeslagen, slechts een specifiek doel kennen, en alleen ‘in het hoofd van een functioneel beheerder’ zit. Hierdoor is er geen zicht op of scripts gewijzigd moeten worden door aanpassingen in de systemen, of wat een script betekent voor de stabiliteit van de productie-omgeving indien die na diverse releases aan wijzigingen heeft doorgemaakt. Nog los van de vraag in hoeverre scripts en hun uitvoering in een register terecht horen te komen in verband met de verregaande regelgeving rondom de AVG en Richtlijn

Inmiddels hebben we hierin voorzien door te kiezen voor brede uitrol van de ELK-stack. Dit is in een aantal teams inmiddels (zomer 2020) op gang gebracht door de goede inzet van enkele opvolgende stagiairs. Daaraan geven we graag een vervolg.

We vragen de stagiair/afstudeerder, als uitvoering van de opdracht:
In een nader vast te stellen team de ELK-stack in te gaan richten in nauwe samenwerking met zowel het team als de functioneel beheer partij.

Daarbij willen we door die samenspraak achterhalen welke specifieke informatie bijdraagt aan de behoefte rondom functionele monitoring en logging. Uitmondend in een breed geaccepteerd dashboard dat (near) real time beschikbaar is.

Te gebruiken data kan afkomstig zijn vanuit queries en scripts die nu in gebruik zijn, en ook vanuit inzicht wat gegeven kan worden door hetgeen er nog niet is of wat men nog niet weet, namelijk wat je allemaal met de ELK-stack kunt. De stagiair gaat ook hieraan veel tijd en gesprekken besteden, zodat hij/zij ook bijdraagt aan het proces van gewenning van gebruik van de ELK-stack.

Stage-opdracht 3: Continuous Integration/Delivery

De voortbrengingsteams van de Justitiële Informatiedienst is dit jaar gestart met een project rondom CI/CD. Doel is om diverse processen in de ontwikkelstraten (OTAP) geautomatiseerd te laten verlopen. Waaronder het build- en deployproces, het testproces en ook non-functionals zoals code kwaliteit, load-/performancetests, en security.

We vragen de stagiair/afstudeerder, als uitvoering van de opdracht (afhankelijk van de periode is keuze voor deelopdracht mogelijk)
De volgende deelopdrachten, of een combi daarvan:

Het Robot-framework implementeren voor een team ipv Parasoft SOATest. Deze opdracht mag in twee delen: front-end (UI) tests versus back-end (services) tests.

Test-slaves opnieuw opzetten (ingegeven door life cycle management, waardoor er nu verouderde Windows-versies worden gebruikt, harde schijven niet uitbreidbaar zijn) en verbeteren (inrichten met Robot, ondersteuning voor firefox/safari/edge, en ook toepassing van mobiele resoluties, Axe, en headless draaiend in containers).

Sentry.IO (frontend logging) doorvoeren in de teams. Hieraan is behoefte vanuit verbeterde logging en monitoring, gekoppeld aan hoge(re) eisen aan software code kwaliteit.

AXE als tooling rondom verplichte toepassing van eisen rondom accessibility, die wij graag willen invoeren en inrichten in het geautomatiseerde voortbrengingsproces met inbegrip van toepassing in Jenkins.

Migreren van applicaties van DevOps-teams naar Rancher.

Migreren van testen van DevOps-teams naar Robot en/of TestCafe.

Onderzoek naar Jenkins X (=speciale versie van Jenkins ihkv Kubernetes) om te zien of dat interessant kan zijn voor Justid.

Draaien van Robot en/of TestCafe testen headless op Docker of Rancher, met video-opname, rapportage, etc etc in diverse browsers (generiek opgezet).

Onderzoeken naar real-time security tools voor Kubernetes, zoals Twistlock en Aqua en hoe een dergelijk product binnen Justid ingezet kan worden.

Onderzoek naar de combinatie van Clair + NexusIQ + image signing + Rancher/Kubernetes instellingen om alleen veilige images te signen en in acc/prod deploybaar te maken.

Samen met ons kan jouw stageopdracht met betrekking tot CI/CD worden vormgegeven, rekening houdende met jouw wensen en leerdoelen. Wij werken in DevOps teams volgens de Agile/Scrum methodiek.

Stage-opdracht 4: Lean management in toepassing ontwikkeltooling

In de diverse ontwikkel- en beheerteams wordt allerlei tooling ingezet ter ondersteuning van het agile voortbrengingsproces. Denk daarbij aan ticketing (bug / defect beheer), een digitale product- en sprint backlog, en een digitaal scrumbord. Maar ook vele andere ontwikkel-ondersteunende tools, aangevuld met tools voor de kwaliteitsbewaking (SonarQube, Parasoft).

Maar wie weet is er inmiddels allerhande ‘waste’ ingeslopen! Help ons om dat inzichtelijk te krijgen!

De afstudeerder vertrekt vanuit lean management principes en inspecteert daarbij de huidige ingerichte voortbrenging op de ontwikkelstraten. Tools die nu worden ingezet zijn onder meer: GIT, Jenkins, Maven, Parasoft, Fitnesse, Robot Framework, BurpSuite en SonarQube. Er is een PoC gestart om de toepassing van Rancher te onderzoeken.

We vragen de afstudeerder, als uitvoering van de opdracht
Resultaten van het onderzoek dienen te zijn:

Een overzicht te schetsen van de value stream van deze tools, inclusief value stream integration.

Welke ‘waste’ treedt op in dit proces, inclusief analyse daarvan.

Een indicatie in hoeverre beheersing van kennis en vaardigheden in de diverse devops-teams onderdeel is van deze waste.

Een verbetervoorstel, op diverse aspecten vanuit de lean management theorie: welke alternatieven zijn er, hoe komt Justid in de flow van eliminatie van waste in het voortbrengingsproces, en is er een migratiescenario van toepassing?

Een handreiking, vanuit de lean filosofie, hoe de afdeling Jeugd met haar ontwikkel- en beheerteams met inzet van de huidige ontwikkelstraat en –tooling, een stap kan zetten richting lean management principes als ‘no faults forward’, ‘quality at the source’, en ‘zero defects in production’. Product: een checklist en een dashboard, en een model voor een continuous improvement cyclus.