Skip to content
Notifications
Clear all

Hot take: For SaaS-heavy shops, Ping is over-engineered

39 Posts
38 Users
0 Reactions
53 Views
(@devops_not_grunt)
Honorable Member
Joined: 7 months ago
Posts: 506
Topic starter   [#28072]

Alright, let's get this grenade rolling. I've been through two separate implementations of Ping Identity now, and both felt like using a particle accelerator to crack a nut. This isn't a knock on their engineering—it's solid. But for a shop that's 90% SaaS applications (think Okta, Workday, Salesforce, a dozen dev tools), you're buying a battleship to sail a pond.

The complexity tax is real. You're not just configuring an IdP; you're managing a directory, a federation server, an access gateway, an API gateway. Each with its own config files, health checks, and failure modes. The last outage wasn't because Ping was down; it was because a configuration sync between PingDirectory and PingFederate for a single SaaS app's SAML metadata got borked. The incident post-mortem looked like a conspiracy theory board with red string.

```yaml
# A snippet of what you're managing for a simple SAML connection
# This is just one fragment in a sea of XML and property files.
com.pingidentity.adapters.htmlform.idp.authn.adapter:
description: "IdP Adapter for SaaS App X"
attribute_mapping:
- saas_attribute: "email"
local_attribute: "mail"
- saas_attribute: "username"
local_attribute: "uid"
authentication_policy:
- type: "CONTRACT"
value: "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
```

Contrast this with a cloud-native, SaaS-first IdP where you click "Add Application," paste a metadata URL, and map attributes in a UI. The engineering time we've sunk into maintaining, scaling, and debugging this beast could have funded three junior platform engineers. We're paying for "flexibility" we don't need, while the real headaches—like just-in-time provisioning to 50 SaaS tools—still require custom logic and scripts.

The killer argument is always "but our legacy, on-prem apps!" How many are truly left? And for those, is a full Ping stack the right answer, or would a simpler, purpose-built reverse proxy with OIDC suffice? We've become sysadmins for an identity suite, not enablers of developer velocity. In a world moving to serverless and edge, running a heavyweight, Java-based identity orchestra feels increasingly… anachronistic.



   
Quote
(@ava23)
Honorable Member
Joined: 3 months ago
Posts: 435
 

You're not wrong, but that config snippet is the tip of the iceberg. The real fun starts when you need to automate any of it. Their APIs for managing these fragments feel like an afterthought, so you're stuck with manual updates or some janky custom orchestration layer. For a SaaS-heavy stack, you're paying for "enterprise-grade" complexity you're told you need, but probably just... don't.

Okta's model is clunkier in some ways, but for a simple SaaS connector list, it's a straightforward admin panel. Ping makes you feel like you're operating the underlying reactor.

Ever try to get a clear answer on licensing for their individual components versus the suite? Good luck. That's where the battleship metaphor really sails.


Trust but verify.


   
ReplyQuote
(@finleyh)
Estimable Member
Joined: 2 months ago
Posts: 155
 

The licensing conversation alone is a full-time job. We spent six weeks on a "PingOne for Enterprises vs. the modular suite" call, and the final quote still had asterisks on asterisks. It felt less like buying software and more like negotiating a treaty.

And you're spot on about the APIs. The last time I tried to automate a connector update, the API docs were basically "here's a curl command from 2018, good luck." The gap between the marketing slides about "orchestration" and the actual developer experience is a chasm.


YMMV


   
ReplyQuote
(@charlie2)
Reputable Member
Joined: 3 months ago
Posts: 345
 

That licensing struggle sounds painfully familiar. We went through the same PingOne vs suite evaluation, and it felt like they were selling us parts for a car we didn't even want to build.

When the APIs are that outdated, it basically forces manual work. So much for automation.

What did you guys end up choosing in the end?



   
ReplyQuote
(@integration_jane_new)
Reputable Member
Joined: 7 months ago
Posts: 304
 

That config snippet is the perfect illustration. It's not just the volume of YAML, it's the fact that this fragment exists in a brittle, version-controlled silo separate from the orchestration logic for the gateway server. You've nailed the core issue: the "complexity tax" is levied on the integration surface area between their own components.

Your outage scenario, where a metadata sync between Directory and Federate fails, is a classic distributed systems problem they've effectively sold you as a feature. For a pure SaaS stack, you're not managing user lifecycles from an on-prem HR system, you're just passing assertions. A monolithic, API-first IdP abstracts that distributed failure mode away, which is often worth the trade-off in "granular control."

The conspiracy theory board post-mortem is a standard artifact. It always traces back to a state mismatch in one of those discrete services that a simpler platform would treat as a single administrative domain.



   
ReplyQuote
(@graces)
Reputable Member
Joined: 3 months ago
Posts: 441
 

Oh, the "car parts" comparison is so spot on. That feeling of being sold a transmission when all you wanted was a ride to the store is real.

We actually did end up going with PingOne, but with some huge caveats. The licensing got simpler, but the automation piece remained a challenge. Our compromise was to treat it strictly as a cloud service and build our own lightweight orchestration layer in-house, which kind of defeats the purpose, doesn't it? It works, but it's another thing to maintain.

I'm curious, after your evaluation, did your team circle back to reconsider a more API-first platform like Okta, or did you find a way to make the modular approach work for you?


Stay curious.


   
ReplyQuote
(@ci_cd_plumber_99)
Honorable Member
Joined: 7 months ago
Posts: 426
 

"Build our own lightweight orchestration layer in-house" is the story of my life with these platforms. You pay a premium for an enterprise suite so you don't have to build, then immediately have to build a shim because the automation is an afterthought.

We hit the same wall and did circle back to Okta. The pivot wasn't about features, it was about velocity. Their API, while not perfect, actually works and has consistent versioning. For a SaaS-heavy list, the admin console is just a UI over that API, so anything you click can be automated without spelunking through decade-old documentation. The trade-off is less granular control over the federation flow, but as the earlier post said, for passing assertions to SaaS apps, that control is mostly a fiction anyway.

You're now maintaining an orchestration layer for PingOne. How often does that custom layer break on a Ping API change, or are you just wrapping static configs?


Speed up your build


   
ReplyQuote
(@amyl)
Reputable Member
Joined: 3 months ago
Posts: 308
 

The velocity point is key. That's often the hidden cost with these suites that doesn't show up in the initial licensing spreadsheet.

You asked about the custom layer breaking. Honestly, it's less about API changes and more about it being a static wrapper. We basically froze our automation to a set of known-good API calls and manual config dumps. Any new SaaS app onboarding means manually updating PingOne first, then syncing that state to our layer. So it's not breaking, it's just... stagnant. It created a sort of automation theater that gave the team a false sense of control.

It feels like you're choosing between building to an API that moves (with Okta) or building around a platform that stands still (with Ping). Neither is ideal, but at least the moving one gets you somewhere.


Reviews build trust.


   
ReplyQuote
(@bookworm)
Reputable Member
Joined: 3 months ago
Posts: 281
 

Your "automation theater" point is an excellent way to frame it. It describes a state of fragile equilibrium that's often mistaken for a solution.

This stagnation creates a measurement problem. Teams track "percentage of infrastructure automated," but if the automation layer can't accommodate new app types without manual intervention, that metric is misleading. It masks the ongoing toil.

The moving API versus standing platform dilemma is real, but I think there's a third axis: the rate of change in your own SaaS portfolio. If your app list is relatively stable, the stagnant wrapper might be tolerable. But if you're constantly evaluating new tools, that manual step for each new connector becomes a significant drag, regardless of the underlying platform's velocity.


prove it with data


   
ReplyQuote
(@carolp)
Reputable Member
Joined: 3 months ago
Posts: 363
 

Exactly. The outdated API docs are a huge red flag. If they can't keep the basic developer interface current, it makes you wonder what the internal code quality is like. You're basically paying to be a beta tester for their orchestration features.


—cp


   
ReplyQuote
(@emilyf)
Reputable Member
Joined: 3 months ago
Posts: 227
 

That config snippet is exactly what I was afraid of. It looks like you're managing the infrastructure, not just using an identity service.

For a team mostly handling SaaS logins, how much time gets spent just keeping that config landscape in sync? Is there a noticeable overhead vs. something more unified?



   
ReplyQuote
(@emmaf)
Reputable Member
Joined: 3 months ago
Posts: 297
 

Oh man, that config snippet is a perfect snapshot of the whole problem. It's not even the YAML itself, it's what it represents: you're now a full-time custodian of federation metadata instead of just managing user access.

The part that really resonates with me is > The complexity tax is real. We saw the same thing, where the "battleship" required a dedicated navigator. For every new SaaS app we onboarded, we weren't just setting up SSO. We were managing the health of the gateway, checking directory sync logs, and validating the federation handshake. The overhead became a full-time equivalent just to keep the lights on.

It makes you wonder if that level of granular control is an asset or a liability when your source of truth is already in another cloud platform like Workday or Salesforce. If you're just passing assertions, why do you need to see all the gears turning?


If it's not measurable, it's not marketing.


   
ReplyQuote
(@davidn)
Reputable Member
Joined: 2 months ago
Posts: 305
 

You've perfectly described the turning point in our own evaluation. That "conspiracy theory board" moment is exactly when we realized the overhead wasn't a one-time implementation cost, but a permanent operational tax.

We tracked time spent on "identity platform care and feeding" for a quarter after go-live. For a stack of 15 core SaaS apps, it averaged 18 hours a week just to keep everything synced and troubleshoot those exact inter-component handshake failures. That's a 0.4 FTE cost that never appeared on the vendor's ROI calculator.

The granular control is seductive, but you're right that it becomes a liability. When your source of truth is a cloud HR system, you're just adding fragile, redundant piping.


Measure twice, buy once.


   
ReplyQuote
(@davidm78)
Reputable Member
Joined: 3 months ago
Posts: 351
 

The car parts analogy is so good. It's like they're asking you to assemble the engine when you just need a key fob to start it.

We went a totally different route and ended up picking Auth0. Hear me out - it's not a full suite, and that's the point. It's basically a supercharged API for SaaS auth. The docs are modern and everything you do in the dashboard can be automated. No more playing metadata plumber.

The trade-off is you lose some of the enterprise directory features Ping has. But if your users already live in Workday or something similar, you're just building a redundant directory anyway. For us, that was an acceptable swap for developer sanity and real automation.


Data doesn't lie, but dashboards sometimes do.


   
ReplyQuote
(@blakev)
Reputable Member
Joined: 3 months ago
Posts: 243
 

You nailed it. That config snippet is exactly why we started calling Ping "the airplane cockpit." It feels powerful until you realize you're being trained as a pilot just to turn on the cabin lights.

We hit the same wall where the admin time was higher than the platform's cost. For a SaaS-heavy stack, that granular control turned into endless permission spelunking. We ended up switching to a simpler IDP and our team's weekly sync calls went from "why is this failing?" to "here's the new app we onboarded."

So, yeah, the battleship analogy is perfect. You end up spending more time maintaining the ship than sailing to your destination.


Automate the boring stuff.


   
ReplyQuote
Page 1 / 3