Skip to content
Switched from Junip...
 
Notifications
Clear all

Switched from Juniper SASE to Zscaler - 6 month report

1 Posts
1 Users
0 Reactions
0 Views
(@alexm)
Reputable Member
Joined: 1 week ago
Posts: 147
Topic starter   [#10046]

Six months ago, our organization completed a full production migration from a Juniper (formerly 128 Technology) Session Smart Routing (SSR) based SASE architecture to the Zscaler Zero Trust Exchange platform. This was not a simple overlay addition but a full replacement of our legacy hub-and-spoke VPN and direct internet access (DIA) policies. The impetus was a combination of escalating operational complexity with Juniper's cloud portal and a need for more granular, identity-centric application access controls that our zero-trust initiative demanded.

The core architectural shift is profound. Juniper's model is network-centric: it builds an intelligent, software-defined WAN overlay where the "SASE" component is primarily about steering traffic to optimal cloud gateways (POPs) based on performance policies. Security is often a chained function, either on-prem or via a cloud security partner. Zscaler, in contrast, is security-service-centric: every packet (except for explicitly allowed local breakout) is proxied through a multi-tenant cloud, where all security stacks are applied at the same location. This fundamental difference manifests in several key performance and operational dimensions:

**Performance & Latency Observations:**
* **Initial Session Establishment:** Zscaler exhibits higher TLS handshake latency (~100-150ms added) for the *first* request to a new host, due to the full proxy machinery (SSL inspection, policy lookup, cloud connector initialization). Subsequent requests on the same connection are fast.
* **Sustained Throughput:** For large, singular data flows (e.g., massive file downloads), Juniper's network-routing approach often provided higher raw throughput, as it could leverage multiple parallel paths without a single proxy bottleneck. Zscaler's throughput is more than sufficient for typical user application traffic but can be a consideration for data-heavy scientific or engineering workloads.
* **Application-Specific Behavior:** SaaS applications (O365, Salesforce) perform exceptionally well on Zscaler, as traffic egresses from a POP near the SaaS datacenter. Legacy client-server applications with persistent, long-lived connections sometimes required tuning of TCP timeouts and adjustment of Zscaler's Advanced Cloud Firewall policies to prevent mid-session resets, which were never an issue with Juniper's transparent routing.

**Operational & Security Control Trade-offs:**
* **Policy Granularity:** Zscaler's policy framework, based on user/group, application ID, URL categories, and cloud app instances, is far more expressive than Juniper's source/destination IP/port and DSCP-based rules. Defining "allow only group Finance to use NetSuite for these specific functions" is native.
* **Network Transparency:** This is the most significant loss. With a full proxy, you lose:
* Native IP multicast (was never expected).
* Certain IP protocols (GRE, ICMP for troubleshooting).
* The ability for internal systems to see the true client source IP. Zscaler provides the source via `X-Forwarded-For` headers for HTTP/S, but for other protocols, you rely on their `Zscaler Client Connector` IP, which aggregates many users.
* **Diagnostics and Troubleshooting:** Juniper's CLI and `show` commands provided deep visibility into the routing path, session table, and per-flow telemetry. Zscaler's diagnostics are log-based and API-driven. You trade low-level network control for higher-level security event clarity. The learning curve for network teams is steep.

**Configuration Snippet - A Telling Comparison:**

A simple policy to allow only the Engineering group to access GitHub over HTTPS illustrates the paradigm shift.

*Juniper SSR (network-centric, CLI-based):*
```bash
# Define Application
application github
service 443/tcp
address github.com 192.30.252.0/22
description "GitHub HTTPS"

# Create Access Policy bound to a service-route
access-policy github-eng
source-list engineering-hosts
destination-list github
action allow
log

# Requires routing configuration to steer this traffic to a security service chain.
```

*Zscaler (identity-centric, cloud portal):*
```
Policy Type: Admin & Firewall
Control: Access
Action: Allow
Policy Rule:
User Groups: "Engineering"
Destinations: "github.com" (URL Category) OR "App-ID: GitHub"
Applications: "HTTPS"
No other conditions or overrides.
```
The Zscaler policy is administratively simpler but abstracts the network entirely. The enforcement point is the cloud proxy, not a router in the path.

**Conclusion after 6 Months:**
The migration achieved its primary goal: enabling a consistent, identity-aware zero-trust access model for all users, regardless of location. User experience for web and SaaS is generally perceived as faster and more reliable. However, the cost has been a reduction in network-level flexibility and visibility, which has impacted certain legacy application support and troubleshooting methodologies. For organizations whose primary driver is security transformation and user-centric access, Zscaler is a compelling, if sometimes rigid, solution. For those where software-defined WAN performance, protocol support, and network operations are paramount, a more network-centric SASE model, perhaps like Juniper's or similar, coupled with integrated cloud security, may still be preferable. Our total cost of ownership calculations also shifted; while Zscaler's licensing model is straightforward, the operational costs moved from network engineering to security operations and help desk training for the new access model.



   
Quote