window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-24940512-1');
Afstudeeropdrachten2021-10-08T10:58:54+01:00

Onze afstudeeropdrachten

Kies uit tientallen uitdagende opdrachten zoals cloud, analyse, software development, analyse of bedenk zelf een project.

Calculation Engine Dashboard

Tegenwoordig maken wij vaker een calculation engine voor onze klanten, waarbij na een aantal stappen de output in een boomstructuur terecht komt waarbij elke node een stukje van de overkoepelende berekening is. Bij erg grote calculaties kan het toch lastig zijn om het overzicht te behouden.

System hardening en vulnerability scanning

Om de kans op inbraak zo klein mogelijk te maken is het van belang om je computer-systemen te hardenen en ook zelf vulnerability scans uit te voeren om zo al in vroeg stadium op de hoogte zijn van potentiële problemen. Aan jou de vraag om te onderzoeken hoe je regelmatig kunt scannen op vulnerabilities in aanwezige software (kernel/libraries/middleware/docker-images/ etc.)

System hardening

Het beschermen van je digitale assets wordt alleen maar belangrijker, systemen liggen continu onder vuur, de een na de andere scan vindt plaats om te kijken of ergens een ingang is. Aan jou de vraag om te onderzoeken hoe je een hardenings-baseline opstelt en inzichtelijk maakt welke systemen hieraan voldoen en waar er afwijkingen geconstateerd zijn.

Security tests voor een Linux image

Als wij een Linuxserver gaan inrichten hebben wij daarvoor images klaar staan die voldoen aan onze eisen qua functionaliteit. Deze images worden automatisch gebouwd in onze buildstraat. We willen graag een automatische security rapportage aan deze build toevoegen. Wij vragen van jou om uit te zoeken hoe dit toegevoegd kan worden aan onze buildstraat en wanneer de security van de gebouwde image niet toereikend genoeg is, zodat de build dan faalt.

Are we under attack!?

Hoe houd je nu controle over je IT-infrastructuur, zodat het functioneel blijft en tegelijkertijd inzicht hebt in het security-technisch welzijn van je omgeving. Om deze vraag te kunnen beantwoorden wil je inzicht krijgen in je infrastructuur, denk hierbij aan het verzamelen van relevante log-gegevens, het instellen van alerting op afwijkend gedrag, het plaatsen van sensoren in je netwerk zoals bijvoorbeeld honeypots of canary-tokens.

Werkplek reserveringssysteem

Er is helaas niet genoeg plek op onze kantoren om iedereen een plek te geven. Om dit potentiële probleem op te lossen, willen wij graag een applicatie om en plek of een vlek (een groep van plekken voor een team) oftewel een vleq te reserveren. Wij willen graag dat jij een full stack applicatie voor (frontend en backend) voor ons ontwikkelt.

Projectkwaliteit monitoring

Wij zien van jou graag een webapplicatie die wij binnen Quintor kunnen gebruiken om de kwaliteit van projecten te meten. Teams kunnen hier dan instellen hoe zij hun project uitvoeren, waarna jouw applicatie het een score geeft en eventuele verbeterpunten. Denk hierbij aan projectmethodiek, de tooling die wordt gebruikt voor de software (zoals GIT) en (performance) monitoring.

Opleidingen overzicht

Nieuwe werknemers krijgen bij Quintor een masterclass van enkele maanden over het domein waar ze zich op focussen. Maar ook daarna bieden we nog opleidingen aan, zij het door ons ontwikkeld of geleverd door een externe partij. We missen nu de inzage in wie welke opleidingen heeft gevolgd en wat de voortgang is per werknemer.

De transitie naar Java 17

Bij Quintor vinden wij het belangrijk om altijd goed op de hoogte te zijn van de veranderingen die onze favoriete technieken doormaken. Maar die veranderingen gaan soms erg snel en het kan lastig zijn om naast het werk ook nog eens alles tot in de details bij te houden. Daarom vragen wij jou om voor ons in het diepe te duiken en uit te zoeken hoe Java in de afgelopen drie jaar veranderd is.

Asynchronous Calculation Engine

In een calculation engine voor onze klanten wordt de output wordt omgezet in een boomstructuur waarbij elke node een stukje van de overkoepelende berekening is, waarna de output van die node weer aan de volgende node(s) wordt gegeven. Wij willen graag dat jij voor ons uitzoekt hoe een calculation engine asynchroon uitgevoerd kan worden zodat dit proces efficiënter wordt.

Virtual Desktop Infrastructure & GPU

