Custom Engineering vs Platform-Native Integrations: The Architecture Behind Modernization
Why custom-engineered real-time workflows still matter, even in a world dominated by APIs, events, and cloud platforms.

Hi, I’m Fayaz Khan — a PLM Solution Architect with deep hands-on experience in 3DEXPERIENCE, real-world integrations, and enterprise system behavior.
I work at the intersection of engineering, security, and systems thinking, navigating between PLM platforms, cloud infrastructure, APIs, and practical business needs. I prefer digging into why something works (or breaks), rather than just how to configure it.
My writing is an attempt to document the often-overlooked details — the silent bugs, the edge cases, the security gaps — and sometimes, the mental models that help me make sense of it all.
Modernization is one of the most overused words in engineering conversations today.
You hear it everywhere — “move to event-driven,” “replace custom code,” “adopt APIs,” “go cloud-native.”
These claims are not wrong.
But they are often incomplete.
Recently, I published an article https://realplm.hashnode.dev/secure-real-time-integration-for-engineering-systems-using-ssh-key-based-authentication describing how I engineered a secure real-time integration using SSH key-based authentication in an environment where no modern integration patterns existed. That article was about what I built.
This article is about why I built it that way—and why it still matters today.
While reflecting on my architecture choices, a question popped into my mind very honestly:
Why is a custom real-time integration often called “legacy,”
even when it behaves just as real-time as modern event APIs?
or
Why do people call a custom-built, real-time integration ‘legacy’
even when it behaves just as real-time as modern event APIs?
This question became the seed for this article.
I realised the world uses the word “legacy” very loosely.
Sometimes anything not cloud-native, not REST-based, or not event-driven gets labeled “legacy,” even when it’s fast, reliable, secure, and engineering-wise quite elegant.
1. First, let’s acknowledge the basics: Both approaches require skill
There’s a misconception that platform-native integrations are inherently better, faster, or smarter than custom-built ones. In reality:
Custom Engineering Requires:
working with OS-level primitives
designing secure transport channels
implementing retry and error logic
managing state without orchestration engines
creating handshake protocols
aligning timing, sequencing, and durability manually
understanding system-level constraints deeply
This is hands-on engineering craftsmanship.
Platform-Native Integrations Require:
orchestrating APIs and event busses
understanding contracts, schemas, and SLAs
designing idempotent event consumers
using cloud IAM securely
leveraging durable queues and scalable services
building distributed systems consciously
This is architectural systems design.
These skill sets are different, but neither is inferior.
Modern doesn’t mean more intelligent.
Legacy doesn’t mean less intelligent.
Modern simply means:
“More is handled by the platform, less by the engineer.”
2. The real difference is NOT real-time vs near real-time
One of the most common misunderstandings is the belief that:
Custom = near real-time
Modern = real-time
This is incorrect.
A custom workflow — like the one I built using SSH and an on-demand remote execution — can operate fully real-time, without polling, without batch windows, and without delays.
So the distinction is not about latency.
It is about how much of the system’s behavior you build vs how much the platform provides.
Let’s make this crystal clear:
| Aspect | Custom-Built | Platform-Native |
| Real-time capability | ✔️ Absolutely possible | ✔️ Absolutely possible |
| Responsibility | You own almost everything | Platform shares most responsibilities |
| Coupling | Tighter by nature | Loosely coupled |
| Scaling | Manual effort | Auto / managed |
| Observability | Custom-built | First-class tools |
| Evolution | Harder | Easier via abstraction |
| Failure handling | Manual logic | Built-in retries, queues, DLQs |
Modernization doesn’t magically make things “more real-time.”
What it does is make real-time integrations easier to build, operate, scale, and maintain.
3. Custom solutions excel when constraints are fixed
Why would anyone choose custom engineering in 2025?
Because many environments — especially older enterprise systems — simply cannot:
expose events
provide APIs
integrate with message queues
accept webhooks
adopt cloud services
change OS-level configurations
In such environments, engineering innovation often looks like:
secure file-based exchanges
SSH-based remote job execution
custom sequencing logic
ad-hoc orchestration built by hand
adaptive error handling embedded inside one of the systems
This isn’t “legacy thinking.”
This is respecting constraints and still delivering a reliable outcome.
And that is genuine engineering.
4. Platform-native shines when you want reliability, not control
Cloud platforms and modern integration ecosystems are built around one philosophy:
Let the platform take responsibility for uptime, delivery guarantees, retries, and observability.
This shifts your work from “building machinery” to “composing capabilities.”
What you lose:
deep low-level control
ability to use OS primitives
custom timing and sequence optimizations
What you gain:
consistency
durability
auto-scaling
reduced operational complexity
monitoring and tracing
event-driven extensibility
decoupled architecture
If custom-built systems are like precision handcrafted machines,
platform-native systems are like modular industrial-grade components that snap together reliably.
Both have value.
But one requires more maintenance and one requires more understanding of abstractions.
5. Responsibility vs Abstraction — the real architectural difference
Let’s distill the entire debate into one fundamental contrast:
Custom-Built Integrations
You own:
transport contract
sequencing
error paths
retry loops
timeouts
concurrency control
data delivery semantics
monitoring
security boundaries
Platform-Native Integrations
The platform owns:
transport reliability
retries & dead-lettering
auth & authz
scalability
telemetry
event durability
delivery guarantees
orchestration lifecycle
This is not a question of “better.”
It’s a question of who carries the engineering burden.
And that is all modernization truly is.
A shift in who is responsible for the heavy lifting.
6. So what does modernization really mean?
Not replacing custom engineering.
Not insulting legacy systems.
Not rewriting everything in events and APIs.
Instead:
Modernization means letting platforms handle the plumbing so engineers can focus on logic, not machinery.
But modernization also recognizes something crucial:
There are environments where custom integration is the only way, and delivering a reliable solution in such environments is a legitimate engineering achievement.
Your skills don’t diminish because you’re using SSH, file payloads, or on-demand remote jobs.
In fact, solving real problems inside strict legacy constraints requires creativity and depth, not just modern vocabulary.
7. The balanced architect’s perspective
A mature architect does not worship modernization
and does not romanticize legacy.
A mature architect is fluent in both and chooses based on context.
The truth is simple:
Custom engineering = ingenuity under constraints
Platform-native = reliability through abstraction
And the best engineers appreciate both.
Final Thoughts
The next time someone asks, “Why didn’t you use events or APIs?” — don’t feel the need to defend custom engineering.
Sometimes the environment shapes the solution.
Sometimes the constraints are immovable.
Sometimes you must be the platform.
And sometimes, modernization simply means knowing when not to modernize.


