V2C (Vehicle-to-Cloud) Backend Development in Rust for Geospatial Computing

RUST software implementation in large-scale cloud systems

V2C (Vehicle-to-Cloud) Backend Development in Rust for Geospatial Computing

Project Details

  • Task : Implementation
  • Completion : October 2023

Client

German provider of maps and navigation services

Challenge

Increasing performance and security (memory safety) of a critical backend component for the V2C (Vehicle-to-Cloud) platform. The system, intensively using geospatial data for route calculations, was originally written in C++ and required migration to Rust technology to ensure greater error resistance, memory safety, and better concurrency management.

Solution

My role involved porting key backend functionalities from C++ to Rust to increase its robustness and performance. Key tasks:

Migration of Business Logic to Rust: Rewriting the core backend software in Rust. This module was responsible for calculating optimal routes to specific POI (Points of Interest) based on advanced geospatial datasets.

Rust-C++ Integration (FFI): Creating a safe interface (FFI - Foreign Function Interface) between new Rust modules and existing, high-performance C++ libraries (performing complex geospatial calculations). I managed data flow (coordinates, route segments) between these two domains.

Data Exposure via API: Ensuring seamless exposure of results (calculated routes) to external services through well-defined APIs, enabling communication between vehicle and cloud infrastructure.

Result

Migration to Rust allowed for significant improvement in memory safety (eliminating entire classes of errors known from C++) and improved system performance through better concurrency management. The backend became more robust, reliable, and ready to scale, supporting next-generation geolocation applications.

Technologies Used:

Languages: Rust, C++

Concepts: Backend Development, Vehicle-to-Cloud (V2C), Geospatial Data, FFI (Foreign Function Interface), Memory Safety, Concurrency

Architecture: API (REST/gRPC), Microservices

Tools: Cargo, Tokio, Serde