βββββββ βββββββ βββββββ ββββββββ βββββββββ βββββββ
βββββββββββββββββββββββββββββββββ ββββββββββββββββββ
βββ βββ ββββββ βββββββββ βββ βββ βββ
βββ βββ ββββββ βββββββββ βββ βββ βββ
βββββββββββββββββββββββββββββββββ βββ βββββββββ
βββββββ βββββββ βββββββ ββββββββ βββ βββββββ
ββββββββββ βββββββ βββ ββββββββββ
βββββββββββ ββββββββββββ βββββββββββ
βββ βββ βββ ββββββ ββββββ βββ
βββ βββ βββ ββββββ ββββββ βββ
ββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββ βββββββ βββββββ βββββββ
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.50+ |
| Azure Developer CLI | Install azd v1.5+ |
| 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, AKS, 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 && az login- 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.