Skip to main content
Vietnam
AIMenta
D

Dapr

by CNCF / Microsoft

CNCF open-source distributed application runtime enabling APAC polyglot microservice teams to add service invocation with retries, pub/sub messaging, state management, distributed tracing, and actor model capabilities through a Kubernetes sidecar API — without changing application messaging SDK, adding SDK dependencies, or coupling APAC services to specific messaging or storage infrastructure.

AIMenta verdict
Recommended
5/5

"Dapr is the distributed application runtime for APAC Kubernetes — sidecar APIs for service invocation, pub/sub, state management, and actor model without SDK lock-in. Best for APAC polyglot microservice teams adding resilience and messaging with minimal code changes."

Features
7
Use cases
4
Watch outs
4
What it does

Key features

  • Service invocation sidecar — APAC inter-service calls with automatic retry, tracing, and mTLS via local HTTP API
  • Pub/sub abstraction — APAC messaging via Kafka, NATS, SQS, Azure Service Bus through unified sidecar API
  • State management — APAC Redis, DynamoDB, Cosmos DB state access without SDK coupling
  • Actor model — virtual actor pattern for APAC stateful concurrent processing at scale
  • Distributed tracing — automatic OpenTelemetry trace propagation across APAC microservice calls
  • Secrets API — APAC secret retrieval from Vault, AWS Secrets Manager, Azure Key Vault via sidecar
  • Polyglot support — HTTP/gRPC sidecar API works with any APAC language without dedicated SDK
When to reach for it

Best for

  • APAC polyglot microservice teams with services in multiple languages (Java, Go, Python, Node.js) who need consistent messaging, state management, and resilience primitives across all APAC services without requiring a separate SDK for each language
  • APAC organisations migrating microservices to Kubernetes that want to add service resilience (retries, circuit breaking) and distributed tracing without modifying APAC application code — Dapr's sidecar injection adds these capabilities transparently
  • APAC platform engineering teams who need to abstract APAC infrastructure choices (which message broker, which state store) from application code to enable infrastructure portability across APAC cloud providers without application changes
  • APAC AI platform teams building LLM inference orchestration services that need durable actor model state for conversation history, pub/sub for APAC request distribution across inference replicas, and state management for APAC session context
Don't get burned

Limitations to know

  • ! Sidecar overhead — Dapr injects a sidecar container into every APAC pod, adding memory overhead (~25MB per pod) and network hops for APAC service calls that go through the sidecar; APAC teams with high-performance, low-latency requirements should benchmark Dapr sidecar overhead against direct service mesh alternatives
  • ! Abstraction leakage — Dapr's abstraction over APAC infrastructure components (pub/sub, state store) hides infrastructure-specific features; APAC teams using advanced Kafka consumer group features or Redis-specific data structures must bypass Dapr's abstraction layer and couple to specific APAC infrastructure
  • ! Operator dependency — Dapr requires the Dapr Operator installed in the APAC Kubernetes cluster; APAC teams operating managed Kubernetes environments with restricted CRD installation rights may face deployment approval overhead for Dapr's cluster-scoped operator
  • ! Debugging complexity — APAC inter-service calls routed through Dapr sidecars add indirection to APAC service debugging; APAC engineers troubleshooting latency issues must distinguish between APAC application processing time and Dapr sidecar overhead using distributed traces
Context

About Dapr

Dapr is a CNCF open-source distributed application runtime that enables APAC polyglot microservice teams to add resilient service-to-service communication, pub/sub messaging, state management, distributed tracing, and actor model capabilities to APAC Kubernetes microservices through a sidecar container (injected by Dapr's Kubernetes operator) that exposes HTTP and gRPC APIs — decoupling APAC application code from the specific messaging brokers, state stores, and service meshes they communicate with, enabling APAC teams to swap infrastructure components (Redis → DynamoDB for state, Kafka → NATS for pub/sub) without changing APAC application code.

Dapr's service invocation API — where APAC microservices call other APAC services by name through the Dapr sidecar HTTP/gRPC API (`http://localhost:3500/v1.0/invoke/apac-payments/method/charge`) and Dapr's sidecar handles service discovery (using Kubernetes DNS), automatic retries with configurable back-off, distributed tracing propagation, and mTLS encryption — enables APAC platform engineering teams to standardise inter-service communication across APAC polyglot services (Java, Go, Python, Node.js) without deploying a service mesh or requiring APAC developers to implement retry logic and tracing in each service.

Dapr's pub/sub API — where APAC microservices publish and subscribe to topics through the Dapr sidecar (`POST http://localhost:3500/v1.0/publish/apac-pubsub/orders.created`) and Dapr routes messages to the configured APAC message broker (Kafka, NATS, Azure Service Bus, AWS SQS, Redis Streams, Google Pub/Sub) — enables APAC platform engineering teams to implement pub/sub messaging across APAC services without coupling application code to a specific APAC message broker SDK, enabling broker migration without application code changes.

Dapr's state management API — where APAC microservices read and write state through the Dapr sidecar (`GET http://localhost:3500/v1.0/state/apac-statestore/user-123`) and Dapr persists state to the configured state store (Redis, DynamoDB, Azure Cosmos DB, PostgreSQL, Cassandra) — enables APAC microservices to manage state without coupling to a specific APAC storage technology, with Dapr handling optimistic concurrency control, bulk operations, and distributed transaction support via SAGA pattern.

Dapr's observability model — where all Dapr sidecar API calls automatically emit distributed traces (OpenTelemetry compatible) to configured tracing backends (Zipkin, Jaeger, Tempo) and metrics (Prometheus) — enables APAC platform engineering teams to achieve distributed tracing across APAC microservices without instrumentation changes in individual APAC services, since Dapr's sidecar trace propagation covers all service-to-service calls, pub/sub message flows, and state management operations.

Beyond this tool

Where this category meets practice depth.

A tool only matters in context. Browse the service pillars that operationalise it, the industries where it ships, and the Asian markets where AIMenta runs adoption programs.