Omschrijving van de opdracht
Binnen deze stage werk je aan het opzetten en automatiseren van Curity (een Access Manager tool) in een schaalbare infrastructuur. De focus ligt op het DevOps-gewijs uitrollen van deze tool in meerdere omgevingen: test, acceptatie en productie. Daarnaast wordt redundantie voorzien door meerdere instanties per omgeving op te zetten, verspreid over virtuele machines of binnen een Kubernetes-cluster.
Wat ga je doen?
- Ontwerp een deploymentstrategie die VM-gebaseerd of Kubernetes-gebaseerd kan zijn.
- Automatiseer de installatie en configuratie via CI/CD pipelines (bijv. GitHub Actions, GitLab CI, Azure DevOps).
- Zorg voor redundantie en beschikbaarheid binnen elke omgeving.
- Integreer Curity met verschillende authenticatie methodes in een eindapplicatie.
- Documenteer het proces en lever een herbruikbare setup op.
Wat leer je technisch?
- Werken met DevOps tools en principes, inclusief het toepassen van automation en continuous integration.
- Toepassen van Infrastructure-as-Code met tools zoals Terraform, Helm, Ansible en Git.
- Provisioning en beheer van Kubernetes clusters en/of virtuele machines.
- Opzetten en beheren van CI/CD pipelines voor efficiënte softwarelevering.
- Curity integreren met een eindapplicatie.
Welke softskills leer je?
- Communicatievaardigheden: helder en professioneel rapporteren, documenteren en samenwerken met collega’s en stakeholders.
- Samenwerken: effectief functioneren binnen een multidisciplinair team in een agile werkomgeving.
- Probleemoplossend denken: technische uitdagingen analyseren en zelfstandig of in overleg oplossen.
- Zelforganisatie: verantwoordelijkheid nemen voor je taken, planning en voortgang.
- Kritisch denken: keuzes onderbouwen en continu verbeteren op basis van feedback en evaluatie.
- Klantgerichtheid: rekening houden met gebruikersbehoeften en bedrijfscontext bij het ontwerpen van oplossingen.
Projectmethodologie
- De stageopdrachten volgen de Scrum-projectmethodologie voor een gestructureerde en efficiënte aanpak van (sub)taken.
- Dit weerspiegelt de projectaanpak van IdentIT.
- Scrum is een flexibel kader dat:
- Samenwerking bevordert
- Aanpassingsvermogen stimuleert
- Transparantie waarborgt.
- Het werk wordt georganiseerd in tijdgebonden iteraties, genaamd sprints:
- Elke sprint duurt 2 tot 3 weken.
- Elke sprint heeft duidelijke doelstellingen en taken.
- Aan het begin van elke sprint:
- Houden stagiair(s) en begeleider(s) een sprintplanning.
- Worden de doelstellingen gedefinieerd.
- Wordt een sprint backlog opgesteld.
- Tijdens de sprint:
- Vinden wekelijkse stand-up meetings plaats,
- Wordt de voortgang besproken.
- Worden eventuele obstakels geïdentificeerd en aangepakt.
- Aan het einde van elke sprint:
- Wordt een sprint review gehouden.
- Indien mogelijk, wordt een demo gegeven.
- Wordt feedback verzameld.
- Scrum draagt bij aan een samenwerkende en aanpasbare werkomgeving.
- Het doel is om de beste resultaten te behalen binnen de gestelde termijn.
MVP
De minimale feature set die we verwachten zijn:
- Eindapplicatie (in 3 omgevingen) die geïntegreerd is met Curity en verschillende authenticatie methodes beschikbaar heeft (zoals username/password, MFA, etc…)
- 3 omgevingen (test, acceptatie en productie) waar je config kan “promoten” tussen de omgevingen
Einddoelstellingen
Aan het einde van de opdracht wordt volgende oplevering verwacht:
- (Technische) analyse van de probleemstelling
- Architectuur van de benodigde componenten
- De MVP en eventuele uitbreidingen
- Demo van de DevOps integratie/functionaliteiten
- Documentatie