← Terug naar projecten

Project Hosting

Shared-hosting infrastructuur gebouwd voor project "Skil 2/2".

Wat

Als opdracht voor project "Skil 2/2" heb ik in samenwerking met mijn groep (VCO3) een oplossing bedacht voor een probleem van onze klant. De klant had nood aan een gemakkelijke oplossing om zijn PHP-applicaties te hosten.

Het platform moet makkelijk te gebruiken zijn en aan verschillende eisen voldoen, zoals onder andere volledige ondersteuning voor PHP en Laravel applicaties.

Opdracht

De opdracht hield in om een oplossing te bedenken, ontwerpen, documenteren en te bouwen. Het uiteindelijke doel is feitelijk een "shared-hosting" oplossing naar het model van grote spelers zoals Combell.

Het team heeft de keuze gemaakt om het platform te bouwen in een Kubernetes-cluster. De klant moet zijn bestanden gemakkelijk kunnen uploaden naar het platform en heeft ook een dashboard of API nodig om hiermee te kunnen interageren. Wij hebben gekozen om alvast te focussen op de API voor onze Proof of Concept (PoC).

Combell Logo

Uitwerking

Tijdens de uitwerkingsfase heeft het team nauw samengewerkt aan alle onderdelen van het project. De infrastructuur is opgebouwd uit verschillende moderne componenten:

  • Infrastructuur: De Kubernetes-cluster wordt headless opgezet met behulp van Terraform-scripts (om de K8s-nodes / VM's via Proxmox op te zetten). Daarna wordt Ansible gebruikt om de cluster te configureren.
  • Applicatie: De klant uploadt zijn PHP/Laravel-applicatie en database met behulp van (S)FTP.
  • Storage & Isolatie: Bestanden komen op een NAS (storage medium) waarvan ze in een geïsoleerde webserver-omgeving (pods/containers) worden ingeladen.

Achter de schermen draait een op maat gemaakte (onderliggende) API die zorgt voor de naadloze integratie en automatisatie van het platform. Hierdoor kunnen beheeracties veilig en efficiënt worden afgehandeld.

Proxmox Logo

Resultaat

Het project werd bijzonder positief ontvangen door de klant. De opgeleverde Proof of Concept (PoC) beantwoordde volledig aan de gestelde eisen en alle betrokken partijen waren zeer tevreden over het resultaat.

Gedurende dit hele proces heb ik persoonlijk enorm veel bijgeleerd op het gebied van cloud en infrastructuur. Ik heb succesvol gewerkt met technologieën zoals BIND DNS, meegewerkt aan de onderliggende API, en mijn kennis van Kubernetes aanzienlijk uitgebreid (waaronder het complexe beheer van External Volumes).

Laravel Logo