Ambassador services are often deployed as a sidecar (see below). Ambassador can be used to offload common client connectivity tasks such as monitoring, logging, routing, and security (such as TLS) in a language agnostic way. ). The design patterns shown here can help mitigate these challenges. A microservices architecture also brings some challenges. Basic Microservices architecture pattern Another key concept within the microservices architecture pattern is that it is a distributed architecture, meaning that all the components within the architecture are fully decoupled from one other and accessed through some sort of remote access protocol (e.g., JMS, AMQP, REST, SOAP, RMI, etc.