Notes from real projects. What worked, what did not, and what I would do differently next time.
None of these are about lacking technical skill. They're about habits that don't feel important until the moment they suddenly are.
Start with the specific problem you have, set billing protections immediately, and don't skip basic security just because you're small.
A small piece of code that runs when something happens and stops. Here's a real example, from an invoice upload to an automatic email.
Azure Backup handles the scheduled copying for you. Retention is a decision, not a default, and backup is not the same as disaster recovery.
Entra ID is what checks who you are and what you're allowed to access, every time you sign into Microsoft 365, Teams, or Azure.
The surprises mostly come from things left running by accident, not from Azure being inherently expensive. A few habits prevent almost all of it.
App Service costs you flexibility in exchange for saving maintenance work. A VM costs you time in exchange for full control. Most teams don't need that control.
A resource group is a container, not a server. Here's why that organization actually matters once your Azure setup grows past one test project.
Latency is the obvious reason to care about your Azure region. Data residency is the one that catches people out later.
People ask me this more than almost any other question. Here's the plain version, no jargon, no sales pitch.