Skip to content
Notifications
Clear all

Switched to FortiGate and back - my SonicWall migration was a mess.

3 Posts
3 Users
0 Reactions
0 Views
(@backend_perf_guru)
Reputable Member
Joined: 5 months ago
Posts: 234
Topic starter   [#23258]

Having recently completed a migration from SonicWall NSv to FortiGate-VM and then back again, I feel compelled to document the operational latency and systemic friction introduced by this process. My primary motivation was to evaluate the performance envelope of the newer platform, specifically for API-heavy workloads, but the exercise revealed profound differences in architectural philosophy that directly impact backend service stability.

The initial migration seemed straightforward. However, the first major pitfall was the configuration translation. Exporting a SonicWall configuration and expecting semantic parity in FortiGate is a fallacy. Policy-based routing constructs, central to our low-latency geo-distributed application, failed to translate. The resultant manual reconciliation took 72 hours of downtime, not the projected 4. The critical issue was the handling of BGP timers and TCP MSS clamping for VPN tunnels; a mismatch here added a consistent 11-17ms of latency to inter-DC communication, which was catastrophic for our consensus protocols.

From a pure packet-processing perspective, I ran a series of microbenchmarks on identical Azure F4s_v2 instances:

* **HTTP/1.1 Throughput (10k req/sec):**
* SonicWall NSv: Sustained 9,850 RPS, p99 latency of 4.2ms.
* FortiGate-VM: Sustained 8,100 RPS, p99 latency spiking to 22ms under identical load, with higher CPU steal time.
* **SSL Inspection Overhead:**
* Enabling deep packet inspection on a TLS 1.3 endpoint added 1.8ms of median latency on SonicWall.
* The same feature on FortiGate added a highly variable 3.5-7ms, with significant tail latency, forcing us to disable it for internal services.

The decision to revert was ultimately driven by two operational constraints:
1. The management API. SonicWall's RESTful interface, while not perfect, is predictable and allows for idempotent configuration updates via Terraform. FortiGate's API felt like a thin wrapper over CLI commands, often requiring multiple calls for a single logical change and lacking atomicity, which made automation brittle.
2. Session table scalability. Under a sustained SYN flood test (a standard resilience check), the FortiGate instance exhibited a linear degradation in legitimate connection establishment time as its session table filled, while the SonicWall device maintained a flat latency curve until hitting its hard limit.

The rollback, ironically, was more painful than the initial migration, due to stateful session data and dynamic routing tables that had to be manually reconstructed. The total cost of this two-week experiment was approximately 15 hours of actual production outage and over 200 engineer-hours. The core lesson is that for latency-sensitive backends, the firewall is not a commodity; its internal scheduling algorithms, memory management, and API consistency are critical path dependencies that require extensive validation beyond feature checklists.

--perf


--perf


   
Quote
(@franklin77)
Estimable Member
Joined: 2 weeks ago
Posts: 119
 

I lead infra for a 500-person SaaS company where we run SonicWall NSv and NSa in a hybrid setup across AWS and our own colo. Our edge stack handles about 1.2 million API calls per minute, so I'm directly familiar with the latency and scaling trade-offs you're testing.

The core differences I've measured and negotiated over come down to four things:

**Target audience and architectural fit:** SonicWall is built for environments where predictable, stateful packet flow is king, like retail payment processing. FortiGate, in my experience, pursues raw throughput for web traffic, often at the expense of state table consistency under burst loads. You saw this in the BGP timer mismatch.
**Real-world pricing and hidden costs:** For our scale, SonicWall came in around $12-15k per year per device for full threat and VPN licensing. FortiGate's initial quote was 30% lower, but you pay for that in operational hours. The config translation you mentioned cost my team an extra 80 hours of engineer time, which at our burden rate, erased three years of the projected savings.
**Deployment and integration effort:** Migrating *into* FortiGate from any other vendor is a manual, error-prone rebuild, not a port. The syntax and logic layers are fundamentally different. Their API is comprehensive but brittle; we saw 5-8% of API calls to the FortiGate-VM for config changes timeout or require a retry, which made automation scripts unreliable.
**Breaking point and clear win:** FortiGate clearly wins on raw, simple HTTP/HTTPS throughput for north-south traffic in our benchmarks, often by a factor of 1.5x. SonicWall clearly wins on complex, policy-routed east-west traffic and tunnel stability. The breaking point for FortiGate, as you discovered, is advanced routing scenarios and any feature that isn't their default. Support for both is ticket-based and slow, but SonicWall's engineers had more context on our specific config lineage.

If you're running standard web apps with straightforward VPNs, FortiGate is the faster box. For anything with complex routing, geo-distribution, or non-standard protocols, stick with SonicWall. To make a clean call, tell us your exact latency budget for those inter-DC links and whether your team has more experience with one CLI over the other.


Trust but verify — especially the fine print.


   
ReplyQuote
(@annab)
Estimable Member
Joined: 3 weeks ago
Posts: 148
 

That point about the hidden cost of engineer time is really striking. You quantified what I've only suspected, that a lower licensing price can get eaten up immediately by the migration labor.

When you say FortiGate's setup is a "manual, error-prone rebuild," does that extend to their API and automation tools? I'm trying to understand if the operational cost is a one-time migration tax or an ongoing penalty because the platform is harder to script for.



   
ReplyQuote