Why We Built Our Backend in Rust
A deep dive into the technical decision behind choosing Rust and Axum for our enterprise SaaS infrastructure — and why it matters for our customers.
Why We Built Our Backend in Rust, Golang and Kotlin
When we started TwoEngines, we had a critical decision to make: what language would power our backend? The answer wasn't obvious, but after months of evaluation, we chose Rust. Here's why.
The Requirements
Our products process financial transactions, payroll, and sensitive customer data. We needed:
Why Not Go, Java, or Python?
Go is excellent for microservices but lacks the memory safety guarantees we wanted. Java has a massive ecosystem but the JVM overhead and GC pauses were unacceptable for our latency requirements. Python, while great for rapid development, simply doesn't have the performance characteristics we need.
The Rust Decision
Rust gives us zero-cost abstractions, fearless concurrency, and compile-time memory safety. Combined with Axum for our web framework, we've achieved:
What This Means for Customers
When you process a payment through our remittance system, the transaction is handled by Rust code that is memory-safe, blazingly fast, and battle-tested. That's the kind of reliability enterprise software demands.