Microservices
Microservices Architecture

Microservices

Microservices are a modular architecture approach that is driven by domain-driven design principles and an organization’s communication structure.

Designed for distributed computing, microservices are loosely coupled services that provide an opportunity to break large business applications into discrete services, allowing them to scale to better meet customer needs.

.

Characteristics

Size

The size of the service matters. Microservices are meant to be “micro” in nature.

Modularization

Microservices are developed in a modular fashion. Teams develop software in modules. Developers focus on modules and intercommunication between modules rather than understanding the whole system.

Distributed Communication

Microservices run within independent processes. Therefore, communication between microservices is via the network.

Team Size

A team has to be able to implement features independently of the other teams.

Domain Driven Design

In Domain-driven design, a domain is defined as a sphere of knowledge, influence, or activity. DDD is a methodology that is applied when designing individual systems. Here, we propose to use domain-driven concepts at the enterprise architecture level, organizing the IT portfolio in large bounded contexts.

Capability domains bring together:

  • The products that support the capabilities of the domain
  • The information that is produced by the products in the domain
  • The application experts who ‘own’ or support the products in the domain
  • The projects that realize domain capabilities and thus deliver value to the business

Domain-driven design is important for understanding microservices for it supports the structuring of larger systems according to domains. Each microservice is meant to constitute a domain, which is designed in such a way that only one microservice has to be changed in order to implement changes or introduce new features.

Microservices architecture benefits

  1. Strong modularization
  2. Easily replaceable
  3. Velocity, strong modularization, and replicability lead to the sustained speed of development;
  4. Legacy systems can be supplemented by microservices without the need to carry around all the code accumulated by legacy systems;
  5. Continuous Delivery is much easier to set up because of the smaller nature of services;
  6. If microservices are implemented by applying best practices then it results in a more robust system;

Polyglot Microservices

It takes a long time to upgrade from one version of the language to a newer version. If making a framework upgrade means impacting every single aspect of your production deployment, it is highly unlikely that the business would agree to it.

No alt text provided for this image
Polyglot Services

Microservices offer technological freedom. Microservices communicate over the network via language-agnostic protocols, they can be implemented in any language and platform as long as they can communicate with other microservices.

- Microservices offer Free Technology Choices

- Choice of data sources

No alt text provided for this image


- And languages that an organization can support



Objex Inc. Transforming Digital Landscapes with Seamless Architecture Solutions including Microservices Architecture Consulting Services

要查看或添加评论,请登录

社区洞察

其他会员也浏览了