A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices below:

Microservices Architecture Style - Azure Architecture Center

Microservices are a popular architectural style for building applications that are resilient, highly scalable, independently deployable, and able to evolve quickly. Building a successful microservices architecture requires a fundamental shift in mindset. It goes beyond decomposing an application into smaller services. You must also rethink how systems are designed, deployed, and operated.

A microservices architecture consists of a collection of small, autonomous services. Each service is self-contained and should implement a single business capability within a bounded context. A bounded context is a natural division within a business and provides an explicit boundary within which a domain model exists.

The diagram illustrates a microservices architecture deployed on Microsoft Azure. It's organized into eight labeled sections that each represent a key architectural component. The layout flows from left to right and top to bottom. On the far left, icons labeled clients represent users or external systems that initiate requests to the application. An arrow points from the clients to an API gateway. Requests flow through the API gateway and on to the appropriate microservices. Arrows point from the API gateway to a box labeled microservices. This box contains two icons for domain services, one icon for composition services, and one icon for service. Arrows point from the microservices to another box that's labeled domain databases. This box contains icons that represent two SQL databases and a NoSQL database. Arrows also point from microservices to a box labeled message-oriented middleware. The arrows are labeled publish or subscribe and events. The diagram also includes boxes that represent observability, management and orchestration, and DevOps.

What are microservices?

Microservices are small, independent, and loosely coupled components that a single small team of developers can write and maintain. Each service is managed as a separate codebase, which allows a small team to handle it efficiently. Because services can be deployed independently, teams can update existing services without rebuilding or redeploying the entire application. Unlike traditional models that have a centralized data layer, microservices are responsible for persisting their own data or external state. They communicate through well-defined APIs, which keeps internal implementations hidden from other services. This architecture also supports polyglot programming, which means that services don't need to share the same technology stack, libraries, or frameworks.

Components

In addition to the services themselves, other components appear in a typical microservices architecture:

Benefits Challenges

The benefits of microservices come with trade-offs. Consider the following challenges before you create a microservices architecture:

Best practices Antipatterns for microservices

When you design and implement microservices, specific pitfalls frequently occur that can undermine the benefits of this architectural style. Recognizing these antipatterns helps teams avoid costly mistakes and build more resilient, maintainable systems. Avoid the following antipatterns:

Build a microservices architecture

The following articles present a structured approach for designing, building, and operating a microservices architecture.

Use domain analysis: To avoid common pitfalls when you design microservices, use domain analysis to define your microservice boundaries. Do the following steps:

  1. Use domain analysis to model microservices.
  2. Use tactical DDD to design microservices.
  3. Identify microservice boundaries.

Design the services: Microservices require a decentralized and agile approach to designing and building applications. For more information, see Design a microservices architecture.

Operate in production: Because microservices architectures are distributed, you must have robust operations for deployment and monitoring.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4