Most projects tend be based on a monolithic architecture however microservice architectures are becoming more popular as both the understanding and tooling around them improves. A microservice architecture comprises of small independent distributed modules typically dealing with a small set of functions and managing its own data as opposed to a single database for the entire application. Services can be swapped out and upgraded fairly easily and a well-designed project can scale laterally and utilise multiple technologies.
The benefits of a microservice architecture tend to become more apparent as your monolith grows and at that point you may want to start introducing microservices and start breaking up the monolithic structure.
There is a cost to this type of architecture and not every project benefits from a microservice style. Among other things there is an overhead in managing the distribution of modules and debugging. Over time your application will be come naturally more resistant to disruption however this is because you need to start thinking about services timing out or not being available. Companies such Netflix, Twitter and Paypal have all adopted microservices but these also all evolved from monolith architectures.
As a smaller business it’s worth thinking about distributed services however when you’re getting started I would advise a monolith approach first until you have a good understanding of your domain and until you have enough activity to justify the overheads
Do you have an app/project you'd like a quote for?
Hi there, I’m Alex and I’d love to discuss your next project with you.
I’m happy to discuss requirements, timeline, budget and any other concerns you may have.