Server-less Architecture & Priority queues

By tobias.leyland@firstb2b.com • September 12, 2025 at 04:20 PM

Good afternoon!

Todays blog post is around our move to Server-less and implementing priority queueing.

Why server-less?

Our processing system is queue based. Some time ago, we had 'workers' running on our different servers that would process maps.

Managing these workers was a manual task and fairly resource intensive for the engineering team. The workers would sometimes stop processing and need manual help to start again. We had alarms in place but at that point did not have autonomous scaling.

Naturally, this wasn't a scalable solution and the plan was made to have these workers process autonomously.

We developed a containerised version of our workers and ran these in TEST for a long time to ensure that we had ironed out any quirks. LIVE containers followed.

Once our database move to AWS was completed, it was the perfect chance to get these running on AWS ECS. Elastic Container Service is fully-managed by AWS, we bring the code and scaling policies - Amazon takes care of the underlying infra.

We again started with the TEST containers first, followed by LIVE and have now been running these containers in ECS for a while.

The auto-scaling is an excellent addition that we did not have before and it's frequently utilised when there's lots of maps to process in a short space of time.

Priority Queues

Whilst developing containers for these workers, we also added the ability to give the jobs priorities. Some documents that we process are time-critical and thus receive a higher priority when it comes to being processed. An order will be processed ahead of an invoice for example.

Thanks for reading!

Welcome to the Lens. This site uses cookies. Read our policy.

X