Technische vereisten deelname Digilab
Voor deelname aan het Digilab platform gelden de onderstaande technische vereisten.
De applicaties worden gedeployed in de Microsoft Azure cloud. Digilab probeert echter zo cloud-agnostisch mogelijk te zijn, waardoor het voor een applicatie niet zou moeten uitmaken waar deze precies draait.
Het platform van Digilab draait op Haven-compliant Kubernetes clusters. Dit stelt de volgende eisen aan de workloads:
- Elke workload moet gecontaineriseerd zijn, d.w.z. kunnen draaien in een (Docker) container.
- Elke container heeft een enkele functie, er mogen niet meerdere services draaien in één container.
- De workloads moeten stateless zijn, dus deze moeten niet schrijven naar hun local filesystem. Er kan wel geschreven worden naar databases en object storage.
- De container images dienen in een publiek beschikbaar registry te staan. Dit mag wel afgeschermd zijn met authenticatie. Het Digilab team kan hierin eventueel helpen.
- Gebruikte poorten moeten hoger zijn dan
1024. Voor open source software kun je meestal de standaardpoort gebruiken, zoals5432voor PostgrSQL of6379voor Redis. Voor webapplicaties gebruik je bijv.8000of8080, maar hier ben je vrij in. De bijbehorende service heeft in het eerste geval dezelfde poort, maar in het tweede geval (webapplicatie) altijd poort80. - Elke workload beschikt over een livenessProbe en een readinessProbe. Voor een webapplicatie moeten dit een lichtgewicht call zijn, bijvoorbeeld een simpele pagina die enkel een correcte statuscode teruggeeft.
- Voor elke workload zijn resource requests en limits geconfigureerd, voor zowel
cpualsmemory. - Elke applicatie moet compatible zijn met Kubernetes Event-driven Autoscaling (KEDA) zodat er niet onnodig veel resources in gebruik blijven. Er is een voorbeeldapplicatie beschikbaar ter referentie.
Laatste wijziging: 03-11-2023.