Network Automation Without Ansible: A Python-Free Alternative
If you've tried network automation with Ansible, you know the challenges: YAML playbooks, Jinja templates, Python dependencies, and hours spent debugging variable precedence. What if there was a simpler way?
Inishi is a Python-free alternative to Ansible for network automation. Instead of writing playbooks, you ask questions in plain English. Instead of debugging YAML indentation, you see the exact CLI commands before they run.
The Problem with Traditional Network Automation
Ansible's Learning Curve
To automate a simple BGP config check with Ansible, you need to understand:
# inventory.yml
all:
children:
routers:
hosts:
router-01:
ansible_host: 10.0.0.1
ansible_network_os: ios
ansible_user: admin
ansible_password: "{{ vault_router_password }}"
# check_bgp.yml
- name: Check BGP neighbors
hosts: routers
gather_facts: no
tasks:
- name: Get BGP summary
ios_command:
commands:
- show ip bgp summary
register: bgp_output
- name: Display output
debug:
var: bgp_output.stdout_linesThat's 20+ lines of YAML just to run show ip bgp summary on a router. And we haven't even handled errors, parsed the output, or done anything useful with the data.
The Real Cost of Scripting
| Task | Ansible | Inishi |
|---|---|---|
| "Show BGP neighbors on router-01" | Write playbook, test, debug | Type the question |
| "Why is BGP flapping?" | Write parsing logic, compare states | AI analyzes and explains |
| "Fix the BGP peer" | Write remediation playbook, test in lab | Review proposed commands, approve |
MSPs don't have time to maintain playbook libraries. Your techs are already stretched thin handling tickets. Learning Ansible is a week-long investment that most teams can't afford.
How Inishi Works Instead
Natural Language Queries
Instead of writing playbooks, just ask:
"Show me the BGP neighbors on router-01"Inishi:
- Connects to router-01 via SSH
- Runs the appropriate show command (
show ip bgp summaryon Cisco,show bgp summaryon Juniper, etc.) - Displays the results in a readable format
AI-Powered Diagnostics
The real magic is troubleshooting. Ask:
"Why is the BGP session to 10.0.0.2 down?"Inishi:
- Gathers BGP state, interface status, and logs
- Analyzes the data using AI
- Identifies the root cause (e.g., "The BGP peer 10.0.0.2 is down because interface GigabitEthernet0/1 lost link at 14:32:05")
- Suggests remediation steps
Command Preview Before Execution
When changes are needed, Inishi shows you exactly what will run:
Proposed commands for router-01:
configure terminal
router bgp 65000
neighbor 10.0.0.2 remote-as 65001
neighbor 10.0.0.2 update-source Loopback0
end
write memory
Rollback commands (if needed):
configure terminal
router bgp 65000
no neighbor 10.0.0.2
end
write memory
[Approve] [Reject] [Edit]You see every command. You understand the impact. You approve or reject.
Feature Comparison
| Feature | Ansible | Inishi |
|---|---|---|
| Language | YAML + Jinja + Python | Plain English |
| Setup Time | Days to weeks | Minutes |
| Multi-vendor | ✅ (with modules) | ✅ (built-in) |
| Command Preview | ❌ | ✅ |
| AI Diagnostics | ❌ | ✅ |
| Audit Trail | ❌ (unless custom) | ✅ (built-in) |
| Rollback | Manual | One-click |
| Learning Curve | Steep | Minimal |
| Scripting Required | Yes | No |
Inishi isn't a replacement for all automation. If you have complex workflows with conditional logic, loops, and integrations, Ansible might be the right tool. Inishi excels at ad-hoc queries, troubleshooting, and simple changes — the 80% of work that doesn't need a playbook.
When to Use Ansible vs Inishi
Use Ansible When:
- You have complex, repeatable workflows (e.g., provisioning new sites)
- You need tight integration with CI/CD pipelines
- You have dedicated automation engineers
- Changes need to go through GitOps review
Use Inishi When:
- You're troubleshooting an issue right now
- You need quick visibility across multiple vendors
- Your team doesn't have time to learn/maintain playbooks
- You want audit trails without building them yourself
- You're an MSP managing many clients' networks
Real-World Example: BGP Troubleshooting
With Ansible
# 1. Write inventory (5 min)
# 2. Write playbook to gather BGP state (15 min)
# 3. Write playbook to gather interface state (10 min)
# 4. Write parsing logic to correlate data (30 min)
# 5. Debug YAML errors (30 min)
# 6. Run playbook
# 7. Read raw output, manually analyze
# Total: 1.5+ hours before you even start troubleshootingWith Inishi
> "Why is BGP flapping on router-01?"
AI Response:
The BGP session to 10.0.0.2 has flapped 4 times in the last hour.
Root cause: Interface GigabitEthernet0/1 is experiencing CRC errors
(1,247 in the last hour). This indicates a physical layer issue.
Evidence:
- show ip bgp summary: Neighbor 10.0.0.2 state = Idle
- show interfaces Gi0/1: CRC errors increasing
- show log: %LINEPROTO-5-UPDOWN messages correlated with BGP flaps
Suggested actions:
1. Check the cable on Gi0/1
2. Check the SFP module
3. Contact carrier if this is a circuit
[Run "show interfaces Gi0/1" for details]Total time: 30 seconds.
Getting Started
Ready to try network automation without the YAML?
- Sign up for a free trial (opens in a new tab) — 14 days, 5 devices, no credit card
- Install the agent — Docker one-liner
- Add your devices and start asking questions
Start with read-only diagnostics. Inishi doesn't need write access to show you interface status, routing tables, or BGP neighbors. Add write access later when you're comfortable.
FAQ
Can Inishi run alongside Ansible?
Yes! Many teams use Inishi for troubleshooting and quick queries while keeping Ansible for complex provisioning workflows.
Does Inishi support my devices?
Inishi supports Cisco IOS/IOS-XE, NX-OS, Arista EOS, and Juniper Junos. See full list →
Is it secure?
The Inishi agent runs in your network and makes outbound-only connections. Device credentials stay local and encrypted. Learn more about security → (opens in a new tab)
What about complex logic?
For simple conditional logic ("if interface is down, show the logs"), Inishi handles it. For complex workflows with loops and conditionals, Ansible is still a better fit.