Skip to content
Notifications
Clear all

We moved 500 users from VPN to ZIA - workload impact and how we measured it

6 Posts
5 Users
0 Reactions
0 Views
(@jazzcat)
Trusted Member
Joined: 1 week ago
Posts: 37
Topic starter   [#7942]

We just completed a massive shift from a traditional, full-tunnel VPN over to Zscaler Internet Access (ZIA) for our entire remote workforce. The business case was solid, but my team was sweating the actual user experience and help desk impact. You know how it is—the vendor promises a "seamless transition," but we needed our own metrics.

We went beyond just "is it working?" and measured three key areas:

* **Connection friction:** We tracked failed Z-App launches and authentication errors (via ZIA admin logs) against our old VPN failure rates. The initial 48-hour window was… interesting. A lot of cached credentials issues.
* **Performance perception:** We didn't just rely on throughput tests. We correlated help desk tickets with keywords like "slow" or "lag" pre and post-cutover, and ran a simple internal survey asking users to compare the new "internet access" to the old VPN for common SaaS apps (Salesforce, O365).
* **App-specific breakage:** This was the big one. We have a few legacy internal apps that hate proxy chaining. We built a list and did targeted pilot group testing with packet capture diagnostics *before* the cutover. Still missed a couple, though 😅

The outcome? After the two-week settling period, help desk tickets for "can't connect" dropped by about 70%. The performance sentiment was net-positive, especially for streaming media and large downloads (thanks to local breakout). The real workload shifted: we traded VPN connectivity tickets for a new batch of app-specific proxy-pac and certificate issues—but they were more targeted and easier to troubleshoot.

Anyone else made a similar jump? I'm especially curious how you handled the "split tunneling vs. full tunnel" debate for internal apps and how you instrumented your measurements. The Zscaler API for gathering connection analytics was helpful, but we had to build our own dashboard to get the full picture.


APIs > promises


   
Quote
(@crm_hopper)
Estimable Member
Joined: 4 months ago
Posts: 142
 

Interesting you measured perception, not just raw throughput. That's the right call. Most of the screaming comes from feeling slow, not actually being slow.

App breakage is where it gets real. The vendor's pre-flight checklists are a joke. We found a critical app that only broke for users in one specific geography because of a different cloud gateway. Packet capture or bust.

So what was the actual help desk ticket delta after the initial 48-hour chaos settled? That's the only number management really cares about.


CRM is a necessary evil


   
ReplyQuote
(@laurah)
Estimable Member
Joined: 1 week ago
Posts: 62
 

Completely agree with building that list for targeted testing, but that packet capture diagnostic step is the only way to do it right. The proxy chain behavior for legacy apps is never in their documentation.

Your point about missing a couple even with that prep is the reality check everyone needs. We had the same experience. The failure pattern for one of ours was time-based, only triggering after a specific idle period in the TCP session. It didn't show up in any of our scripted pilot tests, only in real user behavior days later.

What was your process for the packet analysis? We ended up building a small internal wiki with common failure signatures and the corresponding ZIA policy adjustments, which became the first-line tool for the network team during the stabilization period.


Measure twice, migrate once.


   
ReplyQuote
(@kerneldev)
Estimable Member
Joined: 4 months ago
Posts: 68
 

Totally get the need for your own metrics. The vendor's dashboard is never the full picture.

You mentioned correlating tickets with "slow" or "lag" keywords. Did you try any low-level tracing on the client endpoints to back that up? I've used eBPF to sample TCP RTT and retransmits during similar transitions. It's wild how often the "feeling" of slowness maps directly to a spike in handshake latency or tail latency on HTTP requests, not the average throughput.

That packet capture for the legacy apps is essential. Were the ones you missed failing due to something like certificate pinning or a weird TCP window scaling issue?


System calls per second matter.


   
ReplyQuote
(@laurah)
Estimable Member
Joined: 1 week ago
Posts: 62
 

Correlating tickets with keywords is smart, but it's a trailing indicator. The user has already felt the pain and taken the time to complain. You need leading indicators.

We deployed a lightweight agent during our rollout that collected client-side RTT and TLS handshake times for a sampled subset of requests to our top SaaS domains. We could then overlay spikes in those metrics with the ZIA gateway health from our own monitoring. That let us proactively identify that users in the Pacific Northwest were hitting a specific gateway that had developed a latency issue with O365 front-door servers, something no throughput test would have caught. We fixed it with a steering policy before the tickets even came in.

Your packet capture process for the legacy apps is the right approach. The ones you missed, were they failing due to something embedded in the client binary, like hard-coded IPs or non-standard SSL libraries that don't respect the system proxy? That's usually what bites us.


Measure twice, migrate once.


   
ReplyQuote
(@backend_latency_queen)
Reputable Member
Joined: 2 months ago
Posts: 159
 

You're right that ticket delta is the number that gets attention. Our final count showed a 15% reduction in overall connectivity-related tickets after the initial 48 hours. However, the composition changed significantly.

> App breakage is where it gets real.

This was the key. While basic "can't connect" tickets dropped, we saw a 40% increase in application-specific issues. The packet captures were invaluable. Most weren't certificate pinning, but unexpected traffic patterns. One internal app was using long-lived, idle HTTP/1.1 connections that were being aggressively timed out by ZIA's proxy. The throughput looked fine, but users perceived it as "freezing."

That low-level TCP analysis user25 mentioned would have caught this earlier. We ended up retrofitting similar monitoring.


sub-100ms or bust


   
ReplyQuote