I see teams paralyzed by this choice. Here is the decision matrix I use for enterprise architecture. 1. REST (JSON over HTTP) Use when: Public facing APIs. Simple CRUD. When caching (CDN/Browser) is critical. Pros: Universal support, simple, cacheable. Cons: Over-fetching/under-fetching data. Loosely typed. 2. gRPC (Protobuf) Use when: Internal Microservice-to-Microservice communication. High performance requirements. […]
Read more โMonth: July 2021
PowerShell 7.2: What’s New for DevOps
PowerShell 7.2 is the new LTS (Long Term Support) release built on .NET 6. It consolidates the cross-platform story. ANSI Color Support PS 7.2 introduces the $PSStyle automatic variable which makes decorating output easier and cross-platform compatible. Parallel ForEach-Object While introduced earlier, the improvements to ForEach-Object -Parallel in 7.x make it indispensable for DevOps tasks […]
Read more โSecuring ASP.NET Core APIs with OAuth2 and OpenID Connect
Don’t roll your own auth. In 2021, securing an API means efficiently implementing OAuth2/OIDC validation for JWT tokens. The Theory Your API should not handle login. A separate Identity Provider (IdP) – like Azure AD, Auth0, or IdentityServer – issues a standard JWT Access Token. Your API’s only job is to validate the signature and […]
Read more โUnderstanding C# Covariance and Contravariance
The terms “Covariance” and “Contravariance” scare many developers, but understanding them is essential for designing flexible generic interfaces in C#. Covariance (out) Covariance allows you to use a more derived type than originally specified. In generics, it is denoted by the out keyword. It applies to return types. Because T is only used as a […]
Read more โAzure Container Apps (Preview): KEDA and Dapr without the K8s Managed Plane
Microsoft just announced the preview of Azure Container Apps (ACA), and it solves the exact problem many of my clients have: “We want Kubernetes features (scaling, sidecars), but we don’t want to manage a Cluster.” What is Under the Hood? ACA serves as “Serverless Containers”. It is built on top of AKS, but the cluster […]
Read more โC# 10 Preview: Global Usings and File-Scoped Namespaces
As we approach the .NET 6 release, the C# 10 feature set is solidifying. Two features in particular are going to drastically reduce the vertical “ceremony” code in our files: Global Usings and File-Scoped Namespaces. File-Scoped Namespaces The “namespace indentation tax” is finally gone. For 99% of C# files, we only ever have one namespace. […]
Read more โ