We came across a great tech post the other day by developer and writer Alfred Nutile. His post describes a simple process for doing background processing and creating microservices within Laravel, a fantastic PHP framework for modern web developers.
Background Processing and Microservices
Github estimated that over 40% of workloads are processed in the background. At Iron.io, we have a number of customer stories that back this up including Untappd. In a detailed case study we show how they greatly reduced their user response times by moving 10 different events to the background and processing them using IronWorker.
Creating microservices is an extension of this, essentially formalizing the concept of a worker into a task-specific API-driven service that is highly available and can be run on-demand. The benefits of moving from a monolithic application to a more distributed one are many. They include faster response times (by moving certain events to the background), more effective scaling, a more robust application, and much faster feature development.
In computing, microservices is a software architecture design pattern, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled, and focus on doing a small task.
Distributing Workloads in Laravel
By creating workers within IronWorker, Alfred Nutile is able to separate tasks from the main application and then distribute the processing so that multiple events can run concurrently without having to manage any servers or infrastructure.
Alfred’s post does a great job of walking through the steps of creating workers, uploading them, and then calling them within his application. It’s a very thorough writeup and includes code and a number of screenshots. We definitely recommend checking it out.
To read the full post, go here >>
If you would like to try it yourself, IronWorker offers a free 14 day trial to get started. Signup here.