Microsoft Azure Overview
Microsoft Azure is the second-largest cloud provider and particularly strong for enterprises already invested in the Microsoft ecosystem. Azure integrates deeply with Active Directory, .NET, Visual Studio, and Microsoft 365, making it a natural choice for many organizations.
Azure Core Services by Category
- Compute: Virtual Machines, App Service, Azure Functions, AKS, Container Instances
- Storage: Blob Storage, File Storage, Disk Storage, Table Storage
- Database: Azure SQL, Cosmos DB, Azure Database for PostgreSQL
- Networking: Virtual Network, Load Balancer, Application Gateway, Front Door
- Identity: Azure Active Directory (Entra ID), Key Vault
- DevOps: Azure DevOps, Azure Pipelines, Azure Repos
Azure Virtual Machines
Azure VMs provide on-demand, scalable computing resources. Azure offers a wide variety of VM sizes optimized for different workloads, including general purpose, compute-optimized, memory-optimized, and GPU instances.
# Create a resource group
az group create --name myResourceGroup --location eastus
# Create a virtual machine
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image Ubuntu2204 \
--size Standard_B2s \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku Standard
# Open port 80 for web traffic
az vm open-port --port 80 \
--resource-group myResourceGroup --name myVM
# List VMs
az vm list --resource-group myResourceGroup --output table
# SSH into the VM
ssh azureuser@<public-ip-address>
# Deallocate (stop billing for compute)
az vm deallocate --resource-group myResourceGroup --name myVM
Azure Blob Storage
Blob Storage is Azure's object storage solution for the cloud. It is optimized for storing massive amounts of unstructured data such as text or binary data, images, documents, and streaming media.
# Create a storage account
az storage account create \
--name mystorageaccount2026 \
--resource-group myResourceGroup \
--location eastus \
--sku Standard_LRS \
--kind StorageV2
# Create a container
az storage container create \
--name mycontainer \
--account-name mystorageaccount2026 \
--public-access blob
# Upload a file
az storage blob upload \
--account-name mystorageaccount2026 \
--container-name mycontainer \
--name myfile.txt \
--file ./myfile.txt
# Upload a directory
az storage blob upload-batch \
--account-name mystorageaccount2026 \
--destination mycontainer \
--source ./build/
# Enable static website hosting
az storage blob service-properties update \
--account-name mystorageaccount2026 \
--static-website \
--index-document index.html \
--404-document 404.html
Azure Functions
Azure Functions is a serverless compute service that lets you run event-driven code without having to explicitly provision or manage infrastructure. It supports multiple languages including JavaScript/TypeScript, Python, C#, Java, and PowerShell.
// Azure Function HTTP Trigger (TypeScript)
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
export async function httpTrigger(
request: HttpRequest,
context: InvocationContext
): Promise<HttpResponseInit> {
context.log('HTTP trigger function processed a request.');
const name = request.query.get('name') || (await request.text()) || 'World';
return {
status: 200,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
message: `Hello, ${name}!`,
timestamp: new Date().toISOString(),
}),
};
}
app.http('httpTrigger', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: httpTrigger,
});
AKS — Azure Kubernetes Service
AKS simplifies deploying a managed Kubernetes cluster in Azure. Azure handles critical tasks like health monitoring, maintenance, and upgrades of the Kubernetes control plane.
# Create an AKS cluster
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-vm-size Standard_B2s \
--enable-managed-identity \
--generate-ssh-keys \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 5
# Get credentials for kubectl
az aks get-credentials \
--resource-group myResourceGroup \
--name myAKSCluster
# Verify cluster connection
kubectl get nodes
# Deploy application
kubectl apply -f deployment.yaml
# Scale the cluster
az aks scale \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 5
Azure Cosmos DB
Cosmos DB is a globally distributed, multi-model database service. It offers turnkey global distribution, guaranteed single-digit millisecond latency at the 99th percentile, and five well-defined consistency levels.
Azure DevOps
Azure DevOps provides developer services for support teams to plan work, collaborate on code development, and build and deploy applications. It includes Azure Repos, Pipelines, Boards, Test Plans, and Artifacts.
Key Takeaways
- Azure integrates deeply with the Microsoft ecosystem (Active Directory, .NET, Visual Studio)
- Azure VMs support a wide range of sizes and configurations for any workload
- Blob Storage provides scalable object storage with multiple access tiers
- Azure Functions support multiple languages and trigger types for serverless workloads
- AKS provides managed Kubernetes with integrated Azure identity and networking
- Cosmos DB offers globally distributed, multi-model database capabilities