Medewerkers die op een laptop werken willen soms kunnen switchen naar krachtigere hardware voor bepaalde taken. Zo willen wij bijvoorbeeld een remote desktop gebruiken waarbij wij ook de GPU van de host server volledig kunnen benutten om zo zwaardere taken uit te voeren, die net wat te ver gaan voor de laptops die we normaliter gebruiken.

Van MySQL naar SQL Server

Wij willen elk half uur data kunnen migreren van een MySQL database naar een SQL Server database op een snelle, efficiënte wijze die automatisch draait en makkelijk te beheren en monitoren is. Dit vereist uitzoekwerk naar de exacte verschillen tussen de twee systemen, om vervolgens de data eventueel te transformeren zodat het in de SQL Server database past.

Nieuwe monitoring

Zabbix is open-source monitoring software dat we binnen Quintor ook gebruiken. Hoewel het nog actief ontwikkeld wordt, valt onze aandacht op Grafana en Prometheus, als modernere alternatieven. Hoe zetten we alle bestaande monitoring over? Wat doen we met de data die wij al hebben?

Relationele databases in Kubernetes

Bij Quintor zijn wij nieuwsgierig naar de mogelijkheden van relationele databases in combinatie met het populaire Kubernetes. Hoe kunnen we relationele databases combineren met deze flexibele manier van werken met virtuele machines? Wat gebeurt er met de data? Hoe zorgen we dat de voordelen van Kubernetes ook naar voren komen bij relationele databases?

Performance optimalisatie in Angular

Quintor heeft een webapplicatie ontwikkeld waarbij veel objecten worden getekend in de browser, tot tienduizenden aan toe. Vanwege limieten van de browser kan dit voor vertraging zorgen tijdens het gebruik. Daarom willen wij dat jij gaat kijken naar manieren om Angular en het tekenproces te optimaliseren zodat er zonder moeite 50.000 objecten getekend kunnen worden, die effect op elkaar kunnen hebben bij activiteiten zoals verslepen en resizen.

JavaScript & de GPU

In deze opdracht willen wij graag dat jij gaat kijken naar de grenzen van de browser, en dan specifiek naar toegang tot de GPU van de computer. De CPU is erg krachtig, maar de GPU is dé manier om hele complexe berekeningen uit te voeren. Zoek uit wat mogelijk is en demonstreer je bevindingen in een Proof of Concept die zware berekeningen uitvoert die in ‘normaal’ JavaScript zouden leiden tot slechte performance.

Onafhankelijk Platform voor bezorgdiensten

Het nadeel van de grote bezorgdiensten is de hoge commissies die organisaties per transactie in rekening brengen. Om tegengewicht te bieden aan alle grote online bezorgdiensten, die bijna allemaal in Amerikaanse handen zijn, lijkt het ons geweldig om de lokale ondernemers een alternatief te kunnen bieden. Het alternatief zou volgens ons gebaseerd moeten zijn op een nog te ontwikkelen open platform, waar ondernemers eenvoudig kunnen aansluiten.

Analyse boekje 2.0

In ons welbekende 'analyse-boekje' staat beschreven hoe Quintor een eigen aanpak voor Agile analyse heeft ontwikkeld. De aanpak voldoet nog steeds uitstekend. Maar we zien met name bij klanten waar we deze aanpak hebben kunnen inzetten dat we onze aanpak hebben uitgebreid. Dit hebben we o.a. gedaan in de uitwerking richting Quickscans & de aanpak inzetten richting het portfolioproces van een organisatie. Onderzoek wat wij als Quintor moeten opnemen in onze Agile Analyse aanpak 2.0.

Agile en fixed price projecten

Onderzoek welke alternatieven er zijn om fixed price projecten uit te voeren in een agile omgeving. Selecteer een methode (of werk de eerder genoemde alternatieve methode van Quintor verder uit) zodat Quintor een standaard methode heeft die geschikt is om fixed price aanbiedingen te doen in een agile omgeving.

Progressive Web Apps

Bij deze opdracht ga jij onderzoeken voor Quintor wat de voor- en nadelen zijn van PWA ten opzichte van reguliere native en webapplicaties. Hierbij kijk je onder andere naar ondersteuning binnen veel gebruikte frontend frameworks, performance en gebruiksvriendelijkheid. Het doel van deze opdracht is om advies te geven aan Quintor naar de mogelijkheden van deze nieuwe standaard.

Statemanagement

Webapplicaties kunnen veel staat bevatten over de huidige sessie van de gebruiker. Deze staat kan vervolgens weer invloed hebben op verschillende componenten van de webapplicatie. Aangezien componenten in een webapplicatie in een boomstructuur georganiseerd zijn, kan het moeilijk zijn om relevante informatie bij de juiste componenten te krijgen.

