Skip to content
All Skills

DevOps Network Calculator For Azure

Azure network planning, CIDR calculation, subnet sizing, and best-practices tool. Use this skill whenever the user asks about subnet sizing, CIDR planning, AKS networking, NSG rules, network segmentation, IP address management, VNet planning, address space analysis, overlap detection, or any Azure networking topic. Also trigger when the user mentions network calculator, net-calc, calculate hosts, plan subnets, or asks about Azure network best practices, even if they don't explicitly say 'network calculator'.

DevOps & Cloud|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "devops-network-calculator-for-azure-23a4308a" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Azure Network Calculator

Offline Azure network planning tool. Calculates CIDRs, detects overlaps, analyzes VNet utilization, plans AKS networking, and generates Terraform-ready output. Zero external dependencies — uses Python stdlib only.

## Quick Start

```bash
# What CIDR do I need for 500 hosts?
python3 scripts/network-calc.py calculate --from-hosts 500

# Analyze current VNet
python3 scripts/network-calc.py analyze --from-tfvars terraform/terraform.tfvars

# Validate for overlaps (pre-commit compatible)
python3 scripts/network-calc.py validate --from-tfvars terraform/terraform.tfvars

# Find where to place a new subnet
python3 scripts/network-calc.py first-fit --vnet 10.248.0.0/20 \
  --subnets "10.248.0.0/22,10.248.4.0/22,10.248.8.0/26,10.248.9.0/24" --hosts 500
```

## Commands

| Command | Purpose | Reference |
|---------|---------|-----------|
| `calculate` | CIDR info, host sizing, subnet splitting | [CIDR Guide](./references/cidr-calculation-guide.md) |
| `analyze` | VNet utilization, gap analysis | [CIDR Guide](./references/cidr-calculation-guide.md) |
| `validate` | Overlap detection, Azure constraint checks | [Azure Constraints](./references/azure-constraints.md) |
| `first-fit` | Find optimal placement for new subnet | [CIDR Guide](./references/cidr-calculation-guide.md) |
| `plan-multi` | Multi-environment VNet allocation | [Segmentation](./references/segmentation-patterns.md) |

## Project Context

This project's current VNet: `10.248.0.0/20` (4,096 IPs, 57.8% utilized)

| Subnet | CIDR | Usable |
|--------|------|--------|
| GatewaySubnet | 10.248.0.0/22 | 1,019 |
| PublicSubnet | 10.248.4.0/22 | 1,019 |
| AzureBastionSubnet | 10.248.8.0/26 | 59 |
| PrivateSubnet | 10.248.9.0/24 | 251 |
| **Available gaps** | | **1,708** |

Key files: `terraform/terraform.tfvars`, `terraform/networking.tf`, `terraform/nsg.tf`

## Azure Quick Reference

- **5 reserved IPs** per subnet (.0, .1, .2, .3, broadcast)
- **Bastion:** min /26 | **Gateway:** min /27 | **Firewall:** min /26
- **Max subnets/VNet:** 3,000 | **Max NSG rules:** 1,000
- Full reference: [Azure Constraints](./references/azure-constraints.md)

## Reference Guides

| Guide | When to Read |
|-------|-------------|
| [CIDR Calculation Guide](./references/cidr-calculation-guide.md) | Subnet sizing, gap analysis, overlap detection |
| [AKS Networking Guide](./references/aks-networking-guide.md) | CNI comparison, pod/service CIDR, node sizing |
| [Segmentation Patterns](./references/segmentation-patterns.md) | Design patterns, anti-patterns, decision matrices |
| [Azure Constraints](./references/azure-constraints.md) | Hard limits, naming rules, reserved addresses |

## Templates

| Template | Purpose |
|----------|---------|
| [VNet Layout](./templates/vnet-layout.tfvars.tpl) | Terraform variable blocks for VNet config |
| [AKS NSG Rules](./templates/nsg-rules-aks.tfvars.tpl) | NSG rules for AKS workloads |
| [Multi-Env Plan](./templates/multi-env-plan.md.tpl) | Multi-environment planning output |

## Execution

Follow the instructions in `./workflow.md`.

---

## Gotchas

- **Azure reserves 5 IPs per subnet, not 2:** A standard /29 gives you 3 usable IPs, not 6. Sizing AKS node pools with /29 starves scaling and surfaces as `InsufficientFreeAddressesInSubnet` mid-scale.
- **GatewaySubnet name is literal:** Azure refuses VPN Gateway attach unless the subnet is named exactly `GatewaySubnet`. Same for `AzureBastionSubnet` and `AzureFirewallSubnet`. Typo breaks at apply, not plan.
- **AKS Azure CNI eats one subnet IP per pod:** A 30-node cluster at 30 pods/node needs 900+ subnet IPs, not 30. Plan `--max-pods` first; switching CNI later requires cluster rebuild.
- **first-fit picks lowest gap, not smartest:** Places a /24 in a /22 gap and leaves fragmented unusable /25 leftovers. For long-lived VNets, use `plan-multi` and reserve growth gaps explicitly.
- **CIDR overlap with on-prem fails silently until peering:** A 10.0.0.0/16 VNet looks fine alone, but ExpressRoute peering black-holes routes overlapping corporate ranges. Validate against full corporate IPAM.
- **NSG rule limit is 1,000 total, not per-direction:** Inbound + outbound + default + Azure-auto rules share the budget. Leave headroom or hit a hard wall during scale.
#broad-capability#devops#azure#kubernetes#productivity#network#calculatorpython

Related Skills

More skills in DevOps & Cloud

1password Skill

1password Skill linked from Juliano Barbosa Claude Code Skills, with the upstream skill instructions available on GitHub.

#github#broad-capabilityMIT

Actions Manager

GitHub Actions command center -- view workflow runs, read logs, re-run failed jobs, manage workflows, and debug CI failures entirely from the editor. Bypasses the deeply nested, visually-dependent Actions UI that is largely inaccessible to screen readers.

#broad-capability#accessibilityMIT

Airunway Aks Setup

Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".

#broad-capability#developmentMIT

Alz Accelerator

Deploy Azure Landing Zones using the ALZ Accelerator with AVM (Azure Verified Modules). Use this skill whenever the user mentions Azure Landing Zones, ALZ, Azure landing zone accelerator, AVM modules for landing zones, deploying management groups, hub-and-spoke networking, Virtual WAN, platform landing zones, or asks about Bicep vs Terraform for Azure infrastructure. Also trigger when the user wants to bootstrap CI/CD for Azure platform deployment, set up management groups hierarchy, or deploy connectivity/identity/management platform subscriptions.

#broad-capability#devopsMIT

Alz Accelerator Skill

Alz Accelerator Skill linked from Juliano Barbosa Claude Code Skills, with the upstream skill instructions available on GitHub.

#github#broad-capabilityMIT

Ansible Conventions and Best Practices

Ansible conventions and best practices

#github-copilot#devopsMIT