All articles

  1. Development & automation

    A green gate did not make the release deployable

    A release of this site passed every check in its release gate and was refused by the deployment client before a single file was uploaded. What the gate proved, what only the platform's own validator decides, and how a test written from the same assumption as the code it tests agreed with an error instead of finding it.

    ·7 min read

    Keep reading →
  2. Development & automation

    A readiness probe that checks the database

    A probe answers one question for one consumer, and a probe that checks a shared database turns the database's failure into every instance's failure at once. What Azure App Service and Kubernetes do with that answer, how ASP.NET Core keeps liveness and readiness apart, and what we would check on each probe.

    ·12 min read

    Keep reading →
  3. Azure & Cloud

    What a slot swap promises, and what it abandons

    A deployment slot swap warms the new version, moves production traffic to it without dropping requests, and keeps the old version one swap away. It does not protect the work running on the old instances, stop timers and WebJobs running in both slots, carry the identity and some settings across, or undo on the way back what the new version wrote.

    ·12 min read

    Keep reading →
  4. Azure & Cloud

    A missing .NET trace does not establish that the operation never ran

    Instrumentation, sampling, export and query scope each limit what a trace search can establish. A local ActivitySource experiment separates business execution from the observations that survived.

    ·4 min read

    Keep reading →
  5. Development & automation

    Writing to two systems is not a transaction

    An application that saves one change in two systems has two outcomes, and nothing commits them together. What Microsoft's architecture guidance says about why the copies drift apart, where a transaction across two systems does exist, and what makes the result recoverable: one record of the change, delivered at least once to a consumer that ignores repeats, and compensation for what cannot be derived.

    ·15 min read

    Keep reading →
  6. Development & automation

    A retry that sends a POST twice

    A client that never received the response cannot know whether its create was applied, and a retry can write the record twice. What HTTP allows a client to repeat, which Microsoft 365 failures mean the write was refused, where integrations inherit retries they did not write, and how to make a SharePoint or Graph create safe to repeat.

    ·15 min read

    Keep reading →
  7. AI & agents

    Can your AI assistant read documents the user cannot see?

    A badly built RAG searches with the application's identity, not the asker's, and the assistant answers with what the person should not see. The fix is not a filter someone can forget to write: it is passing the user's token and letting Azure AI Search enforce permissions inside the engine.

    ·6 min read

    Keep reading →
  8. Microsoft 365 & SharePoint

    Windows 10 has ended: Windows 11 is the minimum, not the plan

    Support ended in October 2025. Whether a fleet is already on Windows 11, paying for Extended Security Updates, or simply exposed, the decision underneath is the same: swap the PCs, or use the forced move to modernise the workplace behind them. This is the how, with the Intune, Autopilot and Azure commands, and the reason the same Windows 10 is free to keep alive in the cloud.

    ·6 min read

    Keep reading →
  9. Governance & security

    A cookie banner you can prove, with Azure Tables and Functions

    The banner you copy from a vendor can itself be a tracker. Build your own instead, with no third parties, and the hard part turns out not to be the banner: it is keeping the proof that the person consented. Here is all of it, from the browser to the Azure Table, step by step.

    ·7 min read

    Keep reading →
  10. Development & automation

    Sending email from an application, without a single password

    Microsoft turned off SMTP with a password. The answer is not to store a better secret: it is to store no secret at all. Managed identity, Microsoft Graph, and Mail.Send tied to a group of mailboxes. Here is the whole configuration, mistakes included.

    ·5 min read

    Keep reading →
  11. Azure & Cloud

    The three decisions you make before moving to Azure

    Most cloud projects do not fail on technology. They fail because building started before three things were decided.

    ·2 min read

    Keep reading →

Categories

Send us a message

or write to hello@ph7x.com