Distributed application runtime 'Dapr' that supports Microsoft's 'microservice development' reaches version 1.0

Microsoft's open source software ' Distributed Application Runtime (Dapr) ' has reached version 1.0. Dapr is a runtime that supports microservices development and was released 'for products' about a year and a half after the alpha version was released in October 2019.

Announcing Dapr v1.0 | Dapr Blog


The community effort that delivered Dapr v1.0 --Open Source Blog


Release Dapr Runtime v1.0.0 · dapr / dapr · GitHub

You can see what kind of runtime Dapr is by watching the following movie.

Introducing Dapr: The Distributed Application Runtime-YouTube

When developing microservices, it is important to design the communication of the application. In conventional microservice development, elements such as each application and data store communicated directly with each other, making it difficult to convert monolithic microservices and replacing applications, and it becomes a barrier to the introduction of new applications. There was something.

In a nutshell, Dapr is a 'service that organizes microservices by role and function,' and is a runtime that transparently provides communication functions to applications. By deploying, each application becomes independent of the communication destination, so it is easy to move services to different environments or deploy new applications. For example, by using Dapr for communication between an application and a data store, it is possible to use Redis in a test environment and a cloud database in a production environment without changing the application code.

The feature of Dapr is that it is provided as a

building block for each type of communication, not as an integrated framework. For example, if you want to use only the state management function, you can meet the requirements by installing only one block without installing all the functions of Dapr.

The application uses the SDK provided for languages such as Java, Python, Go, JavaScript, and Rust to access Dapr using HTTP or gRPC. Dapr is not intended for use with Kubernetes, but if you use it with Kubernetes, the Dapr container will be inserted as a sidecar in the pod.

A service mesh represented by

Istio is a system that manages communication between applications of microservices . Service meshes and Dapr have some things in common, such as 'distributed service tracing function' and 'metric output function', but the underlying ideas are very different. The service mesh is primarily aimed at managing the network of the entire microservice, while Dapr is aimed at supporting 'development of portable microservices that are independent of the execution environment'.

The following is an example of development using Dapr, which is a clock service in which each application communicates with Pub / Sub via Dapr for Redis of the data store.

Microservices made with dapr --Qiita

Such Dapr reached version 1.0 on February 17, 2021, about a year and a half after the alpha version was released in October 2019. Version 1.0 is positioned as 'production ready', which means that we have reached the product stage from the development stage.

The number of contributors in Dapr's GitHub repository has steadily increased since the alpha release, reaching 700 in February 2021. Dapr is also involved in the development of companies such as

Alibaba Cloud , HashiCorp , Carl Zeiss , for example, Dapr's SDK for PHP was developed by engineers based in Automattic . Also, Carl Zeiss has already introduced Dapr into its system.

Dapr commented that reaching version 1.0 was 'a testament to the efforts of the community.' In the future, while strengthening existing building blocks, it seems that it is also considering providing new building blocks such as reading and writing cloud settings.

in Software,   Web Service, Posted by darkhorse_log