Frontend styling & themes

Frontend development wordt steeds groter en complexer, door de introductie van frameworks als Angular, React en typescript wordt het gebruik en webcomponents de standaard. In een gedistribueerde frontend architectuur is dezelfde user experience aanbieden een uitdaging, hoe ga je om met styling en theme-ing over verschillende componenten en teams heen.

Webassembly met Blazor

Quintor is benieuwd naar de mogelijkheden van Blazor welke belooft hier weer één stack van te maken. Jij gaat onderzoeken wat de voor- en nadelen van deze technologie zijn ten opzichte reguliere webapplicaties. Hierbij zullen onderwerpen als server load, performance, leercurve, security en browser ondersteuning grondig onderzocht moeten worden.

IoT via LoRa

Ontwerp en realiseer een Proof-of-Concept waarbij enkele LoRa apparaten via een LoRa netwerk in verbinding staan met de applicatie. De applicatie omvat de verwerking en opslag van apparaat gegevens en de weergave hiervan in de frontend applicatie. Via de frontend applicatie is het mogelijk om commando’s naar de apparaten te sturen.

Atlassian Vervangen

Momenteel gebruiken wij Atlassian on-premise en hebben wij er veel data en buildstraten in staan, maar Atlassian wil deze variant uitfaseren. Daarom leeft bij Quintor de vraag, wat nu? Gaan wij overstappen naar hun cloud variant, of kunnen we onze jarenlange ervaring gebruiken om te kijken wat voor alternatieven er zijn die beter bij ons passen?

Cloud Custodian

Klanten stappen over naar de cloud. DevOps teams krijgen daardoor steeds meer verantwoordelijkheid voor de inrichting van de systemen in de cloud. Een organisatie wil wel borgen dat alle systemen veilig zijn en dat de integriteit en vertrouwelijkheid van de data is gegarandeerd.

High Availability & SQL

SQL-databases worden veel gebruikt vanwege hun support voor een duidelijke structuur en betrouwbaarheid. Het nadeel van SQL-databases is dat ze moeilijker schalen, omdat er veel coördinatie plaats moet vinden om de data consistent te houden zodra er meer dan één instantie is, wat een negatieve impact heeft op de performance.

Infrastructuur testen

De infrastructuur wordt vaak ingericht aan de hand van scripts, waarmee de benodigde applicaties, upgrades en patches worden geïnstalleerd. Quintor wil graag een manier om deze scripts te valideren en om de veiligheid van de upgrades en patches te verifiëren om zo zeker te zijn dat onze infrastructuur veilig is en klaar voor gebruik.

Monitoring & Logging in een hybride Cloud omgeving

Quintor ontwikkeld applicaties die zowel in een on-premise als in de cloud moeten kunnen draaien. Onderdeel van software development en het beheer is monitoring en logging. Een uitdaging binnen een hybride omgeving is het goed kunnen monitoren en logging te verzamelen om zo goed inzicht te krijgen en de werking van de applicaties.

Beveiligen tegen Ransomware

Als een computer wordt geïnfecteerd met ransomware wordt de data geëncrypt en kan de encryptiesleutel verkregen worden tegen betaling. Zo werden de systemen van Universiteit Maastricht ‘gegijzeld’ door ransomware, waar ze uiteindelijk voor betaald hebben om weer toegang te krijgen tot hun systemen.

Scanning Containers

Tegenwoordig wordt software vaak geïsoleerd gedraaid in containers, waarbij alles in de container afgeschermd wordt van de rest van het systeem en vice versa. Quintor en veel van haar klanten maken hier ook gebruik van omdat het deployment makkelijker kan maken. Maar het is nooit helemaal geïsoleerd. Er zullen connecties of resources nodig zijn van de host. Ook worden er services van de host gebruikt om de container zo klein mogelijk te maken. Met deze afhankelijkheden en communicatie, hoe weet je zeker dat dit allemaal veilig gebeurt?

Securing Active Directory

Voor deze opdracht ga je onderzoek doen naar het beveiligen van Active Directory omgevingen. Welke best-practices zijn er en hoe kunnen deze zo goed mogelijk worden toegepast. Je krijgt beschikking over een slecht ingerichte Active Directory omgeving. Aan jou de taak om de fouten in de implementatie te ontdekken en te verhelpen. Uiteraard dienen deze wijzigingen gedocumenteerd en gemotiveerd te worden.

The Vault

