Complete Azure Tutorial - GUI Version
Table of Contents
- 1. What is Azure?
- 2. Azure Global Infrastructure
- 3. Getting Started with Azure
- 4. Resource Groups
- 5. Compute Services (Virtual Machines, App Services, Functions)
- 6. Storage Services (Blob, File, Queue, Table)
- 7. Networking Services (Virtual Network, Load Balancer, DNS)
- 8. Database Services (Azure SQL DB, Cosmos DB)
- 9. Identity & Security (Azure AD, Defender for Cloud, Key Vault)
- 10. Management & Governance (Azure Monitor, Azure Policy)
- 11. Developer Tools & DevOps (Azure DevOps, Azure Container Registry)
- 12. Analytics & AI/ML
- 13. Cost Management
- 14. Best Practices (Azure Well-Architected Framework)
1. What is Azure?
Microsoft Azure is a comprehensive suite of cloud computing services that allows you to build, deploy, and manage applications and services through Microsoft-managed data centers. It offers a wide range of services, including computing, analytics, storage, and networking, enabling businesses to scale and innovate without the need for on-premises infrastructure.
Azure supports various programming languages, tools, and frameworks, including Microsoft-specific and third-party software, making it a flexible platform for diverse workloads.
Key Advantages of Cloud Computing (Azure):
- Scalability: Easily scale resources up or down based on demand.
- Global Reach: Deploy applications and services in data centers worldwide.
- Cost-Effectiveness: Pay-as-you-go pricing, reducing upfront capital expenditure.
- Flexibility: Supports a wide range of operating systems, programming languages, frameworks, and tools.
- Security: Benefits from Microsoft's robust security measures and compliance certifications.
- Hybrid Capabilities: Seamlessly integrates with on-premises environments.
2. Azure Global Infrastructure
Azure's global infrastructure is designed for high availability, low latency, and massive scalability.
- Regions: Geographic areas around the world that contain one or more data centers. Each region is physically isolated and independent. Examples: `East US`, `West Europe`, `Southeast Asia`.
- Availability Zones (AZs): Physically separate locations within an Azure region. Each AZ has independent power, cooling, and networking, providing high availability and fault tolerance within a region.
- Geographies: Discrete markets of two or more regions that preserve data residency and compliance boundaries.
- Region Pairs: Each Azure region is paired with another region within the same geography (e.g., East US 2 and Central US). This allows for cross-region replication for disaster recovery and business continuity.
- Azure Edge Locations: Globally distributed network of Microsoft-managed points of presence that deliver low-latency services closer to users.
Region Choice: When deploying resources, select an Azure region that is geographically close to your users to minimize latency, and consider data residency requirements for compliance. You can select your current region from the dropdown menu in the top right of the Azure Portal.
3. Getting Started with Azure
A. Create an Azure Account:
Go to azure.microsoft.com/free/ and sign up for a free Azure account. You typically get free credits for 30 days and free access to popular services for 12 months. You'll need a Microsoft account and a phone number for verification, plus a credit card (for identity verification and to enable pay-as-you-go after free credits, if applicable).
B. The Azure Portal:
This is the web-based console for managing your Azure resources. This tutorial will focus on using the Portal's graphical user interface (GUI).
# Access: portal.azure.com
Upon logging in, you'll see the **Azure Portal Home** page, which provides a dashboard view and access to various services via the navigation menu or search bar.
4. Resource Groups
In Azure, a **Resource Group** is a logical container that holds related Azure resources (e.g., Virtual Machines, Storage Accounts, Virtual Networks) for an Azure solution. Resources in a resource group are managed as a single entity.
Benefits of Resource Groups:
- Organization: Group related resources for easier management.
- Lifecycle Management: Delete all resources within a group with a single action.
- Access Control: Apply Azure RBAC roles to the resource group, inheriting permissions to all resources within it.
- Cost Management: Track costs for a group of resources.
Usage Example: Creating a Resource Group (GUI):
- Log in to the Azure Portal: portal.azure.com
- In the search bar at the top, type `Resource groups` and select it from the results, or click on **Resource groups** from the Azure services section on the home page.
- Click the **+ Create** button.
- On the "Create a resource group" page:
- Subscription: Select your Azure subscription.
- Resource group name: Enter a unique name (e.g., `my-app-resource-group`).
- Region: Select the Azure region where you want to deploy the resource group's metadata (e.g., `East US`).
- Click **Review + create**.
- Click **Create**.
- After creation, you can click "Go to resource group" to see its overview.
5. Compute Services
These services provide the processing power for your applications and workloads.
A. Azure Virtual Machines (VMs) - GUI Usage:
On-demand, scalable computing resources.
- Navigate to Virtual Machines:
Azure Portal > Search for "Virtual machines" > Select Virtual machines
- Create a VM:
- Click **+ Create** > **Azure virtual machine**.
- Basics tab:
- Subscription: Select your subscription.
- Resource group: Choose an existing one (e.g., `my-app-resource-group`) or click "Create new".
- Virtual machine name: (e.g., `myLinuxWebServer`).
- Region: Select your desired region (e.g., `East US`).
- Image: Choose an OS (e.g., `Ubuntu Server 22.04 LTS`).
- Size: Select a VM size (e.g., `Standard B1s` for Free Tier eligibility).
- Administrator account:
- Authentication type: `SSH public key` (recommended for Linux).
- Username: (e.g., `azureuser`).
- SSH public key source: `Generate new key pair`.
- Key pair name: (e.g., `my-ssh-key`). When you click **Review + create**, the private key will download automatically. Save it securely (`.pem` file).
- Inbound port rules: Check "Allow selected ports" and select `SSH (22)` and `HTTP (80)` (if you plan to run a web server).
- Click **Review + create**.
- Click **Create**. The private key file will download.
- Connecting to the VM:
- Once deployment is complete, go to the VM resource.
- Copy the **Public IP address**.
- Open your terminal and use `ssh -i /path/to/my-ssh-key.pem azureuser@`.
- If you allowed HTTP, you can browse to the Public IP address.
B. Azure App Services - GUI Usage:
A fully managed platform for building, deploying, and scaling web apps, mobile backends, and API apps.
- Navigate to App Services:
Azure Portal > Search for "App Services" > Select App Services
- Create an App Service:
- Click **+ Create** > **Web App**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select (e.g., `my-app-resource-group`).
- Name: Enter a globally unique name (e.g., `myuniqueapp2025`).
- Publish: `Code`.
- Runtime stack: (e.g., `Node 18 LTS`, `.NET 8`, `Python 3.9`).
- Operating System: `Linux` or `Windows`.
- Region: Select.
- App Service Plan: Click "Create new" or select existing. For "Sku and size", choose a pricing tier (e.g., `F1 Free`).
- Click **Review + create**.
- Click **Create**.
- Deploying Code:
- Once deployed, navigate to your App Service resource.
- In the left menu, go to **Deployment Center**.
- Choose a source (e.g., **GitHub**, **Azure Repos**, **Local Git**). Follow instructions to connect your repository and set up continuous deployment.
- Alternatively, use **FTP** or **VS Code deployment** options.
- Accessing the App: On the App Service "Overview" page, click the **URL** to open your deployed application in a browser.
C. Azure Functions (Serverless Compute) - GUI Usage:
Allows you to run small pieces of code (functions) in response to events.
- Navigate to Function Apps:
Azure Portal > Search for "Function App" > Select Function App
- Create a Function App:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select (e.g., `my-app-resource-group`).
- Function App name: Enter a globally unique name (e.g., `myhttptriggerfunc2025`).
- Publish: `Code`.
- Runtime stack: (e.g., `Node.js`, `Python`, `.NET`).
- Version: Select runtime version.
- Region: Select.
- Operating System: `Linux` or `Windows`.
- Hosting: Select "Storage account" (create new or select existing). Select "Plan type" (e.g., `Consumption (Serverless)`).
- Click **Review + create** > **Create**.
- Create an HTTP-triggered Function:
- Once the Function App is deployed, go to its resource.
- In the left menu, go to **Functions** > **+ Create**.
- Development environment: `Develop in portal`.
- Template: Select `HTTP trigger`.
- New Function:
- Name: (e.g., `MyHttpTrigger`).
- Authorization level: `Function` (requires a key) or `Anonymous` (no key needed).
- Click **Create**.
- Test the Function:
- Once the function is created, go to **Code + Test**.
- The default code is displayed. Click **Test/Run** (top right).
- In the "Input" tab, you can add parameters to the query string or body. Click **Run**.
- The "Output" tab will show the function's response.
- To get the public URL, click **Get Function URL**.
6. Storage Services
Azure offers a variety of highly available and durable storage solutions.
A. Azure Blob Storage - GUI Usage:
Object storage for massive amounts of unstructured data.
- Navigate to Storage Accounts:
Azure Portal > Search for "Storage accounts" > Select Storage accounts
- Create a Storage Account:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select (e.g., `my-app-resource-group`).
- Storage account name: Enter a globally unique name (e.g., `mystorageaccountgui2025`).
- Region: Select.
- Performance: `Standard` or `Premium`.
- Redundancy: (e.g., `Locally-redundant storage (LRS)`).
- Click **Review + create** > **Create**.
- Create a Container:
- Once the storage account is deployed, go to its resource.
- In the left menu, under "Data storage", click **Containers**.
- Click **+ Container**.
- Name: (e.g., `myphotos`).
- Public access level: `Private (no anonymous access)` (recommended for security).
- Click **Create**.
- Upload a Blob (File):
- Click on your newly created container.
- Click **Upload**.
- Select a file from your computer.
- Click **Upload**.
B. Azure Files - GUI Usage:
Fully managed file shares in the cloud, accessible via SMB protocol.
- Navigate to Storage Accounts: (Azure Files are created within Storage Accounts).
Azure Portal > Storage accounts > (Your Storage Account)
- Create a File Share:
- In the left menu, under "Data storage", click **File shares**.
- Click **+ File share**.
- Name: (e.g., `myfileshare`).
- Tier: (e.g., `Transaction optimized`).
- Click **Create**.
- Connect to File Share: Once created, click on the file share and then **Connect** to get instructions for mounting it on Windows, Linux, or macOS.
C. Azure Queue Storage - GUI Usage:
A service for storing large numbers of messages.
- Navigate to Storage Accounts: (Queue Storage is within Storage Accounts).
Azure Portal > Storage accounts > (Your Storage Account)
- Create a Queue:
- In the left menu, under "Data storage", click **Queues**.
- Click **+ Queue**.
- Name: (e.g., `my-message-queue`).
- Click **OK**.
D. Azure Table Storage - GUI Usage:
A NoSQL key-value store.
- Navigate to Storage Accounts: (Table Storage is within Storage Accounts).
Azure Portal > Storage accounts > (Your Storage Account)
- Create a Table:
- In the left menu, under "Data storage", click **Tables**.
- Click **+ Table**.
- Name: (e.g., `mytabledata`).
- Click **OK**.
7. Networking Services
These services enable network connectivity, traffic management, and security for your Azure resources.
A. Azure Virtual Network (VNet) - GUI Usage:
A logically isolated section of Azure cloud.
- Navigate to Virtual Networks:
Azure Portal > Search for "Virtual networks" > Select Virtual networks
- Create a VNet:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select (e.g., `my-app-resource-group`).
- Name: (e.g., `myProductionVnetGUI`).
- Region: Select.
- IP Addresses tab:
- IPv4 address space: (e.g., `10.1.0.0/16`).
- Click **+ Add subnet**.
- Subnet name: (e.g., `AppSubnet`).
- Address range: (e.g., `10.1.1.0/24`).
- Click **Add**.
- Click **Review + create** > **Create**.
- Network Security Groups (NSGs):
B. Azure Load Balancer - GUI Usage:
Distributes incoming network traffic across multiple backend resources.
- Navigate to Load Balancers:
Azure Portal > Search for "Load balancers" > Select Load balancers
- Create a Load Balancer:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select.
- Name: (e.g., `myWebAppLB`).
- Region: Select.
- Type: `Public` or `Internal`.
- Sku: `Standard` (recommended) or `Basic`.
- Configure Frontend IP configuration, Backend pools, Health probes, and Load balancing rules.
- Click **Review + create** > **Create**.
C. Azure Application Gateway - GUI Usage:
A web traffic load balancer with WAF capabilities.
- Navigate to Application Gateways:
Azure Portal > Search for "Application gateways" > Select Application gateways
- Create Application Gateway:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select.
- Application Gateway name: (e.g., `myAppGw`).
- Region: Select.
- Tier: `Standard V2` (recommended).
- Configure Virtual Network, Frontend (public/private IP), Backend pools, and Listener.
- Click **Review + create** > **Create**.
D. Azure DNS - GUI Usage:
A hosting service for DNS domains.
- Navigate to DNS zones:
Azure Portal > Search for "DNS zones" > Select DNS zones
- Create DNS Zone:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Name: Enter your domain name (e.g., `mydomain.com`).
- Click **Review + create** > **Create**.
- Add Record Set: Once created, open the DNS zone. Click **+ Record set** to add A, CNAME, MX, etc., records.
8. Database Services
Azure offers a wide range of fully managed database services.
A. Azure SQL Database - GUI Usage:
A fully managed PaaS database engine.
- Navigate to SQL Databases:
Azure Portal > Search for "SQL databases" > Select SQL databases
- Create SQL Database:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Database name: (e.g., `mywebappdb`).
- Server: Click "Create new" to create a new SQL Server logical server.
- Server name: Unique (e.g., `mysqldemoserver2025`).
- Server admin login: (e.g., `sqladmin`).
- Password: Strong password.
- Location: Same as your resource group.
- Want to use SQL elastic pool?: `No`.
- Compute + storage: Click "Configure database" to choose pricing tier (e.g., `Basic` or `Standard S0` for testing).
- Click **Review + create** > **Create**.
- Connect to DB: After deployment, go to the SQL Database resource. In the left menu, go to **Networking** to configure firewall rules (e.g., "Add your client IP") or **Query editor (preview)** to run SQL queries directly.
B. Azure Cosmos DB - GUI Usage:
A globally distributed, multi-model database service.
- Navigate to Azure Cosmos DB:
Azure Portal > Search for "Azure Cosmos DB" > Select Azure Cosmos DB
- Create Azure Cosmos DB Account:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Account name: Enter unique (e.g., `mycosmosdbaccount2025`).
- API: Choose your API (e.g., `Core (SQL)`).
- Location: Select.
- Click **Review + create** > **Create**.
- Add Container: Once deployed, go to the Cosmos DB account. In the left menu, go to **Data Explorer** > **New Container** to create database and container.
C. Azure Database for MySQL/PostgreSQL/MariaDB - GUI Usage:
Fully managed services for popular open-source relational databases.
- Navigate to relevant service:
Azure Portal > Search for "Azure Database for MySQL flexible server" > Select it
- Create Server: Follow similar steps as Azure SQL Database, choosing your specific open-source engine.
9. Identity & Security
These services provide identity management, threat protection, and secure key/secret management.
A. Azure Active Directory (Azure AD) / Microsoft Entra ID - GUI Usage:
A cloud-based identity and access management service.
- Navigate to Microsoft Entra ID:
Azure Portal > Search for "Microsoft Entra ID" > Select Microsoft Entra ID
- Manage Users:
- In the left menu, go to **Users** > **All users**.
- Click **+ New user** > **Create new user**.
- Fill in required details (User principal name, Display name, password).
- Click **Review + create** > **Create**.
- Manage Enterprise Applications: For managing application registrations and SSO configurations.
B. Microsoft Defender for Cloud - GUI Usage:
A cloud security posture management (CSPM) and cloud workload protection platform (CWPP).
- Navigate to Microsoft Defender for Cloud:
Azure Portal > Search for "Microsoft Defender for Cloud" > Select Microsoft Defender for Cloud
- Enable and Explore:
- On the overview page, you'll see your **Secure score**, security recommendations, and alert dashboards.
- If it's your first time, you might need to click "Get started" to enable the service for your subscriptions.
- Explore **Recommendations** to see actionable steps to improve security.
C. Azure Key Vault - GUI Usage:
A cloud service for securely storing and managing secrets, encryption keys, and digital certificates.
- Navigate to Key Vaults:
Azure Portal > Search for "Key vaults" > Select Key vaults
- Create Key Vault:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource Group: Select.
- Key Vault name: Enter unique (e.g., `myappsecrets2025`).
- Region: Select.
- Pricing tier: `Standard` or `Premium` (for HSM-backed keys).
- Click **Review + create** > **Create**.
- Add a Secret:
- Once deployed, go to the Key Vault resource.
- In the left menu, under "Objects", click **Secrets**.
- Click **+ Generate/Import**.
- Upload options: `Manual`.
- Name: (e.g., `MyDbConnection`).
- Value: Paste your secret value.
- Click **Create**.
- Access Policies: Go to **Access policies** in the left menu to grant permissions to users or applications to access secrets, keys, or certificates.
10. Management & Governance
Services for managing, monitoring, and governing your Azure resources effectively.
A. Azure Monitor - GUI Usage:
A comprehensive solution for collecting, analyzing, and acting on telemetry.
- Navigate to Monitor:
Azure Portal > Search for "Monitor" > Select Monitor
- Explore Metrics:
- In the left menu, click **Metrics**.
- Select a **Scope** (Resource group, Subscription, or specific resource).
- Choose a **Metric Namespace** and **Metric** (e.g., `Virtual Machine > Percentage CPU`).
- View charts of resource performance.
- Explore Logs (Log Analytics):
- In the left menu, click **Logs**.
- This opens the Log Analytics query interface where you can write KQL queries against your ingested logs. (e.g., `AzureActivity | take 10`).
- Create Alerts:
- In the left menu, click **Alerts** > **+ Create** > **Alert rule**.
- Select a **Scope** (resource).
- Configure **Condition** (e.g., metric threshold like "CPU percentage > 90%").
- Configure **Actions** (e.g., send email, trigger Logic App).
- Click **Create alert rule**.
B. Azure Policy - GUI Usage:
Helps to enforce organizational standards and to assess compliance at scale.
- Navigate to Policy:
Azure Portal > Search for "Policy" > Select Policy
- Explore Definitions:
- In the left menu, click **Definitions**. View built-in policy definitions (e.g., "Allowed locations").
- Click **+ Policy definition** to create a custom policy (requires JSON knowledge).
- Assign Policy:
- In the left menu, click **Assignments** > **+ Assign policy**.
- Scope: Select the subscription or resource group to which the policy will apply.
- Policy definition: Select a policy definition.
- Configure **Parameters** and **Remediation** (e.g., to automatically fix non-compliant resources).
- Click **Review + create** > **Create**.
- Compliance Dashboard: The Policy "Overview" dashboard shows the compliance state of your resources against assigned policies.
Azure provides a robust set of tools for software development and DevOps practices.
A. Azure DevOps - GUI Usage:
A suite of services for the software development lifecycle.
- Access Azure DevOps:
Go to dev.azure.com
- Create an Organization:
- Sign in with your Microsoft account.
- Click **New organization**.
- Provide a name for your organization and select its hosting geography. Click **Continue**.
- Create a Project:
- Once the organization is created, click **Create a project**.
- Project name: (e.g., `MyAppDevOps`).
- Visibility: `Public` or `Private`.
- Version control: `Git`.
- Work item process: `Agile` (or Scrum, Basic, CMMI).
- Click **Create project**.
- Explore Services: Within your project, explore **Boards** (for agile planning), **Repos** (for Git code), **Pipelines** (for CI/CD), **Test Plans**, and **Artifacts**.
B. Azure Container Registry (ACR) - GUI Usage:
A managed Docker container registry service.
- Navigate to Container registries:
Azure Portal > Search for "Container registries" > Select Container registries
- Create Container Registry:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Registry name: Unique (e.g., `myappregistry2025`).
- Location: Select.
- Sku: `Basic`, `Standard`, or `Premium`.
- Click **Review + create** > **Create**.
- Push/Pull Images: Instructions for pushing and pulling Docker images using `docker login` and `docker push` will be available on the registry's "Overview" page.
12. Analytics & AI/ML
Azure offers powerful services for data analysis and artificial intelligence/machine learning.
A. Azure Synapse Analytics - GUI Usage:
An enterprise analytics service that unifies data warehousing and big data analytics.
- Navigate to Azure Synapse Analytics:
Azure Portal > Search for "Azure Synapse Analytics" > Select Azure Synapse Analytics
- Create Synapse Workspace:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Workspace name: Unique (e.g., `mysynapseworkspace2025`).
- Region: Select.
- Data Lake Storage Gen2: Link an existing or create a new one.
- Click **Review + create** > **Create**.
- Open Synapse Studio: Once deployed, go to the workspace and click "Open Synapse Studio" to access the web-based IDE for data engineering, warehousing, and analytics.
B. Azure Machine Learning - GUI Usage:
A cloud service for the end-to-end machine learning lifecycle.
- Navigate to Machine Learning:
Azure Portal > Search for "Machine Learning" > Select Machine Learning
- Create Workspace:
- Click **+ Create**.
- Basics tab:
- Subscription: Select.
- Resource group: Select.
- Workspace name: Unique (e.g., `mymlworkspace2025`).
- Region: Select.
- Will automatically create associated storage, Key Vault, Application Insights.
- Click **Review + create** > **Create**.
- Launch Studio: Once deployed, go to the workspace and click "Launch studio" to access the web-based Azure Machine Learning Studio, where you can build, train, and deploy models.
C. Azure AI Services (Cognitive Services) - GUI Usage:
Pre-built AI APIs and SDKs.
- Navigate to AI services:
Azure Portal > Search for "AI services" > Select AI services
- Create Service:
- Click **+ Create**.
- Choose a category (e.g., `Vision`, `Speech`, `Language`, `Decision`) and then a specific service (e.g., `Computer Vision`).
- Configure basics (name, resource group, region, pricing tier).
- Click **Review + create** > **Create**.
- Use Service: After deployment, access the service keys and endpoint URL from its "Overview" page to integrate into your applications.
13. Cost Management
Effectively managing costs is crucial in Azure.
- Azure Free Account: Leverage initial credits and free services.
- Cost Management + Billing:
Azure Portal > Navigation menu (☰) > Cost Management + Billing > Cost Management > Cost analysis
- View your current and forecasted costs, filter by resource group, tag, service, etc.
- Budgets:
- In Cost Management, go to **Budgets**.
- Click **+ Add**.
- Define budget scope, name, and amount. Configure **Alerts** to notify you when spending exceeds thresholds.
- Click **Create**.
- Azure Advisor:
Azure Portal > Search for "Advisor" > Select Advisor
- Provides recommendations for cost optimization, as well as high availability, security, and performance.
- Reserved Instances (RIs) / Azure Savings Plan:
Azure Portal > Search for "Reservations" > Select Reservations
- Explore options to purchase reserved capacity for 1 or 3 years for significant discounts.
- Tagging: Apply tags (key-value pairs) to your resources to organize costs by department, project, environment. You can apply tags on the "Tags" tab when creating most resources.
14. Best Practices (Azure Well-Architected Framework)
The Azure Well-Architected Framework provides a set of guiding tenets that are used to improve the quality of a workload. It focuses on five pillars:
- Cost Optimization: Manage costs to maximize the value delivered.
- Operational Excellence: Design operations that keep a system running in production.
- Performance Efficiency: Scale to meet demand and support business requirements.
- Reliability: Build systems that are resilient and can recover from failures.
- Security: Protect applications and data from threats.
Your Azure Cloud Journey with the Portal!
The Azure Portal is your primary interface for interacting with Azure services. By following the step-by-step instructions in this tutorial and consistently experimenting with different services, you'll gain invaluable hands-on experience in building and managing cloud solutions. Remember to always explore the extensive official Azure documentation for the most up-to-date information and new features, as well as Microsoft Learn paths and quickstarts for deeper learning.