Exploring Dapr: Open-Source Runtime for Cloud and Edge with @marcduiker
GitHub Models
- The speaker introduces GitHub Models, a platform for exploring and experimenting with AI models.
- GitHub Models offers a curated collection of models with entitlements attached to GitHub accounts.
- Users can interact with models through a playground, adjust parameters, and simulate their use in applications.
- The speaker demonstrates how to switch between different models and access detailed information about them.
- GitHub Models provides code integration, allowing users to start using models with code and access preconfigured development environments.
- The speaker highlights the use of GitHub Models in the GitHub CLI, enabling developers to call AI models for tasks like generating questions or summarizing code.
- The speaker concludes by encouraging viewers to join the waitlist for GitHub Models and explore the possibilities of building AI-powered applications.
Dapr: An Open-Source Runtime for Microservices
- Dapr is an open-source project that has been in development for almost five years.
- Dapr originated from Microsoft Research and was quickly moved to open source.
- Dapr was submitted to the Cloud Native Computing Foundation (CNCF) in 2021 and is expected to graduate this year.
- Dapr is designed for building distributed applications, particularly those using microservices.
- Dapr addresses cross-cutting concerns in distributed applications, such as reliable communication, security, and state management.
- Dapr runs as a sidecar process alongside applications, allowing it to be used with any programming language.
- Dapr is an open-source runtime that can be used for cloud and edge applications.
- Dapr can be used with applications that communicate via HTTP or gRPC.
- Dapr offers client SDKs for various languages, including Node.js, Python, .NET, and Go.
- Dapr provides a toolbox of APIs for microservice developers, including workflow, pub/sub, service invocation, and state management.
- Dapr typically runs on top of Kubernetes, but can also be run on-premise or in major cloud providers.
- Dapr uses a sidecar model, where a Dapr sidecar runs alongside each application service.
- All communication between services and other resources, such as message brokers and storage systems, is done through the Dapr sidecar.
- The sidecar model provides built-in resiliency, including retrying failed calls.
- Dapr offers APIs for various functionalities, such as state management, pub/sub, and secret management.
- Dapr itself is not a state store or message broker, but can integrate with hundreds of different resources.
- Dapr's state management API can be configured to use various storage options, such as Azure Blob Storage or Redis.
- Dapr is a flexible system that can be used for multi-cloud deployments.
- Dapr allows developers to switch between local development environments and cloud environments with minimal code changes.
- Dapr provides APIs that simplify common tasks, such as state management and pub/sub messaging.
- Dapr can save developers time by allowing them to focus on domain logic rather than infrastructure concerns.
- Dapr is often compared to service meshes, but they have different focuses.
- Service meshes primarily deal with network routing and traffic management, while Dapr focuses on providing APIs for developers.
- Both Dapr and service meshes can be deployed as sidecars.
- Dapr is open-source and has a large community of developers.
- Dapr provides quick start repositories with code samples in various languages.
- Dapr offers both HTTP and client SDK APIs.
Dapr: State Management Example
- The code snippet demonstrates saving state data using Dapr's State Management API.
- The code defines a state object with a key and value, where the key is "order" and the value is the order itself.
- The code uses the Dapr client to save the state to a state store, but the specific state store is not explicitly defined in the code.
- The state store name is defined as "stateStore" and is mapped to a specific state store configuration in a separate file.
- The Dapr CLI is used to run the application, specifying a configuration file that includes the state store configuration.
- The configuration file defines the state store type, which in this case is a local Redis container.
- The code saves 10 records to the Redis state store.
- The example demonstrates switching state stores without modifying the application code by changing the configuration file extension.
- The new configuration file points to an Azure DocumentDB state store, while maintaining the same metadata name "stateStore".
- This allows the application to seamlessly switch between different state stores without code changes.
Dapr: Configuration and Security
- Dapr can be used to switch out underlying resources without changing application code.
- Dapr uses configuration files to define resources and secrets.
- Dapr works with various secret stores, including local files and cloud-based secret stores.
- Dapr uses Scopes to define security policies for services and resources.
- Each Dapr microservice has a unique application ID.
- Dapr uses YAML files for configuration, including resiliency policies.
- Dapr provides default security and resiliency settings, but these can be overridden.
- Dapr allows for flexible retry policies, including constant and exponential retry intervals.
Dapr: Community and Resources
- Dapr is an open-source runtime for cloud and edge applications.
- Dapr offers a variety of APIs for building microservices.
- Dapr's documentation is comprehensive and detailed, covering various topics like building blocks and configurations.
- Dapr has a YouTube channel with recordings of community calls, live streams, and user stories.
- Dapr's YouTube channel also features recordings of longer sessions that delve into specific topics.
- Dapr is designed to be gradually adopted, allowing developers to start with a few microservices and expand their use over time.
- Dapr welcomes contributions and maintainers from the community.
- Dapr has a variety of repositories for contributions, including the Dapr runtime itself, SDKs for different languages, and documentation.
- Contributions to the Dapr documentation are highly encouraged, as they can improve the onboarding experience for new users.
- Dapr has a dedicated Chinese translation of its documentation, but other language translations are welcome.
- Before starting any work on a contribution, it is recommended to check if an issue already exists that matches the desired contribution. If not, create a new issue.
- Dapr is an open-source project that allows backend developers to build microservices more efficiently.
- Dapr is available worldwide and can be downloaded and installed anywhere.
- Dapr can be run on top of Kubernetes, a Kubernetes-like environment, or locally.
- Dapr has a large community and a Discord server for users to connect and collaborate.
- The speaker encourages users to provide feedback on Dapr through LinkedIn, Twitter, or X.
- The speaker is open to receiving both positive and negative feedback.
- The speaker is excited to grow the Dapr community and improve the user experience.
- The speaker is planning to do a hands-on Dapr live stream with Cecil, a Dapr community manager.