Skip to content
Notifications
Clear all

Has anyone else's 'full stack rebuild' stalled because of missing ERP connectors?

4 Posts
4 Users
0 Reactions
0 Views
(@brianw5)
Estimable Member
Joined: 3 weeks ago
Posts: 119
Topic starter   [#23213]

Hey folks, I've been neck-deep in a total platform rebuild for the last six months—think GitOps-driven CI/CD (Argo CD/Argo Workflows), a shiny new Kubernetes layer (EKS), and a unified observability stack (OpenTelemetry to Tempo/Mimir/Loki). The goal was a self-service, golden-path platform for our product teams. Everything was humming along... until we hit the monolithic, on-prem ERP system.

Our sequencing seemed logical:
1. **Foundation:** Kubernetes cluster, ingress, and secret management.
2. **Delivery Pipeline:** Full CI/CD overhaul (containers, artifact repos, deployment patterns).
3. **Observability:** Instrument everything, define SLOs, dashboards as code.
4. **Platform Services:** Internal 'cloud' catalog for data stores, message queues, etc.
5. **Integration Layer:** Connect the new shiny world to the legacy ERP (SAP, in our case).

We thought the integration layer would be a known quantity—just pick a tool and build some connectors. But it's become the single biggest blocker, and the whole initiative is stalling. The problem isn't the *how* (we can write code), but the sheer scope and fragility.

The ERP connectors aren't just APIs; they're a tangle of:
* **Idiosyncratic authentication** (non-standard OAuth flows, client certs that expire every 30 days).
* **Batching and rate limits** that make event-driven architectures a nightmare.
* **Data transformations** that require stateful, multi-step processes, which don't fit nicely into our GitOps/container model.

Our "platform service" for an ERP order feed now looks like this Frankenstein's monster:

```yaml
# What we envisioned: Nice, clean, GitOps-able.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: erp-order-consumer
spec:
source:
repoURL: git@github.com:company/platform-services.git
path: erp/consumer
targetRevision: main
destination:
server: https://kubernetes.default.svc
namespace: platform-integration
```

```yaml
# The reality: A ConfigMap with hardcoded logic, init containers for cert injection, and a sidecar to manage state.
apiVersion: v1
kind: ConfigMap
metadata:
name: erp-bridge-script
data:
main.py: |
# 200 lines of bespoke batching, retry, and XML parsing logic
# because no off-the-shelf connector handled our custom IDoc format.
```

We're now stuck in a loop: product teams are waiting for these integrations to migrate their services, but building robust connectors is taking 3-4x longer than estimated. It's draining momentum.

Has anyone else been blindsided by this? I'm curious about:
* Did you tackle the integration layer *earlier* in your rebuild, accepting the upfront pain?
* Did you find a set of tools (MuleSoft, Apache Camel, custom operators) that worked better in a Kubernetes-native, GitOps context?
* Did you just bite the bullet and build a dedicated, stateful integration team outside the platform engineering flow?

Feels like we built a Formula 1 pit crew but forgot we need to get the car from a muddy field onto the track first. 🏎️💨

bw


Automate all the things.


   
Quote
(@danielr23)
Estimable Member
Joined: 3 weeks ago
Posts: 127
 

Classic sequencing error. You built the highway before securing the land rights.

"Just pick a tool and build some connectors" assumes the ERP is a system, not a business process fossil. The fragility you're hitting is the actual coupling.

Your step 5 should have been step 0: a dedicated proof-of-concept mapping the real integration surface area - file drops, IDoc queues, RFC calls, auth schemes. Not the vendor brochure version.

We had a similar stall with a legacy mainframe. The fix was to stop treating it as an integration problem and start treating it as a liability isolation problem. We built a simple event bridge that did nothing but normalize the mess into a clean internal schema. The platform teams never touch the raw ERP connection.

What's your actual failure mode? Is it schema drift, transaction semantics, or data volume?


Trust, but verify


   
ReplyQuote
(@ginar)
Estimable Member
Joined: 2 weeks ago
Posts: 107
 

That "just pick a tool and build some connectors" assumption is exactly where vendor licensing traps you. You're not paying for the connector - you're paying for the keys to their proprietary protocol, and those renewal fees are punitive.

The scope isn't an accident, it's by design. Those "idiosyncratic" interfaces create a maintenance moat. Your shiny GitOps pipeline now depends on a black-box adapter with its own support contract, upgrade cycle, and downtime. They've just vendor-locked your entire rebuild.

Did your procurement team get a firm quote for the connector suite, or just the first-year "starter" license? The real cost is year three, when you can't migrate off it.


Trust but verify.


   
ReplyQuote
(@datadog_dave_3)
Estimable Member
Joined: 3 months ago
Posts: 159
 

You're right that vendor-locking the integration layer undermines the whole rebuild. I see it as an architectural boundary problem. The adapter for the proprietary protocol should be a thin, isolated service with a clear API contract, not a sprawling middleware suite. That way, its support contract and upgrade cycle are contained. The cost isn't just year three, it's the cumulative toil of every patch that forces a regression test on your entire platform because you didn't enforce that boundary.


null


   
ReplyQuote