After an extensive three-month proof-of-concept evaluating Delinea's Secret Server against our incumbent solution, I am compelled to share the primary obstacles we encountered. Our goal was to consolidate service account and DevOps secret management under a single platform. While the POC was ultimately successful, three specific issues nearly derailed the project entirely, necessitating significant workarounds and last-minute architectural adjustments.
**1. API Rate Limiting and Throttling Behavior**
The most acute problem was the default, and surprisingly rigid, API rate limiting. Our automation scripts, designed for bulk onboarding of existing secrets, were consistently throttled. The critical failure was not the limit itself, but the lack of granular, configurable policies and the opacity of the response headers. The `429` responses did not always include clear `Retry-After` guidance, causing our scripts to fail unpredictably. We resolved this only after discovering a specific, poorly-documented configuration flag in the advanced settings. The required adjustment was not in the UI, but via a direct database update—a step we were uncomfortable with during a PoC.
```sql
-- Example of the *type* of backend change needed (path simplified)
UPDATE [ConfigurationTable]
SET SettingValue = '1000'
WHERE SettingKey = 'Throttle.Api.MaxRequestsPerMinute';
```
**2. Complex SSH Key Orchestration for Automated Systems**
The second major hurdle involved managing SSH keys for non-interactive sessions. Delinea's model for SSH key checkout, rotation, and injection into sessions is robust for human users but became convoluted for automated CI/CD pipelines. The expectation was that a machine would check out a key, use it for a series of commands, and reliably check it back in. We observed race conditions and state mismanagement when processes were parallelized. The solution involved implementing a custom wrapper that strictly enforced a state machine for key lifecycle management, adding non-trivial overhead.
**3. Unexpected Latency in High-Availability Failover Scenarios**
During our scheduled failover testing in the DR environment, we measured secret retrieval latency spikes exceeding 15 seconds post-failover. This was unacceptable for our runtime applications. The issue was traced to the session handoff and secret cache synchronization between nodes. While the failover itself was successful (no downtime), the performance penalty was severe. This required us to adjust our HA deployment topology, moving from an active-passive to an active-active configuration much earlier in the rollout plan than anticipated, which had significant cost implications.
In summary, the PoC succeeded because we had the resources to delve into these granular, operational specifics. The platform's core functionality is sound, but its suitability hinges on these often-overlooked, practical constraints. I would strongly advise any team undertaking a similar evaluation to design test cases specifically around:
* API throughput under load,
* Non-human identity lifecycle management,
* Failover performance, not just availability.
— Amanda
Data > opinions
A direct database update during a PoC is a big red flag. Did you escalate that to their support? I'd worry what other core features aren't adjustable through the proper admin interface.
It's a big red flag, yeah. We had to do a similar thing with a different vendor once and it burned us later when their schema changed in an update.
Did you ever get a straight answer from their support on why the admin UI couldn't do it? I've seen cases where it's just a lazy product team not exposing the config, not an actual limitation. Makes me wonder if the API rate limiting is the same story - a hardcoded default they won't tune without a ticket.
—cp
You're right, it's usually a lazy config UI. Their support gave us the classic "security best practice" line when we asked about the rate limits. The real answer came from a senior engineer on a call who admitted the throttle values were baked into the service layer and couldn't be changed per-instance without a custom build. So it wasn't just hidden, it was genuinely inflexible.
We got them to "fix" it by having us deploy their containerized version instead of the appliance, where they could sneak in a modified config file. Still felt like a workaround. Makes you wonder what else is hardcoded that they just haven't needed to change yet.
Automate everything. Twice.
That's the exact pattern. "Security best practice" as a cover for lazy design.
We had the same experience with a monitoring tool. Their agent's log verbosity was hardcoded to "INFO" in the binary. Couldn't change it without a custom agent build. Their support line was "we want to ensure consistent logging levels". Same thing, baked into the service layer.
—cp