De hele wereld beweegt naar een gesimplificeerd ICT landschap op basis van REST. In deze blog leggen wij uit waarom en wanneer je nog queues zou moeten gebruiken voor je (Cloud) applicaties.
Wij adviseren om van tevoren al na te denken over het modulair opzetten van je API/ applicatie. Door deze by design al modulair op te zetten kun je namelijk in de toekomst eenvoudig schalen (in de Cloud). De modulaire onderdelen (bij ons adapters) koppel je bij voorkeur aan queues. Deze modulaire onderdelen worden zo ontkoppeld waardoor ze parallel en individueel geschaald kunnen worden.
Bij hoge load of bij het aanbieden van grote batches is het van belang dat je hele applicatie, maar liever nog specifieke onderdelen van je applicatie, automatisch kunt schalen. Doordat de onderdelen zijn ontkoppeld door queues kunnen deze parallel geschaald worden en ondervindt de rest van de applicatie geen last van een hogere load.
Een bijkomend voordeel van queues is dat je je API of applicatie transactioneel kunt maken. Transactionaliteit wordt gebruikt bij (financiële) processen, bijvoorbeeld mutaties, waarbij het van belang is dat het gehele proces succesvol wordt afgerond. Wanneer er bij 1 van de stappen in het proces wat fout gaat, dan moet het gehele proces (de afzonderlijke transacties) worden teruggedraaid. Door je applicatie modulair te maken en queues te gebruiken kun je dit bewerkstelligen.
Door niet te kiezen voor een Cloud native queuing oplossing, maar voor bijvoorbeeld (open source) ActiveMQ, blijft je applicatie Cloud Agnostisch en heb je geen vendor lock-in voor je applicatie.
Binnen WeAreFrank! kunnen we high available, transactionele en Cloud independent API oplossingen voor je bouwen en beheren. Wij bouwen deze oplossing dan met bijvoorbeeld ActiveMQ in combinatie met het open source Frank!Framework.
Heb jij een vraag over IT-architectuur? In 9 minuten bespreken we jouw vraag!