Veel data dat door software wordt gebruikt is gevoelig en mag niet zomaar rondslingeren. Deze dat wordt dan ook beveiligd, bijvoorbeeld door wachtwoorden te vereisen bij toegang tot de database. Bij veel verschillende databronnen kan het gaan om evenveel wachtwoorden. Hoe beheer je die op een veilige manier? Hoe voorkom je dat deze wachtwoorden uitlekken?

Veilig updaten via publiek internet

Over de hele wereld worden robots gebruikt in fabrieken. Als er een update is voor een reeks robots, worden die vaak geüpdatete door er een USB-stick in te steken, omdat ze niet gekoppeld zijn aan het internet.

Wi-Fi kwaliteit monitoren

Op een kantoor is een stabiele Wi-Fi verbinding erg belangrijk. Maar zelfs al vertelt jouw laptop of mobiel dat de connectie stabiel is, kan dat in de praktijk nog steeds tegenvallen. Waar ligt dat dan aan? De laptop, of is er interferentie? Heeft de router het moeilijk?

Active Directory Integratie met Elastic Core

De ELK Stack van Elastic biedt tooling om voor het monitoren van je applicaties, zeker als je de betaalde pakketten neemt. Één van de onderdelen in een betaalde variant is Active Directory authenticatie en authorisatie. Een alternatief voor de ELK stack is OpenDistro, die deze functionaliteit wel heeft. Wij willen kijken of wij onze pijlen op ELK gericht houden of dat we mogelijk overstappen naar OpenDistro.

Application Performance Monitoring in Open Distro

Application Performance Monitoring (APM) houdt in dat je tot in detail bijhoudt wat de performance is van verschillende onderdelen van je applicatie, bijvoorbeeld hoelang methodes of functies duren, maar ook de snelheid van queries naar de database. Hiermee kun je echt inzoomen op performance knelpunten in je software om die te verhelpen.

Contract Driven Testing

Code kwaliteit is voor Quintor en haar klanten heel belangrijk. Een van de aspecten wat Quintor altijd meeneemt in het developen van systemen is het maken van end-to-end testen. Hierbij wordt het applicatielandschap volledig gestart en de interactie over verschillende componenten getest, een wijziging op een scherm moet een transactie in de database veroorzaken.

Data stream processing

Data is ontzettend belangrijk en waardevol. Hoe waardevol data is hangt er wel van af wanneer je het nodig hebt. Soms is data alleen nuttig in een korte periode nadat het geproduceerd is. Dan moet het op de korte termijn dus verwerkt worden. Om hier mee om te gaan wordt Stream Processing gebruikt, waarbij wordt geluisterd naar databronnen en zodra er nieuwe data wordt geproduceerd het direct verwerkt wordt. Dit is maar een concept en er zijn hier verschillende implementaties voor.

gRPC

In de praktijk gebruiken veel applicaties RESTful API’s voor communicatie tussen in client en server. In de steeds grotere schaal waarin Quintor haar klanten helpt met het bouwen van high performance applicaties moet onderzoek gedaan worden naar deze communicatietechniek. In deze opdracht ga je uitzoeken hoe gRPC zich verhoudt ten opzichte van REST kijkend naar onder andere performance, framework ondersteuning en gebruiksvriendelijkheid.

Identity Access Management

Quintor werkt voor veel grote partijen, waaronder de overheid en verschillende banken. Oftewel, security is ontzettend belangrijk. Daarom wil Quintor meer weten over het gebruik van de verschillende authenticatie factoren, waarbij de focus ligt op iets wat je bent.

Java: Van 0 naar 100 in FaaS

Java is een veelgebruikte programmeertaal om vele goede redenen, maar het starten van een Java applicatie is meestal niet snel. Het opstarten van de Java Virtual Machine kost tijd. Dit is geen probleem wanneer je een vast aantal servers hebt waar je applicatie permanent op draait, maar het wordt nadelig in een cloud omgeving waar er betaald wordt voor CPU gebruik en de tijd waarin de applicatie draait.

Java Frameworks voor Lambdas

Applicaties in de Cloud worden vaak gestart op demand, dus wanneer ze nodig zijn. Dit is nadelig voor één van de meest gebruikte programmeertalen, Java. De JVM is snel, maar het opstarten is niet heel snel. Dit is traditioneel geen probleem, maar wel als de applicatie vaak gestart en gestopt wordt. Daar komt ook nog bij kijken dat veelgebruikte frameworks zoals Spring voor een langere opstarttijd zorgen door reflectie en runtime code generatie.

Java Virtual Machines

