RO EN
Resilience in .NET (6/6): chaos engineering, or how to prove that resilience works

Resilience in .NET (6/6): chaos engineering, or how to prove that resilience works

The last article in the series about resilience: the principles of chaos engineering, injection strategies from Polly v8 (fault, latency, outcome, behavior), controlled activation through configuration, integration tests with deterministic chaos, infrastructure tools, and game days.

Citește mai mult
The anatomy of a coordinated attack on a contact form

The anatomy of a coordinated attack on a contact form

How our website became someone else's phishing infrastructure for a day: 109 emails sent to victims from our domain, 41 IPs from rented cloud, and what we changed to prevent it from happening again.

Citește mai mult
Resilience in .NET (5/6): graceful degradation, or what to do when a dependency is down

Resilience in .NET (5/6): graceful degradation, or what to do when a dependency is down

The fifth article in the series about resilience: fallback with Polly v8, the last known good value, asynchronous decoupling with Outbox, hedging, feature flags as fail switches, and a concrete example: what a billing application does when e-Invoice does not respond.

Citește mai mult
Resilience in .NET (4/6): advanced health checks, from /health/live to /health/ready

Resilience in .NET (4/6): advanced health checks, from /health/live to /health/ready

The fourth article in the series about resilience: the difference between startup, liveness, and readiness, why the database has no place in liveness, shared dependencies in readiness, detailed JSON responses, publisher and probe configuration in Kubernetes.

Citește mai mult
Resilience in .NET (3/6): circuit breaker and bulkhead with Polly v8

Resilience in .NET (3/6): circuit breaker and bulkhead with Polly v8

The third article in the series about resilience: how to stop a harmful dependency from crashing your application. The states of the circuit breaker, configuration in Polly v8, manual control, bulkhead with concurrency limiter, and rate limiting in ASP.NET Core.

Citește mai mult
Resilience in .NET (2/6): smart retry policies with Polly v8

Resilience in .NET (2/6): smart retry policies with Polly v8

The second article in the series about resilience: what is worth retrying, exponential backoff with jitter, Retry-After, idempotency with Idempotency-Key, retry storms, retry budget, and execution strategy in EF Core.

Citește mai mult
Resilience in .NET (1/6): why distributed systems fail and what Polly v8 brings

Resilience in .NET (1/6): why distributed systems fail and what Polly v8 brings

The first article in the series about resilience: the types of failures in a distributed system, why latency is more dangerous than errors, and how to build the first pipelines with Polly v8 and Microsoft.Extensions.Http.Resilience.

Citește mai mult
Reserved Instances, Savings Plans or pay-as-you-go: the layered strategy

Reserved Instances, Savings Plans or pay-as-you-go: the layered strategy

What you are actually committing to when you buy a reservation, why Savings Plans accept a smaller discount in exchange for flexibility, and why the correct answer is almost always a combination, not a single choice.

Citește mai mult
1 2 3 4 … 34