Microservice Patterns | Design Patterns | Microservice Ambassador


Microservice and Containerization Patterns > Base Deployment Patterns > Microservice Ambassador
Home > Design Patterns > Microservice Ambassador

Microservice Ambassador (Erl, Naserpour)

How can microservices efficiently interact with remotely deployed utility components that need to be independently maintained?

Microservice Ambassador

Problem

A microservice may need access to shared components that perform common utility tasks, such as monitoring, logging and auditing. It is not possible to redundantly copy them into the microservice environment because they need to be independently maintained. At the same time, it may be inefficient for the microservices to remotely interact with them.

Solution

A special ambassador container is created to host virtualized copies of the utility components.

Application

The utility components and services are deployed in the ambassador container located on the same host as the microservices. The ambassador can act as an efficient proxy between the microservices and the utility components.

An ambassador container is implemented on the same host as the microservice. The ambassador container provides components through which the microservice can efficiently communicate with the remote utility components.

Microservice Ambassador: Microservice A uses the ambassador container as a liaison to communicate with externally deployed utility. 

Microservice A uses the ambassador container as a liaison to communicate with externally deployed utility.

This pattern can be applied to enable the ambassador to be part of a maintenance cycle independently of the microservice and to further establish a system whereby the ambassador is used to monitor the performance metrics of the microservice, including latency or resource usage, as described in the complete pattern description.

Module 10: Advanced Microservice Architecture & Containerization.

This pattern is covered in Module 10: Advanced Microservice Architecture & Containerization..

For more information regarding microservice and containerization courses and accreditation,
visit the Microservice Architect Certification program page..