Hoe bouw je een Open Source data management platform?

a red open flag on a beach next to the ocean

Wat was onze uitdaging?

Voor een middelgrote klant met logistieke centra en allerlei losse oplossingen zochten we:

  • een platform om data te verzamelen uit API’s;
  • een low-code oplossing om die data eenvoudig te bekijken/beheren;
  • een database;
  • een workflow automation tool;
  • een eenvoudige server management tool;
  • een eenvoudige server omgeving.
Uiteraard was een belangrijke eis beveiliging, dit is altijd de grootste uitdaging. Alle tools moesten dus bij voorkeur op een krachtige server draaien met alleen maar connecties over het interne netwerk. Daarnaast zoveel mogelijk 2FA, IP whitelisting en andere zaken.

Heb je een dergelijke oplossing nodig en moeten we dit voor je opzetten?

Een eenvoudige server management tool

Toen we hier een jaar geleden mee begonnen was dit een uitdaging. We zochten iets simpels met ook de mogelijkheid om eenvoudig applicaties in een Docker omgeving te deployen. Bj voorkeur ook nog met een marketplace. 
Na een zoektocht van enkele maanden kwamen we Easypanel tegen, een moderne manier om een server te beheren met een supereenvoudige installatie. De reviews waren geweldig en tot nu toe hebben we geen enkele teleurstelling gehad.

 
 
Intussen hebben we ook een andere managed omgeving ontdekt voor Open Source tools maar daar berichten we later over.
Het mooie van Easypanel is de ondersteuning voor Docker en Docker swarm en de marketplace voor Open Source tools. Alle applicaties zoals:
 
  • N8N,
  • Budibase,
  • MariaB,
  • Postgress;
  • PHP admin;
  • WordPress
  • en nog 50 andere applicaties

zijn met 1 klik te installeren.

 
Easypanel heeft ook een hele reeks aan features die goed van pas komen:
 
  • automatische MariaDB backups;
  • Docker  compose;
  • Traefik reverse proxy met whitelisting op service niveau;
  • domain configuratie;
  • maintenance mode;
  • redirects;
  • monitoring;
  • en nog veel meer.

Data verzamelen uit API's

De opdracht was groot. Door allerlei data silo’s in o.a.: Visma, Superoffice, website, spreadsheets en specifieke applicaties was er behoefte aan 1 plek voor data en applicaties die met die data kunnen werken.

Feitelijk zochten we een ETL oplossing zoals je die wel ziet in het Saas model.

Hoewel we ook veel werken met tools zoals Zapier en Make.com was de conclusie dat dit niet zou gaan werken. Het zijn prachtige tools maar op het moment dat je miljoenen records doet is het simpelweg te duur. De prijs was in dit geval dus de spelbreker. Daarnaast zochten we gewoon een oplossing om alles op 1 krachtige server te draaien.

Voor het verzamelen en transformeren van data gebruiken we de combinatie N8N en MariaDB. MariaDB kan met de juiste server specificaties miljoenen records aan en dat is wat we zochten. N8N is een mooi Open Source alternatief voor Zapier en Make.com en kan ook per workflow duizenden records afhandelen.

 

Een low-code oplossing voor interne applicaties

Onze zoektocht naar een flexibele en eenvoudige Open Source low-code tools was langer. Enkele geteste oplossingen: Tooljet, Appsmith, NocoDB, Baserow en Budibase.

Uiteindelijk is ons oog gevallen (geen spijt) op Budibase en daar werken we nu al meer dan een jaar mee. Budibase is ons platform voor het inzichtelijk maken van alle data die via de API binnenkomt. Maar daarnaast worden er ook andere interne applicaties mee gebouwd. Omdat het Open Source is lopen we niet teveel risico, de code van het platform is altijd beschikbaar.

De licentiestructuur van Budibase is eenvoudig, tot 20 gebruikers gratis met bepaalde features en daarna betaald. Je kunt dan nog steeds kiezen voor self-hosted of cloud.

De tools aan elkaar knopen

Uiteindelijk is de keten Easypanel > MariaDB > N8N > Budibase zeer sterk gebleken. Met uitstekende support voor alle tools is dit een ijzersterke combinatie.

Over het algemeen zetten we de tools als volgt in:

  • N8N voor alle workflow automation en ETL in combinatie met MariaDB;
  • Budibase voor beheren/verwerken/visualiseren van de data;
  • MariaDB voor het opslaan van de data.

Eenvoudige server omgeving

We zijn al jaren fan van Digital Ocean, niet omdat de servers altijd het snelst zijn maar meer i.v.m. het gebruiksgemak en de beschikbaarheid van een API en S3.

Hoewel we intussen een betere omgeving aan het optuigen zijn, managed Open Source, heeft de Digital Ocean omgeving ons nooit in de steek gelaten. We gebruiken de volgende features:

  • S3 Spaces voor MariaDB backups en file backups;
  • API voor snapshots.
Op dit moment draait de eerder genoemde applicatie combinatie het beste op een server met 8 Gb. met 4 vCPU’s. Dan moet je aan een prijsniveau van EUR 100-200 per maand denken. Dan heb je een hele complete server omgeving waarop je diverse applicaties kunt ontwikkelen.

Het opzetten van een omgeving die we hier beschrijven is zelf te doen maar wil je alle valkuilen voorkomen dan kunnen we het voor je doen voor een vaste flatfee.

Heb je een dergelijke oplossing nodig en moeten we dit voor je opzetten?

Related Post