Should you use Terraform or Bicep? This is the most common question in Azure DevOps today. Terraform Wins When… Multi-Cloud: You need to deploy to AWS, Azure, and Datadog in the same pipeline. State Management: You need complex state manipulation (importing existing resources). Bicep Wins When… Azure Native: You only use Azure. Day 0 support […]
Read more โMonth: February 2021
Securing SPAs: The Backend for Frontend (BFF) Pattern
Detailed security audits often flag “Tokens in LocalStorage” as a vulnerability (XSS). The industry standard solution is the Backend for Frontend (BFF) pattern. The Problem with Implicit Flow If your React app holds the Access Token in the browser, any malicious script (XSS) can exfiltrate it. The BFF Solution The Browser never sees the token. […]
Read more โHigh Performance C#: Span and Memory
String manipulation in C# has historically been allocation-heavy. `Substring()` creates a new string on the heap. In high-throughput scenarios (web servers, parsers), this leads to Garbage Collection (GC) pauses. The Solution: Span<T> Span<T> is a struct that represents a contiguous region of memory. It can point to part of a string or array without allocating […]
Read more โAzure Durable Functions: Fan-Out/Fan-In Pattern
Running a long process in a standard Azure Function hits the 5-10 minute timeout. Durable Functions allows you to write stateful workflows in code. The most powerful pattern is Fan-Out/Fan-In. The Scenario You need to resize 10,000 images uploaded to Blob Storage. Behind the scenes, the Durable Task Framework manages the Azure Storage Queues to […]
Read more โAngular State Management: NgRx vs Akita
State management in Angular is often over-engineered. Do you really need the full Redux pattern (NgRx) with its boilerplate Actions, Reducers, Effects, and Selectors? Or is Akita’s OO-approach better? NgRx: The Strict Pure Approach NgRx is verbose but predictable. It shines in large teams where strict enforcement of “One Way Data Flow” prevents spaghetti code. […]
Read more โObservability with OpenTelemetry in .NET
Vendor lock-in is a real risk in observability. If you instrument your code with `ApplicationInsights.TrackEvent()`, migrating to Datadog or Prometheus later requires a rewrite. OpenTelemetry (OTel) solves this. The OTel Collector Pattern Your app sends data to a local “Collector” (Sidecar), which then exports it to multiple backends. This code is vendor-neutral. The OTel Collector […]
Read more โ