August 5, 2020
If you’re in the process of roadmapping your app or platform, it’s time to give your architecture some serious thought. One of the key considerations to take into account is whether you’ll adopt a microservices approach or take a more traditional monolithic route.
A microservices-based architecture offers many benefits, including improved scalability, better security and greater efficiency – not to mention the potential to significantly reduce time to market when adding new features.
Let’s take a closer look.
What are microservices?
Microservices – also sometimes known as microservices service-orientated architecture – is a way of structuring software development as a collection of smaller, modular applications that communicate via API, instead of a single monolithic program.
Monolithic architecture is still the predominant architectural style, but for reasons we’ll get into below, a growing number of companies like Groupon, Amazon, Netflix, Soundcloud, Uber, and many more are adopting a microservices architecture.
For example, an on-demand food delivery app might comprise the following modular services:
User management Menu management Customer order management In-app messaging GPS route planning Delivery management Payment Rewards program management Customer review management Personalized product recommendations
Source: https://martinfowler.com/articles/microservices.html Characteristics of a microservice architecture
An application created using a microservices architecture is essentially a suite of services that run independently and communicate via lightweight mechanisms such as RESTful APIs. Centralized management is at a minimum, allowing each team to use their own preferred methods and technologies.
Some of the characteristics of microservices include:
Microservices are loosely coupled, Microservices can be deployed independently, Microservices tend to be based on business capabilities, It’s easy to integrate plug-and-play third-party APIs, Each microservice runs its own process, so they’re easy to test, maintain and update, Each microservice is typically owned by a small team.
Such a high level of independence can lead to organizational siloing and creates a need for rigorous quality standards and meticulous documentation and reporting. As such, it’s not advisable to adopt microservices without also implementing DevOps or managed cloud services.
Whereas a monolithic application is built as a single application, typically consisting of three parts – a front-end/client-side user interface, a database, and a back-end/server-side application – a microservices architecture will feature multiple smaller server-side applications and use a REST service to call on services individually as they’re needed.
Use cases of microservices
The use cases for microservices are endless. To get an idea of the wide applications of this architecture, let’s take a look at how verticals that have been early microservices adopters have benefited from implementing microservices.
Ecommerce companies like Amazon and eBay have found value in the reliable availability and scalability of microservices, as well as the ease of resolving bugs.
Media and entertainment
As digital healthcare gains momentum, health apps are finding that microservices help to facilitate shorten development pipelines and allow for faster adoption – and deployment – of innovative technology. The healthcare microservices market is projected to grow from $130 million in 2018 to $519 million by 2025.
Finance, insurance, and banking
For the financial services industry, advantages of microservices include higher security standards thanks to the use of a separate service for user identity management and authentication,Continue reading