Deploy a Web App to Azure App Service
Deploy a live web app on Azure with monitoring alerts and cost management.
Introduction
30 Second Summary
Every website you visit lives on a server somewhere in the cloud. Knowing how to deploy one, keep it healthy, and track what it costs is the most fundamental cloud skill you can build.
In this project, you will deploy a web application to Azure App Service using the Azure CLI, organize it with resource groups and tags, then set up monitoring and cost awareness tools. Everything maps directly to the AZ-900 certification exam.
What You'll Build
A simple web application deployed to Azure App Service using the Azure CLI, organized with proper resource groups and tags, and monitored with Azure Monitor metric alerts.
By the end of this project, you'll have:
- A live web app deployed on Azure App Service's F1 free tier, accessible via a public URL.
- A resource group with properly tagged resources for organization and governance.
- An Azure Monitor metric alert configured to notify you when your app encounters HTTP errors.
- Familiarity with Cost Management views, cost analysis, and the pricing calculator.
- Secret Mission: Create a budget alert and explore Azure RBAC by viewing role assignments on your resource group.
Are there any prerequisites?
None. This project includes full setup instructions for everything you need, including creating an Azure account and installing the Azure CLI. You just need a macOS computer with VS Code and a web browser.
Set Up Your Azure Account and CLI
Before you can deploy anything to the cloud, you need two things: an Azure account and the tools to manage it from your terminal.
In this step, you'll create a free Azure account, install the Azure CLI, and log in. This gives you everything you need to create and manage cloud resources directly from your command line.
In this step, get ready to:
- Create a free Azure account with $200 credit.
- Install the Azure CLI using Homebrew.
- Log in to Azure from your terminal.
Create a free Azure account
Azure offers a free tier that includes $200 credit for 30 days plus 12 months of free services. You will not be charged unless you explicitly upgrade to pay-as-you-go later.
- Open your browser and go to https://azure.microsoft.com/en-us/free.
- Click Start free.
- Sign in with a Microsoft or GitHub account, or create a new Microsoft account.
- Complete the verification steps using your phone number and a credit or debit card (non-prepaid).
- Follow the remaining prompts to finish creating your account.
Once the signup is complete, you'll land on the Azure Portal dashboard at https://portal.azure.com.
Why do I need a credit card?
Azure uses your card for identity verification only. You will not be charged during the free trial period. If you exhaust the $200 credit, Azure pauses your services instead of billing you.
Can't complete the signup?
Make sure you are using a non-prepaid credit or debit card. Prepaid cards are not accepted. If you already have an Azure account, sign in with that account instead of creating a new one.
help me troubleshoot Azure account signup issues
Install the Azure CLI
The Azure CLI is a command-line tool that lets you create, configure, and manage Azure resources directly from your terminal. You already have Homebrew installed, so you can use it to install the CLI in one step.
- Press Cmd+Space (macOS) or the Windows key (Windows) to open your search bar.
- Type Terminal and press Enter to open it.
- Install the Azure CLI by running this command:
brew update && brew install azure-cli
What does this command do?
- brew update refreshes Homebrew's list of available packages so you get the latest version.
- brew install azure-cli downloads and installs the Azure CLI on your machine.
Homebrew will show download progress and installation output. This may take a minute or two.
- Once the install finishes, verify it worked by running:
az version
Check what you see in your terminal output:
✔️ I see version 2.87.0 or higher
The Azure CLI is installed and ready to use. You should see JSON output that includes "azure-cli": "2.87.0" or a higher number.
ⓧ I see an older version
You have a previous version of the Azure CLI installed. Upgrade to the latest version by running:
brew update && brew upgrade azure-cli
- After the upgrade completes, run az version again to confirm you see 2.87.0 or higher.
ⓧ Command not found
The install may not have completed successfully, or your terminal session needs a refresh.
- Close your Terminal window and open a new one.
- Run az version again.
- If it still fails, re-run the install command:
brew update && brew install azure-cli
help me troubleshoot Azure CLI installation on macOS with Homebrew
Log in to Azure from your terminal
Now that the CLI is installed, you need to connect it to your Azure account. This lets you run commands that create and manage real cloud resources.
- Log in to Azure by running this command:
az login
What happens when you run this?
This command opens your default web browser and takes you to a Microsoft sign-in page. Sign in with the same account you used to create your Azure free account.
After signing in successfully, the browser confirms authentication and your terminal displays your subscription details.
- Complete the sign-in in your browser when it opens.
- Return to your terminal after the browser confirms you are signed in.
- Confirm your subscription is active by running:
az account show
You should see JSON output that includes your subscription name, a state field showing Enabled, and isDefault set to true.
Login didn't work?
If the browser did not open automatically, look in your terminal output for a URL and a device code to enter manually at that URL.
If az account show shows an error, make sure you completed the sign-in in the browser and that you used the same account that has the free Azure subscription.
help me fix Azure CLI login issues
Your Azure account is live and your CLI is connected. Next up, you'll use these tools to create a resource group and deploy your first web app to the cloud.
Create a Resource Group and Deploy Your Web App
You have the Azure CLI installed and you are logged in. Now it is time to create actual cloud resources and get your web app live on the internet.
Every resource in Azure lives inside a resource group. Think of it as a folder that keeps related resources together. In this step, you will create a resource group, set up an App Service plan, build a simple web page, and deploy it to Azure.
In this step, get ready to:
- Create a resource group and App Service plan on Azure.
- Build a simple HTML web page in VS Code.
- Deploy your web page to Azure App Service and see it live.
Create your resource group and App Service plan
Azure organizes resources into logical containers called resource groups. You will create one to hold everything for this project.
- Create your resource group by running this command in Terminal:
az group create --name az900-webapp-rg --location eastus
What does this command do?
- az group create tells Azure to make a new resource group.
- --name az900-webapp-rg gives it a name you can reference in future commands.
- --location eastus places the resource group in the East US data centre.
- You should see a JSON response containing "provisioningState": "Succeeded".
Next, you need an App Service plan. This defines the compute resources (CPU, memory) that will run your web app.
- Create an App Service plan on the free tier by running:
az appservice plan create --name az900-plan --resource-group az900-webapp-rg --sku F1
What is an App Service plan?
An App Service plan specifies how much CPU, memory, and storage your app gets. The F1 SKU is the free tier. It gives you 1 GB storage and 60 minutes of CPU time per day at no cost.
- You should see another JSON response with "provisioningState": "Succeeded" and "sku": { "name": "F1" }.
Seeing an error about the location or SKU?
- Make sure you typed eastus with no space. It is a single word.
- Check that your subscription is active by running az account show and confirming the state is Enabled.
- help me troubleshoot this Azure CLI error
Create your web page
You need a simple HTML file to deploy. You will create a project folder on your Desktop and write a styled page inside it.
- Move to your Desktop by running this command:
cd ~/Desktop
- Create your project folder and move into it by running these commands:
mkdir az900-webapp
cd az900-webapp
- Create the HTML file by running:
touch index.html
- Confirm the file exists by running:
ls
- You should see index.html in the output.
- Open the az900-webapp folder in VS Code by running:
code .
- In the VS Code Explorer sidebar on the left, click index.html to open it.
- Paste the following code into index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AZ-900 Practice App</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background: linear-gradient(135deg, #0078d4, #00bcf2);
color: white;
}
.container {
text-align: center;
padding: 2rem;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
backdrop-filter: blur(10px);
max-width: 600px;
}
h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
p {
font-size: 1.2rem;
opacity: 0.9;
}
.badge {
display: inline-block;
background: rgba(255, 255, 255, 0.2);
padding: 0.5rem 1rem;
border-radius: 20px;
margin-top: 1rem;
font-size: 0.9rem;
}
</style>
</head>
<body>
<div class="container">
<h1>Hello from Azure!</h1>
<p>This app is running on Azure App Service (F1 Free Tier).</p>
<p>Deployed using the Azure CLI as part of AZ-900 exam preparation.</p>
<div class="badge">Region: East US | Plan: F1 Free | PaaS</div>
</div>
</body>
</html>
What does this page do?
- The page displays a centred card with a blue gradient background.
- The heading says "Hello from Azure!" to confirm deployment works.
- The badge at the bottom shows the region, plan, and service type. This reinforces key AZ-900 terminology.
- Save index.html by pressing Cmd+S (macOS) or Ctrl+S (Windows).
✔️ Awesome, I've got everything!
Great. Make sure you saved the file before moving on to deployment.
ⓧ I'd like to double check the full code
Here is the complete index.html file. Confirm yours matches exactly:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AZ-900 Practice App</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background: linear-gradient(135deg, #0078d4, #00bcf2);
color: white;
}
.container {
text-align: center;
padding: 2rem;
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
backdrop-filter: blur(10px);
max-width: 600px;
}
h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
p {
font-size: 1.2rem;
opacity: 0.9;
}
.badge {
display: inline-block;
background: rgba(255, 255, 255, 0.2);
padding: 0.5rem 1rem;
border-radius: 20px;
margin-top: 1rem;
font-size: 0.9rem;
}
</style>
</head>
<body>
<div class="container">
<h1>Hello from Azure!</h1>
<p>This app is running on Azure App Service (F1 Free Tier).</p>
<p>Deployed using the Azure CLI as part of AZ-900 exam preparation.</p>
<div class="badge">Region: East US | Plan: F1 Free | PaaS</div>
</div>
</body>
</html>
Deploy your web app to Azure
Your HTML file is ready. Now you will create the web app resource on Azure and push your file to it.
The web app name must be globally unique because it becomes part of your public URL. Choose something like yourname-az900-app or jsmith-az900-webapp.
- Create the web app resource by running this command (replace the app name with your own unique name):
az webapp create --name [[APPNAME="your-unique-app-name"]] --resource-group az900-webapp-rg --plan az900-plan
What does this command do?
- az webapp create provisions a new web app on Azure.
- --name sets the globally unique name that forms your URL: your-name.azurewebsites.net.
- --plan az900-plan assigns your app to the free-tier plan you created earlier.
- You should see a large JSON response with your app's details. Look for the "defaultHostName" field showing your URL.
- Deploy your index.html file to the web app by running:
az webapp deploy --resource-group az900-webapp-rg --name [[APPNAME="your-unique-app-name"]] --src-path index.html --type static
What does this command do?
- az webapp deploy pushes your local file to the cloud.
- --src-path index.html tells the CLI which file to upload.
- --type static tells Azure to place the file directly into the web root (/home/site/wwwroot).
- Open your browser and visit your app's URL:
https://[[APPNAME="your-unique-app-name"]].azurewebsites.net
- You should see a blue gradient page with "Hello from Azure!" and a badge showing your region and plan details.
Seeing the default Azure placeholder page?
- Make sure you ran the az webapp deploy command from inside the az900-webapp folder (where index.html lives).
- Confirm the app name in the deploy command matches the name you used in az webapp create. They must be identical.
- Try a hard refresh in your browser (Cmd+Shift+R on macOS or Ctrl+Shift+R on Windows) as the old page may be cached.
- help me troubleshoot my Azure App Service deployment
Your web app is live on the internet. Next up, you will explore the Azure Portal and organize your resources with tags.
Explore the Portal and Apply Resource Tags
Your web app is live and accessible to anyone with the URL. Now it's time to learn how to organize and manage cloud resources using the Azure Portal.
In a real organization, teams deploy dozens of resources across multiple projects. Resource tags are key-value pairs that help you label and categorize resources for billing, governance, and searchability. This is a core topic on the AZ-900 exam.
In this step, get ready to:
- Explore your resource group and its resources in the Azure Portal.
- Apply tags to your resource group for organization.
- Filter resources by tags and explore your App Service overview.
Navigate to your resource group
A resource group is a logical container that holds related Azure resources. Everything you created in the previous step lives inside one resource group.
- Switch back to the Azure Portal in your browser.
- In the search bar at the top of the page, type Resource groups and select Resource groups from the results.
- Click on az900-webapp-rg to open your resource group.
You should see two resources listed: your App Service plan (az900-plan) and your web app.
What is a resource group?
A resource group is a logical container, not a billing boundary. It groups related resources so you can manage, monitor, and delete them together.
When you delete a resource group, everything inside it gets deleted too. This makes cleanup simple.
Apply resource tags to your resource group
Tags are metadata labels you attach to resources so you can filter, sort, and allocate costs across projects and teams.
- In the left menu of your az900-webapp-rg resource group, click Tags.
- In the Name field, type environment.
- In the Value field, type learning.
- Click the next empty row to add a second tag.
- In the second Name field, type project.
- In the second Value field, type az900-prep.
- Click Save at the top of the page.
You should see both tags displayed on the page after saving.
Why do tags matter for the AZ-900 exam?
Tags are a key part of the Azure management and governance domain, which makes up 30-35% of the AZ-900 exam. They help organizations track costs by department, identify resource owners, and enforce compliance policies.
Tags do not automatically cascade from a resource group down to its child resources. Each resource must be tagged individually or through Azure Policy.
Don't see the Tags option?
Make sure you clicked into your az900-webapp-rg resource group first. The Tags option appears in the left service menu of the resource group page, not on the Resource Groups list page.
If the left menu is collapsed, click the hamburger icon at the top left of the service menu to expand it.
Help me find the Tags menu in my resource group.
Filter resources by tags and explore your app
Now that you have tags applied, you can use them to find resources across your entire Azure subscription.
- In the portal search bar at the top, type Tags and select Tags from the results.
- Find the tag environment : learning in the list and click on it.
- You should see your az900-webapp-rg resource group displayed. This confirms filtering by tags works.
Now explore your web app's overview page to see its key details.
- In the search bar, type App Services and select App Services from the results.
- Click on your web app name to open its overview page.
- On the overview page, locate the following details: the URL (ending in .azurewebsites.net), the Status (should show Running), the App Service plan (az900-plan), and the Region (East US).
What does the App Service overview tell you?
The overview page is your dashboard for the web app. It shows the public URL, the current status, which App Service plan it runs on, and the Azure region where it is deployed.
On the AZ-900 exam, you need to understand that App Service is a PaaS offering. Azure manages the underlying infrastructure (servers, OS patching, scaling) while you focus on your application code.
Your resources are organized and tagged. Next up, you'll set up Azure Monitor alerts to detect problems with your app before your users notice them.
Set Up Azure Monitor Alerts
You've explored the Azure Portal, viewed your resources, and applied tags for organization. Now it's time to make your app observable.
What happens if your web app starts throwing errors in the middle of the night? Without monitoring, you'd never know until a user complains. Azure Monitor lets you set up alerts that notify you the moment something goes wrong.
In this step, get ready to:
- Navigate to the Alerts section of your web app.
- Configure a metric alert rule for HTTP server errors.
- Create an action group that sends email notifications when errors occur.
Navigate to the Alerts blade
The Alerts blade is where you create rules that automatically notify you when a metric crosses a threshold. You'll access it directly from your web app resource.
- In the Azure Portal, use the search bar at the top to search for your web app name and select it from the results.
- In the left menu of your web app, scroll down to the Monitoring section.
- Click Alerts.
- Click + Create at the top of the Alerts page.
- Select Alert rule from the dropdown.
What is a metric alert rule?
A metric alert rule watches a specific measurement (like error count or response time) on your resource. When the measurement crosses the threshold you define, Azure automatically fires a notification.
Because you navigated to Alerts from your web app, the alert rule's scope is automatically set to your web app resource. You don't need to configure the scope manually.
Configure the alert condition
The condition tells Azure which signal to watch and when to trigger the alert. You'll configure it to fire whenever your app returns any HTTP 5xx error.
- On the Condition tab, click the Signal name field.
- Select Http 5xx from the list of popular signals.
What is Http 5xx?
Http 5xx refers to HTTP Server Error responses (status codes 500-599). These indicate your application failed to handle a request, which is a critical signal that something is broken.
On the F1 free tier, the available app-level metrics include Http 5xx, Requests, Response Time, CPU Time, and Data In/Out. Metrics like CPU Percentage and Memory Percentage are only available on Basic tier and above.
Now configure the alert logic that determines when the alert fires.
- In the Alert logic section, set Threshold to Static.
- Set Operator to Greater than.
- Set Aggregation type to Total.
- Set Threshold value to 0.
- Under When to evaluate, set Check every to 1 minute.
- Set Lookback period to 5 minutes.
What do these settings mean?
A static threshold fires whenever the total count of 5xx errors in the last 5 minutes is greater than 0. This means even a single server error triggers a notification.
The 1-minute check frequency means Azure evaluates the condition every minute. The 5-minute lookback period means each evaluation checks data from the previous 5 minutes.
- Click Next: Actions > to move to the Actions tab.
Create an action group and complete the alert rule
An action group defines who gets notified and how when an alert fires. You'll create one that sends an email to your address.
- On the Actions tab, click Create action group.
- In the Action group name field, enter az900-alert-group.
- For Resource group, select az900-webapp-rg.
- Click the Notifications tab within the action group creation pane.
- Under Notification type, select Email/SMS message/Push/Voice.
- Enter your email address in the Email field and click OK.
- Give the notification a name (such as email-notification) and click Review + create to save the action group.
What is an action group?
Action groups are reusable notification configurations. Once you create one, you can attach it to multiple alert rules across different resources.
This is a key Azure Monitor concept tested on AZ-900. The separation of "what triggers" (alert rule) from "who gets notified" (action group) is a core design pattern in Azure's monitoring architecture.
Now finish configuring the alert rule details.
- Click Next: Details > to move to the Details tab.
- In the Alert rule name field, enter High-Error-Alert.
- Set Severity to 2 - Warning.
- Make sure Enable upon creation is checked.
- Click Review + create, then click Create.
Why severity 2 (Warning)?
Azure alert severities range from 0 (Critical) to 4 (Verbose). Severity 2 (Warning) is appropriate here because occasional 5xx errors need attention but may not indicate a complete outage.
In production, you would use Severity 0 or 1 for critical service-down alerts, and Severity 2 or 3 for degradation warnings. Choosing the right severity helps teams prioritize their response.
Your alert rule is now active. Navigate back to your web app's Alerts section in the left menu. You should see the High-Error-Alert rule listed with a status of Enabled.
Don't see your alert rule?
Make sure you clicked Create on the final Review + create page. If you only clicked Review + create without the final Create, the rule was not saved.
If you see a validation error, check that you selected a signal (Http 5xx) on the Condition tab and that the action group was created successfully.
help me troubleshoot why my Azure Monitor alert rule isn't showing up
Free tier alert costs
The first 1000 metric signals monitored per month are free in Azure Monitor. This project stays well within that limit, so there is no additional cost for the alert rule you just created.
Your app is now being monitored for server errors. Next up, you'll explore Cost Management to understand how Azure billing works and how to keep your spending under control.
Explore Cost Management
Your app is live, monitored, and organized with tags. The last piece of the puzzle is understanding how much all of this costs.
In the real world, cloud bills can spiral fast if nobody watches them. Azure provides Cost Management tools that let you track spending, forecast future costs, and set budgets. This maps directly to the AZ-900 exam domain "Describe Azure management and governance" which covers 30-35% of the exam.
In this step, get ready to:
- View your current spending in Cost Analysis.
- Filter costs by resource group to see a per-project breakdown.
- Explore the Pricing Calculator to compare plan costs.
Navigate to Cost Management + Billing
Azure centralizes all spending data in one place. You can view costs at the subscription level or drill down to individual resource groups.
- In the Azure Portal, click the search bar at the top of the page.
- Type Cost Management + Billing and select it from the results.
- In the left navigation menu, select Cost analysis.
You should see a chart showing your current spending. Since you are on the F1 free tier, this should display $0 or minimal charges.
What is Cost Analysis?
Cost Analysis is your first stop for understanding what you are spending and where. It shows accumulated costs over time, broken down by resource, service, or location.
For the AZ-900 exam, you need to know that Cost Management is a free tool available to all Azure subscriptions. It helps organizations plan, track, and optimize their cloud spending.
Not seeing any cost data?
Cost Management views may take up to 24 hours to populate for new subscriptions. If you just created your account, you might see limited data or a message about data availability. Check back later if the charts appear empty.
help me understand why my Cost Analysis is empty
Filter costs by your resource group
Cost Analysis lets you scope your view to a specific resource group. This is how teams track spending per project or department.
- At the top of the Cost Analysis page, look for the scope selector.
- Click the scope selector and drill down to your subscription, then select the az900-webapp-rg resource group.
- Click Select at the bottom to apply the filter.
The cost chart now shows only the resources inside your resource group. You should see $0 for both the App Service plan and the web app since they are on the free tier.
- Examine the cost forecast section to see what Azure estimates you will spend by the end of the billing period.
- Look at the accumulated costs chart to see how spending trends over time.
Why filter by resource group?
Resource groups are a logical container, not a billing boundary. However, filtering Cost Analysis by resource group lets you see exactly what a specific project costs.
On the AZ-900 exam, you need to know both approaches: resource group filtering for project-level cost views, and tags for cross-group cost allocation.
View Budgets and explore the Pricing Calculator
Budgets let you set spending limits and receive alerts before costs get out of hand. The Pricing Calculator lets you estimate costs before deploying new resources.
- In the left navigation menu of Cost Management, select Budgets.
- Notice that you can create spending alerts here. You will create one in the Secret Mission later.
- Open a new browser tab and navigate to the Azure Pricing Calculator.
- In the Pricing Calculator, search for App Service and add it to your estimate.
- Select the Basic tier and choose B1 as the instance.
- Compare the estimated monthly cost of the B1 plan against the F1 Free tier you are currently using.
What does the Pricing Calculator show?
The Pricing Calculator gives estimated costs for any Azure resource before you deploy it. Nothing is provisioned when you use the calculator. You will not be charged for anything you model there.
The F1 Free tier costs $0/month. The Basic B1 plan includes dedicated compute resources and features like custom domains. The price difference between these tiers demonstrates the tradeoffs between a learning sandbox and a production-ready plan.
Teams use this for budget approval
In real projects, teams model their architecture in the Pricing Calculator before deployment. They use the estimate as a baseline for budget approval, then revisit it when architecture changes.
You now understand how to track cloud spending and estimate future costs. Next up, the Secret Mission challenges you to create a budget alert and explore Azure RBAC.
Secret mission
Budget Alert and RBAC Exploration
Azure governance concepts like budgets and role-based access control make up 30-35% of the AZ-900 exam. In this mission, you will create a spending safety net and explore how Azure controls who can access your resources.
Clean Up Your Resources
Clean Up Your Resources
Decide whether to keep your resources running, pause them to come back later, or delete them entirely. This project runs entirely on the Azure free tier, so there are no ongoing costs while the resources exist.
Resources you used:
- Resource group: az900-webapp-rg (contains all cloud resources below).
- App Service plan: az900-plan (F1 Free tier, no cost).
- Web app: your-unique-app-name (no cost on F1 tier).
- Alert rule: High-Error-Alert (free for the first 1000 signals/month).
- Action group: az900-alert-group (no cost).
- Budget: az900-budget (subscription-level notification tool, no cost).
- Local folder: az900-webapp on your Desktop.
Keep everything running
No action needed. All resources are on the free tier and incur no charges.
Keep them running as a reference while studying for the AZ-900 exam. Your web app will remain live and your monitoring alert will stay active.
Pause - I'll come back to this later
Since all resources are on the F1 free tier, there are no charges to pause. Your resources will stay exactly as they are with zero cost.
If you want to stop your web app from being publicly accessible while you take a break, you can stop it by running:
az webapp stop --name your-unique-app-name --resource-group az900-webapp-rg
When you are ready to resume, start it again by running:
az webapp start --name your-unique-app-name --resource-group az900-webapp-rg
Delete - I don't want to use this again
Remove all project resources and start fresh. This demonstrates how resource groups simplify cleanup in Azure.
- Delete the resource group and all resources inside it (App Service plan, web app, alert rule, action group) by running:
- This single command removes everything in the group at once.
az group delete --name az900-webapp-rg --no-wait
- Delete the budget (which lives at subscription level, outside the resource group) by running:
az consumption budget delete --budget-name az900-budget
- Delete the local project folder by running:
rm -rf ~/Desktop/az900-webapp
Why does one command delete almost everything?
Resource groups are logical containers. When you delete the group, Azure deletes every resource inside it. This is a core AZ-900 concept for organizing and managing cloud resources efficiently.
That's a Wrap!
That's a Wrap!
Nice work! You just deployed a live web application to Azure, set up monitoring alerts, and explored cost management tools. That is real cloud experience that maps directly to the AZ-900 exam.
You've learned how to:
- Deploy a live web application to Azure App Service using the Azure CLI, covering PaaS deployment and resource hierarchy (AZ-900: Azure architecture and services).
- Organize cloud resources using resource groups and tags for billing, governance, and filtering (AZ-900: Azure architecture and services).
- Configure Azure Monitor metric alerts to detect HTTP errors and explore Cost Management tools including cost analysis and the pricing calculator (AZ-900: Monitoring tools and cost management).
- Secret Mission: Created a budget alert and explored RBAC role assignments to understand Azure governance and compliance (AZ-900: Governance and compliance).
Ready to quiz yourself?