ChatGPT - Three Weeks In and I'm Still Checking Everything

OpenAI dropped ChatGPT on 30 November as a free research preview, and by early December Sam Altman was saying it had crossed a million users. I signed up the first weekend, poked it with toy questions, then — because I am me — started feeding it the kind of work that actually lands on a .NET desk: failing unit tests, half-remembered LINQ, a nasty regex, a draft of an RFC nobody wanted to write.

Three weeks later I am impressed, slightly unsettled, and not ready to trust it with anything that ships without a human staring at the output.

Read More

Nomad & Kubernetes - David vs Goliath played out in container orchestration

Kubernetes and Nomad are both container orchestration tools that enable the management of containers across multiple hosts.

Kubernetes has a large, rapidly growing ecosystem of services, support and tools that are widely available. Kubernetes is an open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a layered architecture with various components that provide features such as cluster management, scheduling, service discovery, monitoring, secrets management and more1. Kubernetes also relies on a dynamic ecosystem of various loosely-coupled components, such as container runtimes, storage providers, network plugins, ingress controllers, service meshes, etc., that extend its functionality and interoperability.

Read More

Open Telemetry - The Future of Observability?

In today’s world, businesses are increasingly reliant on software to deliver their products and services. As software becomes more complex, it becomes more difficult to keep track of its performance and behavior. his can lead to problems such as outages, performance degradation, and security vulnerabilities. This is where observability comes in. Observability is the ability to understand what is happening inside a system from the knowledge of the external data it produces.

Read More

FinOps - When the Cloud Bill Stops Being Weather

Finance forwarded the Azure invoice again this week. Not a polite FYI — a “can you explain the jump” thread with three managers CC’d. The honest answer was ugly: we could name the subscriptions, not the owners. Half the line items were tags like rg-temp-demo and a node pool nobody had touched since the last migration spike.

That used to be background noise. Cloud was the flexible thing that scaled when we shipped. This fall it feels different. Budgets are tighter, leadership is asking about ROI, and the bill is no longer weather that just happens. It is a product decision we forgot to staff.

Read More

Internal Developer Portals - Stop Asking Slack Who Owns That Service

Last week I needed the owner of a payment-adjacent API before a release freeze. Three Slack threads, two Confluence pages last edited in 2019, and a Wiki that still pointed at a team that no longer exists. The service was fine. Our map of the service was not.

That is the quiet tax of a growing .NET estate: dozens of ASP.NET Core APIs, a few workers, Helm charts in three repos, docs in a fourth place, and ownership living only in someone’s head. Platform teams are supposed to fix the infrastructure. Lately I keep hearing a different answer — internal developer portals — and Spotify’s Backstage is the name that shows up in every architecture review deck this summer.

Read More

Serverless vs Containers - Stop Picking Sides

Every architecture review this year seems to end the same way. Someone draws a box labeled “Lambda” or “Azure Functions,” someone else draws a Kubernetes cluster, and the room splits into camps. One side talks about never patching a server again. The other side talks about cold starts and the 15-minute wall. Both are right about something. Neither is right about everything.

I write ASP.NET Core services for a living. I have shipped the same kind of work as a zip-deployed function, as a container on a managed orchestrator, and as a plain old App Service. The choice stopped being ideological for me the day a “cheap” serverless path cost more than the always-on pod it replaced — and the day a “simple” cluster burned a week of ops time for a webhook that runs twice an hour.

Read More