Learning Dapr - Helion
ISBN: 978-10-981-1559-3
stron: 218, Format: ebook
Data wydania: 2020-08-24
Księgarnia: Helion
Cena książki: 194,65 zł (poprzednio: 226,34 zł)
Oszczędzasz: 14% (-31,69 zł)
Get the authoritative guide to Dapr, the distributed application runtime that works with new and existing programming languages alike. Written by the model’s creators, this introduction shows you how Dapr not only unifies stateless, stateful, and actor programming models but also runs everywhere—in the cloud or on the edge.
Authors Haishi Bai and Yaron Schneider, both with Microsoft’s Azure CTO team, explain that, with Dapr, you don’t need to include any SDKs or libraries in your user code. Instead, you automatically get flexible binding, state management, the actor pattern, pub-sub, reliable messaging, and many more features. This book shows developers, architects, CIOs, students, and computing enthusiasts how to get started with Dapr.
- Learn the new programming model for cloud native applications
- Write high-performance distributed applications without drilling into technical details
- Use Dapr with any language or framework to write microservices easily
- Learn how Dapr provides consistency and portability through open APIs and extensible, community-driven components
- Explore how Dapr handles state, resource bindings, and pub-sub messaging to enable resilient event-driven architectures that scale
- Integrate cloud applications with various SaaS offerings, such as machine learning
Osoby które kupowały "Learning Dapr", wybierały także:
- Microsoft Azure. Kurs video. Zostań administratorem systemów IT 169,00 zł, (76,05 zł -55%)
- Amazon Web Services (AWS). Kurs video. Zostań administratorem systemów IT 199,00 zł, (89,55 zł -55%)
- Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack 69,00 zł, (34,50 zł -50%)
- AWS dla architekt 139,00 zł, (69,50 zł -50%)
- Terraform w praktyce. Kurs video. Architektura serverless i us 169,00 zł, (84,50 zł -50%)
Spis treści
Learning Dapr eBook -- spis treści
- Preface
- Resources
- Conventions Used in This Book
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- Introduction
- What Is Dapr?
- A Programming Model for a Heterogeneous Environment
- More Helpful, Less Opinionated
- Dont Reinvent the Wheel!
- Unified Programming Model
- Dapr Architecture
- Language Support
- Getting Started with Dapr
- Hello, World! with Dapr Standalone Mode
- Getting Dapr on your machine
- Creating the Hello, World application
- Launching your application through a Dapr sidecar process
- Putting Dapr into action
- Adding state
- Define the Redis state store
- Update the application to handle state
- Testing the application
- Hello, World! with Dapr Kubernetes Mode
- Installing Dapr
- Coding the message receiver
- Coding the message sender
- Creating the Kubernetes artifact
- Hello, World! with Dapr Standalone Mode
- Using gRPC
- Invoking an Application from a gRPC Client
- Prerequisites
- Clone the Dapr repository
- Create the client application
- Test the client
- Writing a gRPC Server
- Prerequisites
- Clone the Dapr repository (if necessary)
- Create the server application
- Test the gRPC server
- Invoking an Application from a gRPC Client
- Bindings
- Binding in Standalone Mode
- Developer: Write a simple HTML page
- Operator: Define an Azure Event Hub binding
- Sending events through Dapr
- Binding in Kubernetes Mode
- Binding in Standalone Mode
- Summary
- What Is Dapr?
- 1. Services
- The World Before Cloud
- Cloud Promises and Challenges
- Availability
- Elasticity
- Cloud Native Applications
- Infrastructure Is Boring
- Dapr and containers
- IaaS, PaaS, SaaS, and serverless
- Service Invocation
- Name Resolution
- Kubernetes
- mDNS
- Requests and Responses
- Concurrency Control
- Service Invocation Experiment
- Creating the PHP service
- Deploying the service
- Exposing the -dapr service
- The Universal Namespace
- Name Resolution
- Pub/Sub
- Benefits of Message-Based Integration
- Alleviating performance differences
- Improving availability
- Flexible integration topology
- Pub/Sub with Dapr
- How Pub/Sub Works
- Benefits of Message-Based Integration
- Dapr Components
- Dapr Configurations
- Custom Pipelines
- Custom Pipeline Experiment
- Creating the Rust app
- Define the custom pipeline
- Testing
- OAuth 2.0 Authorization
- Authoring a Custom Middleware
- Distributed Tracing
- Tracing Middleware
- Span
- Correlation ID
- Exporters
- Configuration
- Tracing with Zipkin
- Creating configuration files
- Deploying a Zipkin instance
- Enabling and viewing tracing on Kubernetes
- Enabling and viewing tracing locally
- Tracing with Azure Monitor
- Tracing Middleware
- Service Operation
- Service Deployment and Upgrade
- OAM
- Summary
- 2. State
- State Management
- Stateless Versus Stateful
- Why Are Stateless Services Preferred in the Cloud?
- Scaling a stateless service
- Stateless service availability
- Serverless
- Challenges of Hosting Stateful Services
- Stateful service availability
- Scaling stateful services
- Converting Stateful Services to Stateless Services
- Dapr State Management
- Concurrency Model
- Consistency Model
- Bulk Operations and Transactions
- Multiple State Stores
- Retry Policies
- The Dapr State API
- Key Scheme
- Get Requests
- Set Requests
- Delete Requests
- Transactional Requests
- Working with the Dapr State API
- Data Handling Considerations
- Data Querying and Aggregation
- State Stores
- Redis
- Azure Cosmos DB
- Etcd
- Apache Cassandra
- Couchbase
- Custom State Stores
- Implementing the State API
- Init method
- Get method
- Set method
- Delete method
- BulkDelete and BulkSet methods
- Multi method
- Updating the Component Registry
- Implementing the State API
- Summary
- State Management
- 3. Messaging
- Event-Driven Programming
- Messages Versus Events
- Input Bindings and Output Bindings
- Pub/Sub
- Pub/Sub with Dapr
- Implementing the PowerShell Script
- Testing Pub/Sub with the Dapr CLI
- Dapr Pub/Sub Behaviors
- Extending Dapr Pub/Sub
- Input and Output Bindings with Dapr
- Using Input Bindings
- Using Output Bindings
- Implementing Input Bindings
- Implementing Output Bindings
- Autoscaling with KEDA
- Messaging Patterns
- The Saga Pattern
- Using a central coordinator
- Using events
- Content-Based Routing
- Routing Slip
- Smart Proxy
- MapReduce
- The Saga Pattern
- Summary
- Event-Driven Programming
- 4. Security
- Securing a Distributed Application
- Access Control
- Identity
- Access control policies
- Network security
- Data Protection
- Protecting data at rest
- Protecting data in transit
- Protecting data in use
- Secured Communication
- Intrusion and Abnormality Detection
- Access Control
- Dapr Security Features
- Secret Stores
- Implementing a Secret Store
- The Secret API
- Mutual TLS (mTLS)
- X.509 certificates
- Requesting an X.509 certificate
- Dapr mTLS
- Dapr mTLS architecture
- Configuring Sentry
- Summary
- Securing a Distributed Application
- 5. Actors
- The Actor Pattern
- Modern Actor Frameworks
- Misuse of the Actor Model
- Dapr and Actors
- Invoking a Dapr Actor
- State Management
- Timers
- Reminders
- Getting Started with Writing Dapr Actors for C#
- Defining the Actor Interface
- Implementing the Actor Interface
- Summary
- The Actor Pattern
- 6. Application Patterns
- Cloud Native Applications
- Cloud Environment
- Embracing errors
- Horizontal scale
- Cloud native design
- Cloud Native Applications with Dapr
- Evolving a monolithic application
- Designing a cloud native application
- Cloud Environment
- System Integrations with Dapr
- Distributed Workflow as Finite State Machine
- Synchronization
- Shared database
- Inbox/outbox and mailman
- Event sourcing
- Dapr in a Larger Ecosystem
- Yeoman Dapr Generator
- Dapr in Visual Studio Code
- Dapr with ASP.NET Core
- Dapr in a Bigger Application
- Dapr and Service Meshes
- Dapr on Edge
- Summary
- Cloud Native Applications
- 7. Daprs Future
- Capability Delivery
- Architecture
- Application Scenarios
- Distributed API management
- Compute push-out
- Artificial intelligence
- Enhanced Actors
- Aggregators
- Query Interface
- Actor Graph
- Multiversion Actors
- Actor Middleware
- The Universal Namespace
- Architecture
- Application Scenarios
- Dapr on Edge
- Dapr as a Lightweight Function Runtime
- Dapr in WebAssembly
- Dapr as a Script
- Other Dapr Improvements
- Dapr Component Projection
- Best Practices and Proven Patterns
- Dapr Descriptor
- Dapr to Facilitate Multiparty Computing
- Summary
- Capability Delivery
- Index