Blazor Component Libraries: Building Reusable UI

Razor Class Libraries (RCLs) allow you to share Blazor components across multiple apps. With .NET Core 3.1 and upcoming .NET 5, they now support including static assets (CSS, JS, images) inside the NuGet package. This guide builds a reusable “Modal” component library. Project Structure Create a new RCL project: Static Web Assets Place CSS in […]

Read more โ†’

Microservices Observability with OpenTelemetry

OpenTelemetry (OTel) is the merger of OpenTracing and OpenCensus. In 2020, it is becoming the CNCF standard for collecting metrics and traces. This guide shows how to instrument a .NET Core app to send traces to Jaeger. Setup Manual Instrumentation Key Takeaways Vendor-neutral instrumentation prevents lock-in. “Activity” in .NET 5+ is the native implementation of […]

Read more โ†’

Kubernetes Operators in .NET: Getting Started

Operators extend Kubernetes with custom domain logic. While usually written in Go, the .NET ecosystem has matured with the `KubeOps` SDK. We can now write C# operators to manage custom resources like `DatabaseCluster` or `TenantNamespace`. The Operator Pattern Defining a CRD in C# The Reconciler Key Takeaways Operators encode operational knowledge into software. The Reconcile […]

Read more โ†’

Terraform with Azure: Complete Module Development

Modules are the building blocks of reusable Terraform infrastructure. A good module encapsulates complexity and enforces company standards (naming conventions, tagging, security). This guide builds an Azure VNET module with subnets and security groups. Directory Structure Using `for_each` for Subnets Key Takeaways Keep modules focused and single-responsibility. Always define `terraform` block with version constraints. Pin […]

Read more โ†’