Introducción: proxy local
Ambassador es proxy local para servicios externos. Tu app → Ambassador → ExternalAPI. Ambassador maneja: retry, circuit break, rate limit, auth, logging. Centraliza políticas. Sin Ambassador, cada app cliente duplica lógica. Con Ambassador, una sola versión. Envoy es implementación estándar. En K8s, sidecar + app = patrón. En monolito, es componente. Ventaja: separación de concerns, upgrade sin cambiar app. Desventaja: latencia agregada (proxy hop), complejidad. Usa para APIs externas críticas (payment, shipping, analytics).

Prompt: proxy envoy representing service, minimal style.
1. Naturaleza: embajador diplomático
Un embajador representa a su país ante otros, evitando contacto directo.

Prompt: diplomat handshake, soft illustration.
2. Mundo Real: APIs externas
Un servicio usa un proxy local para acceder a APIs de terceros con throttling.

Prompt: external APIs through proxy, flat infographic.
3. Implementación en C#: Código Paso a Paso
// Configura HttpClient hacia el proxy local
services.AddHttpClient("thirdparty", c =>
c.BaseAddress = new Uri("http://localhost:15001"));
El proxy local encapsula autenticación y políticas de reintento.
4. Ambassador vs Sidecar
Ambassador se centra en acceso a servicios externos.
Sidecar suele aportar capacidades transversales dentro del mismo entorno.
5. Diagrama UML

Prompt: UML ambassador proxy pattern, clean vector.

Prompt: ambassador flow diagram, minimal infographic.
⚠️ Cuándo NO Usar Ambassador
- Si no hay servicios externos.
- Si la latencia extra del proxy es inaceptable.
- Si tu malla de servicios ya maneja estas políticas.
💪 Ejercicio
Diseña un proxy local para integrar un API externo crítico.
Conclusión
Ambassador centraliza y protege integraciones externas.