Beeldverwerking met AWS Spot fleet
Beeldverwerking en OCR kost veel CPU tijd. Dat is geen probleem maar wat als er elke dag tot duizenden beelden verwerkt moeten worden in verschillende beeldformaten? En er dan ook nog OCR/tekstherkenning op toegepast moet worden?
We ontworpen een cloud architectuur die virtueel onbeperkte parallelle verwerkingscapaciteit levert.
De basisapplicatie
We hebben eerst een applicatie opgezet als microservice, die alleen de CPU intensieve taken uitvoert:
- omzetten van beelden naar verschillende formaten en afmetingen, zoals progressive jpeg en webp
- het omzetten van pdf's naar afbeeldingen van de afzonderlijke pagina's
- toepassen van OCR/tekstherkenning op deze beelden met een op neurale netwerken gebaseerde herkenningscomponent
Er kunnen duizenden opdrachten verstuurd worden die in een verwerkingswachtrij geplaatst worden. Als de opdracht verwerkt is, komt het resultaat in een resultaten lijst terecht en kan deze opgehaald worden.
De architectuur
Binnen Amazon Web Services hebben we een architectuur opgezet die servers inschakelt naar behoefte. Als er veel opdrachten in de wachtrij staan, worden automatisch servers toegevoegd. Als er na een tijd zo weinig opdrachten over zijn dat servers niets te doen hebben, worden er servers uitgeschakeld.
Bij grote cloud providers zoals Amazon en Google is er veel overcapaciteit - CPU en geheugen dat voor korte tijd ongebruikt is. Deze capaciteit kan zeer voordelig ingekocht worden voor korte periodes. Dit levert kostenbesparingen op van 70-80%.
Omdat het systeem is opgezet als microservice met 'wachtrijen' en queues kan deze hier zeer goed gebruik van maken.
Het systeem als geheel is fault tolerant. Als een verwerking faalt, wordt deze automatisch door een andere machine opgepakt. Deze aanpak is nodig om efficiënt op- en neer te kunnen schalen.
Een bijkomend voordeel hiervan is dat er zelfs zeer goedkope servers ingezet kunnen worden buiten Amazon. Als deze uitvallen is er niets aan de hand en nemen servers bij Amazon het over.
AWS migratie
Update voor het lopende AWS migratie project.
Load en Stress tests
Cloud infrastructuur testen met K6
Gobot RPI simulator
GPIO pin simulator voor RPI geschreven in Golang
Reactions Craft CMS plugin
Nieuwe Craft CMS plugin voor Facebook stijl reacties
Drukte op beurssites door Corona virus
Lees hoe de door ons opgezette server de drukte op een beurssite aankan.
Liveblog Beurs
Gedaan met stoffige beursartikelen. Hier een Facebook-stijl blog feed om het beursnieuws wat kleurrijker en actueler te maken.