BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Alibaba Cloud Uses Dapr to Support Its Business Growth

Alibaba Cloud Uses Dapr to Support Its Business Growth

This item in japanese

In a recent blog post, Sky Ao, a staff engineer at Alibaba Cloud, details how Alibaba Cloud uses the Distributed Application Runtime (Dapr) to support its business growth.

According to Ao, Alibaba has built a solid, battle-tested, Java-based technology stack over the past decade. As Alibaba's business rapidly grows while also purchasing other companies, a clear need to support multiple programming languages across varying cloud environments arose. To support this need, Alibaba chose to use a solution with various runtimes running as sidecars. Ao details:

Dapr is the first open-source project to practice the multiple runtime concept. Since its release, Alibaba has paid close attention to Dapr because it had the potential to help solve some of the challenges we've encountered. Namely, the sidecar pattern supports multiple languages, making applications more lightweight with the Dapr runtime, replacing the need for client SDKs.

This is especially helpful when migrating a product to different environments or deploying it across environments - a process that can be very painful. In this context, the function-oriented programming concept, portable and scalable standard APIs, and platform-neutral and vendor-free design of Dapr make a lot of sense.

Alibaba is developing Dapr components to integrate with more middlewares and infrastructures, including internal products and commercial products supported on Alibaba Cloud. It plans to contribute these components to the Dapr project, including integrations for Apache Dubbo, Apache RocketMQ, and others.

Dapr supports Alibaba's multiple programming language requirements by allowing Alibaba to expose its middlewares as Dapr sidecars instead of Java SDKs. As business applications use standard HTTP and gRPC endpoints to address Dapr sidecars, they become platform-decoupled. As a result, these business applications do not need to be written in Java as well.

As Alibaba acquires other companies with existing assets, Dapr allows Alibaba to integrate purchased applications with internal Alibaba infrastructures much more quickly than before. Also, since Dapr sidecars are hosted out-of-process, the business application itself becomes more lightweight and more suitable for hosting in a Functions-as-a-Service (FaaS) platform due to smaller application size and faster startup response times.

Multi-language integration using Dapr
Multi-language integration using Dapr
Source: https://blog.dapr.io/posts/2021/03/19/how-alibaba-is-using-dapr/

Another use-case where Dapr supports Alibaba's requirements is around cloud-to-cloud migration and multi-cloud deployments. For example, Alibaba's customers require its DingTalk service to run in their virtual private cloud (VPC), in addition to running it on Alibaba's infrastructure. This migration requires switching some of the infrastructure components, and Dapr assists in accomplishing it via changing its configuration. For example, the following diagram depicts how Alibaba uses Dapr to replace the messaging and caching infrastructure in one environment with another solution in another environment.

Infrastructure abstraction using Dapr
Infrastructure abstraction using Dapr
Source: https://blog.dapr.io/posts/2021/03/19/how-alibaba-is-using-dapr/

Dapr is an open-source, portable, event-driven runtime that allows developers to build resilient, microservices-based, stateless, and stateful applications that run on the cloud and edge. It aims to enable developers to focus on writing business logic instead of solving distributed system challenges, thereby significantly improving their productivity and reducing development time. The Dapr team announced its production-ready v1.0 release about a month ago.

Rate this Article

Adoption
Style

BT