Microservices Architecture1

 

Definition

Microservice architecture, or simply microservices is an architectural style that structures an application as a collection of services, The trend has grown popular in recent years as enterprises look to become more Agile.

 

A microservices takes this same approach and extends it to the loosely coupled services which can be developed, deployed, and maintained independently. Each of these services is responsible for discrete task and can communicate with other services through simple APIs to solve a larger complex business problem.

 

This architecture means that each service can run its own unique process and communicate autonomously without having to rely on the other microservices or the application.

 

How microservices works

Microservices are a set of services that act together to make a whole application operate. This architecture utilizes APIs to pass information, such as user queries or a data stream, from one service to another.

How the underlying software works, or which hardware the service is built upon, depends solely on the team who built the service. This makes both communicating between teams and upgrading services very dynamic even reactive allowing a software company or team to be more resilient in its development.

 

Microservices Architecture2

 

Benefits

The benefit of decomposing an application into different smaller services are numerous:

  1. Better Fault Isolation for More Resilient Applications.
  2. Modularity: This makes the application easier to understand, develop, test, and become more resilient to architecture erosion.
  3. Scalability: Since microservices are implemented and deployed independently of each other. So, they run within independent processes, they can be monitored and scaled independently.
  4. Distributed development: it parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.

 

Disadvantages

the microservice architecture comes with a learning curve. Users might struggle to determine the right framework to integrate services or each microservice’s size More broadly, microservices have these Disadvantages:

  1. Microservices can be more expensive, they usually run in their own environments with their own CPUs and work through API calls which have a price tag and requires a team of engineers that capable of building it, so labor costs are going to be more.
  2. Finally, because microservices will exist through different environments on different running machines with different API calls, they offer more points of contact for an attacker to get in and damage the system.

 

 

Examples

 

Many large companies now utilize microservices within their architecture. Netflix is one of the earlier, most well-known adopters. Some other well-known examples are:

  • eBay
  • PayPal
  • Twitter
  • Amazon

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Explore more
Our products