██████╗ ██████╗ ██████╗ ███████╗ ████████╗ ██████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝ ╚══██╔══╝██╔═══██╗
██║ ██║ ██║██║ ██║█████╗ ██║ ██║ ██║
██║ ██║ ██║██║ ██║██╔══╝ ██║ ██║ ██║
╚██████╗╚██████╔╝██████╔╝███████╗ ██║ ╚██████╔╝
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝
██████╗██╗ ██████╗ ██╗ ██╗██████╗
██╔════╝██║ ██╔═══██╗██║ ██║██╔══██╗
██║ ██║ ██║ ██║██║ ██║██║ ██║
██║ ██║ ██║ ██║██║ ██║██║ ██║
╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝
╚═════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝
Code to Cloud | A hands-on journey from local development to Azure mastery
The fastest way to start — no installation required!
Click above to launch a fully-configured environment with all tools pre-installed.
🆕 New to Azure? Start with the Wiki for Learners — it walks you through everything step by step. Not sure what a term means? Check the Glossary.
Don't want to install anything? Use Azure Cloud Shell — it runs in your browser with all tools pre-installed. Just sign in and paste commands from our copy-paste reference.
| Link | Description |
|---|---|
| Wiki for Learners | Beginner-friendly step-by-step guides |
| Glossary | Plain-English definitions of Azure terms |
| Course Agenda | Full schedule with timings |
| Lesson Index | All 12 lessons at a glance |
| Discord Community | Get help and connect |
Local Setup (if not using Codespaces)
| Tool | Installation |
|---|---|
| Azure Account | Create free account |
| Azure CLI | Install v2.60+ |
| Azure Developer CLI | Install azd v1.10+ |
| VS Code | Download with Bicep extension |
| Git | Install |
💡 All commands below should be run from the project root folder (
azure_essentials/). If you're not sure how to open a terminal, see the Scripts Guide for help.
# 1. Clone the repo
git clone https://github.com/codetocloudorg/azure_essentials.git
cd azure_essentials
# 2. Run preflight checks
./scripts/bash/validate-env.sh # macOS/Linux
.\scripts\powershell\validate-env.ps1 # WindowsSee Prerequisites Guide for detailed platform instructions.
Deploy with Azure Developer CLI
# macOS / Linux
./scripts/bash/deploy.sh
# Windows
.\scripts\powershell\deploy.ps1azd auth login
azd init
azd env set AZURE_LOCATION eastus
azd env set LESSON_NUMBER 03 # Deploy specific lesson
azd upEach lesson deploys to its own resource group:
rg-{name}-lesson03-storage <- Lesson 03: Storage
rg-{name}-lesson04-networking <- Lesson 04: Networking
rg-{name}-lesson05-compute <- Lesson 05: Windows VM
rg-{name}-lesson07-containers <- Lesson 07: Containers
...
azd down --force --purge # Remove all resourcesSee SCRIPTS.md for all options.
Course Structure (12 Lessons)
| # | Lesson | Time | Topic |
|---|---|---|---|
| 00 | Prerequisites | 15 min | Setup |
| 01 | Introduction | 55 min | Azure concepts |
| 02 | Getting Started | 20 min | Subscriptions and resource groups |
| 03 | Storage | 55 min | Blobs, files, queues |
| 04 | Networking | 35 min | VNets, NSGs, load balancers |
| 05 | Windows Compute | 30 min | VMs, App Service |
| 06 | Linux and K8s | 25 min | Linux VMs, MicroK8s |
| 07 | Containers | 25 min | ACR, Container Apps |
| # | Lesson | Time | Topic |
|---|---|---|---|
| 08 | Serverless | 60 min | Functions, Logic Apps |
| 09 | Databases | 60 min | SQL, Cosmos DB, Fabric |
| 10 | Billing | 20 min | Cost management |
| 11 | AI Foundry | 45 min | AI models, chatbots |
| 12 | Architecture | 45 min | Design patterns |
Cost and Region Information
| Lessons | Resources | Cost |
|---|---|---|
| 01-04 | Storage, VNet, NSGs | FREE |
| 05 | App Service (F1) | FREE |
| 06 | Local MicroK8s | FREE |
| 08 | Functions (Consumption) | FREE |
| Lesson | Resources | Est. Cost |
|---|---|---|
| 07 | Container Registry | ~$0.17/day |
| 09 | Cosmos DB (Serverless) | Pay-per-use |
| 11 | AI Foundry | ~$1-5/day |
| Region | Location | Notes |
|---|---|---|
| eastus | Virginia | Best availability |
| eastus2 | Virginia | Good backup |
| centralus | Iowa | Good for Cosmos DB |
| westus2 | Washington | West Coast |
| canadacentral | Toronto | Canadian learners |
Repository Structure
azure_essentials/
├── README.md # This file
├── SCRIPTS.md # Scripts guide
├── azure.yaml # azd configuration
├── wiki/ # Beginner-friendly guides
│
├── lessons/ # Course content
│ ├── 00-prerequisites/
│ ├── 01-introduction/
│ └── ... # Through 12-architecture
│
├── infra/ # Bicep templates
│ ├── main.bicep
│ └── modules/
│
├── scripts/
│ ├── bash/ # macOS/Linux
│ │ ├── deploy.sh
│ │ └── validate-env.sh
│ ├── powershell/ # Windows
│ │ ├── deploy.ps1
│ │ └── validate-env.ps1
│ └── azure-cli/ # CLI reference
│
└── .devcontainer/ # Dev container config
Troubleshooting
azd auth logout && az logout
azd auth login --use-device-code && az login --use-device-code- Run
azd downto remove resources - Wait a few minutes
- Try a different region or request quota increase
azd show # Check status
azd deploy --debug # Detailed logs- Troubleshooting Wiki - Common problems and fixes
- GitHub Issues - Report bugs
- Discord - Ask the community
Resources and Certifications
- AZ-900 Azure Fundamentals - Entry certification
- AZ-104 Azure Administrator - Admin path
- AZ-204 Azure Developer - Developer path
- Microsoft Learn - Free training
This is Code to Cloud Inc. intellectual property. For contributions:
- Fork this repository
- Create a feature branch
- Submit a pull request
Copyright (c) 2024-2026 Code to Cloud Inc. | MIT License
Created by Kevin Evans and the Code to Cloud Inc. team. Built with love for the Azure community.