Full-stack development of a B2B payment infrastructure in Rust, with Florent Bécart
Jul 29, 2024
auto_awesome
Florent Bécart, CTO at Nikulipe, shares insights on the company's strategic shift to Rust for their B2B payment infrastructure. He highlights Rust's benefits, including safety, scalability, and lower operational costs, while also discussing its role in frontend development via Yew and WebAssembly. The conversation dives into the challenges faced, such as long compile times and managing workload spikes. Florent also offers valuable advice for decision-makers considering Rust as a tech choice in their businesses.
Nikulipe adopted Rust for its low operational costs, scalability, safety, and the ability to manage memory effectively.
The company embraces a unified tech stack with Rust, enabling seamless collaboration between frontend and backend teams, fostering flexibility.
Deep dives
Benefits of Rust for Payment Processing
Rust is highly beneficial for payment startups like NikoLipa due to its emphasis on safety, performance, and predictability. The company adopted Rust from its inception, capitalizing on its ability to manage memory effectively with its borrow checker, which reduces coding errors and vulnerabilities. Rust's efficiency allows NikoLipa to maintain a low server footprint, reducing both rental and operational costs since they self-host their applications. By providing high availability and scalability, Rust meets the stringent requirements of the payment processing industry.
Full Stack Development with Rust
NikoLipa’s choice to use Rust across its entire technology stack promotes cohesion among its development teams. This unified approach enables developers to work seamlessly across both frontend and backend systems, allowing greater flexibility and ownership over the entire application. The company has implemented a Rust-based administrative interface, which has proven effective despite having a smaller community compared to JavaScript frameworks. The strategic use of Rust reduces the barriers between front-end and back-end development, fostering a culture of full-stack engineers.
Challenges in the Rust Ecosystem
Despite its advantages, NikoLipa faces challenges with Rust's compile times and integration with tools like Protobuf. The lengthy compilation process can be frustrating for developers accustomed to faster turnaround times in other languages. Additionally, the lack of seamless integration between Protobuf and Rust results in developers duplicating code to maintain type consistency. NikoLipa actively experiments with alternative tools like CraneLift to optimize compile times, reflecting their commitment to improving developer experience within the Rust ecosystem.
Florent discusses Nikulipe’s reasons for adopting Rust: lower operational costs, scalability, safety, security and
maintainability. Nikulipe has also made a bet on Rust for its frontend development needs, using Yew and WebAssembly.
The interview closes with an overview of the challenges they faced, including long compile times and workspace management.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!