Kraken's migration to Rust microservices, with Rob Ede
Oct 19, 2023
auto_awesome
Rob Ede, lead maintainer of actix-web, talks about Kraken's migration to Rust microservices. They discuss the benefits of using Rust, the future improvements for actix-web, and the challenges and progress in the Rust ecosystem. The conversation highlights the cost reduction, increased efficiency, and improved productivity achieved by adopting Rust at Kraken. Overall, the podcast sheds light on the potential of Rust in web development and its growing popularity.
ACTIX web in Rust offers improved performance, reduced hosting costs, and increased scalability due to its efficient resource usage.
Rust's web development ecosystem needs improvements in core abstractions and libraries to make it as approachable as web development in Javascript while maintaining the safety and efficiency of Rust.
Deep dives
Introduction to ACTIX
ACTIX is one of the most popular web frameworks in the Rust ecosystem. It was initially built on the ACTIX framework, which was an ACTIMODEL implementation. However, in version one, ACTIX web became almost completely unrelated to the original ACTIX project. The founding principles of ACTIX web are to create a fast and pragmatic web framework that is easy to use.
Rob's Journey with the Project
Rob got involved with ACTIX web when he was looking for an alternative for a project at work. He started using ACTIX web in the pre-version one days and made contributions to the project. In 2020, when the project faced complications, Rob was part of a group that wanted to fork the project, leading to his involvement as a contributor. He eventually became the maintainer and pushed the release of version 3. Rob's work on ACTIX web has paid off, as it has become widely adopted and offers improved performance and stability compared to its Java predecessor.
Benefits and Future Improvements
ACTIX web in Rust provides benefits such as improved performance, reduced hosting costs, and increased scalability due to its efficient resource usage. The language features of Rust, such as explicit null handling and strong typing, also contribute to the stability and reliability of ACTIX web. However, there are some challenges and areas for improvement. One aspect is to make the libraries more ergonomic and approachable, similar to frameworks like Express.js or Rails, while still leveraging the benefits of Rust's safety and efficiency. Rust's ecosystem also needs stability and improvements in certain core abstractions, such as async traits and stream traits, to make development experiences more seamless and user-friendly.
Rob Ede, lead maintainer of Actix Web, explains to Marco Otte-Witte how (and why) Kraken chose to migrate their microservices to Rust.
They also discuss Rust’s web development ecosystem at large, with a particular focus on Actix Web: Rob shares his view on how improvements in the language and framework space will eventually lead to a future where web development in Rust can be as approachable as web development in Javascript.
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!