What this book covers
Chapter 1, Introducing Dapr, introduces you to the basics of Dapr, briefly exposing the features that make Dapr interesting for new cloud-native applications as well as for inserting microservices into existing applications.
Chapter 2, Debugging Dapr Solutions, focuses on how to set up your Dapr development environment in VS Code to locally debug simple Dapr solutions as well as more complex ones.
Chapter 3, Service-to-Service Invocation, instructs you on how services can discover and invoke each other via the Dapr infrastructure. With examples, you will understand how to implement services and invoke them from other Dapr-aware components and Dapr-unaware/external clients.
Chapter 4, Introducing State Management, covers a centerpiece of Dapr: the management of state for services and actors. This chapter illustrates how a Dapr solution can manage state with different store types.
Chapter 5, Publish and Subscribe, introduces publish/subscribe – the messaging pattern used by Dapr to enable decoupled interactions between components. You will learn about the benefits of the messaging-based pattern and how to implement it in Dapr.
Chapter 6, Resource Bindings, introduces bindings in Dapr, which enable you to design event-driven microservices and to invoke external resources via a pluggable configuration.
Chapter 7, Using Actors, explains the powerful virtual actor model provided by Dapr, how to leverage it in a microservices-style architecture, and the pros and cons of different approaches.
Chapter 8, Deploying to Kubernetes, covers the basic differences in operations from local self-hosted environments to Kubernetes mode. Specifically using Azure Kubernetes Service, we will deploy a sample Dapr application composed of several microservices to Kubernetes.
Chapter 9, Tracing Dapr Applications, introduces the observability options in Dapr, by exploring how traces, logs, and metrics are emitted and can be collected in Dapr using Zipkin, Prometheus, and Grafana.
Chapter 10, Load Testing and Scaling Dapr, explains how the scaling of Dapr services and actors works in Kubernetes. Also, by leveraging autoscalers, you will learn how to scale resources based on usage metrics. You will also learn how to load test a Dapr solution by simulating user behaviors via the Locust testing tool.
Appendix, Microservices Architecture with Dapr, discusses the relevance of microservices architecture and explores how Dapr, as a runtime, can make it easier to adopt this style.