
How CFA Institute migrated from n8n and scaled production-critical monitoring with Windmill
CFA Institute's SRE team needed to replace n8n with a platform robust enough for production-critical monitoring. After their SRE manager tested Windmill in his home lab for a year, they migrated in early 2025. Today, Windmill runs 25 synthetic tests every 5 minutes protecting revenue-generating processes, and usage has "exploded" across their IT organization.
About
CFA Institute is a global association of investment professionals that sets standards and provides education for the financial services industry, serving hundreds of thousands of investment professionals worldwide. Their SRE team needed to replace n8n and scattered AWS Lambda scripts with a platform robust enough to handle production-critical monitoring, complex integrations, and rapid deployment requirements—all while meeting enterprise compliance standards.
The Problem
CFA Institute's SRE team faced a common enterprise dilemma: they needed to automate frequent operational tasks, but their company's maintenance requirements made rapid deployment nearly impossible.
"Our company has some strict requirements around maintenance and deployment process to get those into production. So it was really difficult for us to get a script up and have it quickly deployed and easily maintained by the team."
— Cam Barts, SR Manager, SRE
The team had been using a patchwork of solutions—ad hoc scripts deployed as AWS Lambdas or Azure functions, n8n for basic automation workflows, and manual processes that couldn't be quickly automated. While n8n worked for simple automations, the platform hit its limits as their needs grew more complex.
The critical requirements they needed:
- Real Programming Capabilities - Complex business logic beyond visual workflows
- Production Reliability - Mission-critical monitoring that can't fail
- Rapid Deployment - Bypass enterprise change management for script iterations
- Team Collaboration - Proper version control and Git workflows
- Scale - Handle hundreds of executions per hour with complex orchestration
"We needed something that was going to be a lot more robust, something that we could actually write code inside of. Windmill was kind of a natural evolution from n8n."
— Cam Barts
The Solution
Discovery through open source validation
Cam Barts discovered Windmill through alternativeTo.net while searching for open-source alternatives. As a tech lead who regularly explores projects in his home lab, Cam deployed Windmill and tested it for approximately one year before introducing it to CFA Institute in February 2025.
This "try before you buy" approach was critical. Cam had already proven Windmill's capabilities in his own environment before advocating for enterprise adoption. His journey illustrates an important adoption pattern: personal exploration in a safe environment, proof of concept for team use cases, and organic advocacy that spreads through demonstrated value.
Real code with full language features
Unlike n8n's visual workflows, Windmill enabled the team to write actual Python code with full language features and library support. This was essential for their most critical use case: synthetic monitoring of revenue-generating processes.
# Example CFA Institute synthetic monitoring script
def main(endpoint: str, expected_status: int = 200):
# Real Python with full ChromeDriver integration
from selenium import webdriver
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
try:
driver.get(endpoint)
# Complex validation logic here
return {"status": "success", "timestamp": datetime.now()}
finally:
driver.quit()
Today, CFA Institute runs 25 concurrent synthetic tests every 5 minutes—300 executions per hour—using ChromeDriver-based browser automation. These aren't simple uptime checks; they're full user journey simulations that validate every step of their critical revenue processes.
Windmill's high performance handled this workload with breeze. The platform's optimized execution runtime and efficient job queue management ensure that all 25 concurrent tests execute reliably without bottlenecks, maintaining the 5-minute cadence that protects their revenue-generating processes around the clock.
Rapid deployment without change management
Windmill scripts could be deployed immediately without going through CFA Institute's strict change management process. With Git sync, proper version control, and workspace collaboration features, the entire SRE team could work together seamlessly.
"We were very quickly able to get our scripts out of n8n and transitioned over into Windmill pretty quickly. And then from there our use of Windmill has kind of exploded."
— Cam Barts
Enterprise-wide integration platform
Beyond synthetic monitoring, CFA Institute built sophisticated integrations that extended across their organization:
Microsoft Teams Bot - Built on Windmill's Teams integration, the bot became "the biggest hit with leadership." Available in every channel, it handles postmortem searches, release status queries, and Jira notifications. Development teams use it for release monitoring, DevOps teams track deployment pipelines, and production support searches historical postmortems—all through natural language queries in Teams.
Grafana Data Layer - Windmill serves as a data processing layer between complex data sources and Grafana. Instead of connecting Grafana directly to sources with limitations (like Jira's 50-ticket pagination limit), Windmill scripts fetch data from multiple sources, perform transformations and merging, apply business logic, and expose clean results via API. Business stakeholders consume integrated data through Grafana dashboards without knowing Windmill powers them behind the scenes.
The Result
After seven months in production, Windmill usage has "exploded" across CFA Institute's IT organization. What started as a single SRE team pilot has grown into organization-wide demand, with multiple teams actively building and weekly requests for expansion.
The platform has proven production-stable for their most critical workloads: 25 synthetic tests running every 5 minutes without failures, platform updates every 2 weeks with zero incidents, and mission-critical monitoring that directly protects revenue-generating processes.
The transition from n8n required only brief training sessions before the entire team became productive and, ultimately, advocates. Business stakeholders and non-technical teams now have access to sophisticated automation through Grafana dashboards, Teams bot queries, and auto-generated UIs—all powered by real code underneath that developers can iterate on rapidly.
Conclusion
CFA Institute's journey from n8n to Windmill demonstrates how the right platform can transform isolated scripts into an enterprise-wide automation layer. By choosing a developer-first platform that supports real code, Git workflows, and production-grade reliability, they've built mission-critical infrastructure that protects revenue while enabling rapid iteration.