The Infrastructure as Code Dilemma: What If Excel WAS the IaC?
As organizations adopt Infrastructure as Code (IaC), operations teams face a dilemma: they need to deploy infrastructure using Terraform, ARM, or Bicep, but they aren't developers. What if the solution was already sitting on everyone’s desktop?
The Infrastructure as Code Dilemma
Your infrastructure team needs to deploy 50 new VMs. They know networking, storage, and security inside out, and the requirements are perfectly documented in an Excel spreadsheet.
The problem? DevOps insists on "proper IaC practices." But seasoned IT pros usually don't speak HashiCorp Configuration Language.
Currently, the deployment process is broken. Ops plans in a spreadsheet, DevOps spends days translating it into Terraform, requirements change, and the cycle repeats. When this bottleneck gets too painful, teams resort to:
- ClickOps: Manually clicking through the Azure Portal 100 times.
- Fragile Scripts: Hacking together PowerShell or Python from CSV exports that break when APIs change.
- Copy-Paste Marathons: Duplicating last month’s deployment and hoping nothing breaks.
The Real-World Bottleneck
Whether building massive 100-VM lab environments or migrating dozens of enterprise applications, the pattern is the same. Application and Ops teams know exactly what they need, but they can't deploy it themselves.
Every deployment goes into a DevOps queue. Every change requires rewriting Terraform. Velocity is measured in weeks, not hours.
What If Excel WAS the Infrastructure as Code?
We’re fighting the wrong battle by forcing Ops teams to learn developer tools. Teams gravitate toward Excel for planning. What if we met them where they already are?
What if you could fill out an Excel spreadsheet and just click “Deploy”?
Introducing ExcelAsCode
ExcelAsCode is an open-source Excel template that generates Infrastructure as Code directly from spreadsheets. No Python scripts to maintain. No complex workflows. Just Excel with deployment superpowers.
How It Works
- Download: Get the file from raisingcode/excelascode and enable macros (which safely call Azure APIs).
- Authenticate: Securely connect to your Azure tenant using OAuth 2.0 device code flow.
- Use Live Dropdowns: The template makes live API calls to populate dropdowns with your actual Azure regions, VM SKUs, OS images, and networks. No typos, no guessing.
- Fill in Requirements: Dedicate one row per VM. Add custom columns for cost centers and use standard Excel formulas to calculate IOPS or pricing.
- Generate Code: Click "Generate Terraform" or "Generate ARM." The tool validates inputs and creates modular, production-ready IaC files.
- Deploy or Review: Click “Deploy to Azure” to provision immediately, or export the files to commit to Git for your CI/CD pipeline.
Core Use Cases
- Application Migration at Scale: Turn application owner requirements directly into production-ready code.
- Performance Testing: Model 100+ VM test matrices with cost-calculating formulas before bulk deployment.
- Disaster Recovery: Clone environment configurations and swap region parameters in seconds.
- Bulk Infrastructure Deployment: Replace manual portal clicks with a “fill once, deploy many” workflow.
- Pre-Deployment Validation: Verify costs and regional capabilities before spinning up resources.
Getting Started
ExcelAsCode is open-source, and community feedback is vital.
- Access the Project: Download the template and docs at https://github.com/raisingcode/excelascode.
- Support & Feedback: Submit bugs, feature requests, or cloud provider suggestions via GitHub Issues.
Top comments (0)