Verschillende partijen hebben hun eigen implementatie van de JVM-specificatie en binnen Quintor is er nieuwsgierigheid naar de kwaliteit van de verschillende JVM’s. Wij willen graag dat jij de gangbare JVM’s inventariseert en vergelijkt deze op gebieden zoals features, performance en support. Zet je vergelijking kracht bij door een Java applicatie te ontwikkelen en deze te testen op de gevonden JVM’s.

Linked Open Data aanbieden

Quintor werkt met partijen die Open Data aanbieden. Er is interesse om dit beschikbaar te stellen als Linked Open Data, zodat er betere connecties gelegd kunnen worden met andere Open Data om zo tot nieuwe inzichten te kunnen komen. Hiervoor zal uitgezocht moeten worden wat er nodig is om data dat niet in RDF-formaat is om te zetten en te kunnen linken met andere Open Data.

Linked Open Data gebruiken

Open Data is data die gratis, publiekelijk beschikbaar is. Dit kan van alles zijn, zoals statistieken van overheden of resultaten van wetenschappelijk onderzoek. Het linken van deze data resulteert in Linked Open Data, wat kan zorgen voor meer inzichten omdat je relaties kan zien tussen verschillende data.

Performance Testing

Bij testen denken veel mensen vaak aan onderwerpen zoals unit tests en integratietests. Deze zijn erg belangrijk om de functionaliteit te verifiëren, maar hiermee krijg je geen inzicht in de performance van je applicatie. De performance is echter wel erg belangrijk, zeker voor grootschalige applicaties.

Platformonafhankelijk Function as a Service

Function as a Service, ook wel bekend als FaaS, is een vorm van Cloud computing waar de software engineer alleen de logica aanlevert. De servers worden volledig beheerd door de Cloud Provider. Dit zorgt ervoor dat een Software Developer zich volledig kan focussen op het schrijven en opleveren van business logica en niet bezig hoeft met beheer. Maar wat nu als het bedrijf wil switchen van Cloud Provider? FaaS is vaak vendor-specifiek en dus zit je met software wat niet ergens anders kan draaien zonder een conversie.

Point-to-point communication

Quintor ontwikkelt vaak met veel verschillende teams aan modulaire systemen. De onderdelen moeten betrouwbaar communiceren en moeten snel en onafhankelijk van elkaar doorontwikkeld worden. Effectieve en schaalbare communicatie tussen modules is een cruciaal aandachtspunt in gedistribueerde systemen. Het beïnvloedt aanzienlijk de latency en de hoeveelheid resources die nodig zijn om het systeem te bouwen en te gebruiken.

Scalable databases for realtime applications

Quintor ontwikkelt voor haar klanten veel frontend applicaties waarbij de data afkomstig is van een backend waar mogelijk business logica wordt uitgevoerd. In een tijd waarin snelheid en stabiliteit steeds belangrijker wordt ontstaat ook de vraag naar betere performance van databases. Traditioneel gezien werken databases met een pull mechanisme waarbij klanten nu op zoek zijn naar realtime bijgewerkte data.

Serverless migratie van functions

Klanten omarmen de cloud en maken gebruik van één of meerdere cloud diensten. Daarnaast is de beweging naar serverless ingezet, daarbij kan de ontwikkelaar zich primair focussen op de code. Een beweging die we in het verleden hebben gezien is de adoptie van technologie door grote internationale spelers. Dit creëert op termijn een vendor-lock-in.

Service Discovery

Applicaties bestaan niet in een vacuüm, ze zijn verbonden met vele andere applicaties, bijvoorbeeld via HTTP(S). Om een HTTP(S) connectie op te zetten, heb je een IP-adres nodig. Als elke applicatie het vaste adres nodig heeft, kan het adres nooit wijzigen en kunnen er nooit extra instanties gestart worden wanneer nodig zonder wijzigingen door te voeren.

Verkeeroptimalisatie

Nederland staat bekend om haar goede wegennetwerk. En nog steeds worden steeds verbeteringen doorgevoerd om het aantal voertuigverliesuren te minimaliseren, een metriek die aangeeft hoeveel tijd er verloren gaat in het verkeer door minder optimale wegen. Onderzoek hoe het Nederlandse wegennetwerk in een Graph Database past en hoe hier snel mee gerekend kan worden wanneer er wijzigingen plaatsvinden.

Code Completion bij het zoeken in OpenDistro

De ELK Stack wordt veel gebruikt voor het monitoren van je applicaties. Dit bestaat uit een open source pakket, wat eigen toevoegingen en daarbovenop nog wat optionele betaalde features. Breidt het open source project Open Distro uit met code completion bij het zoeken, zodat Quintor dit als alternatief heeft voor de algemene monitoring.

Ga naar de bovenkant