Blog
Qovery
5
minutes

I used Rust in production for 6 months! Here's my feedback

Are you in two minds when it comes to learning new programming languages? Probably you may feel the same when you first heard about the Rust programming language. Good things require some effort and here's what I have to say after using Rust programming language in production for a 6-month duration – It is great and Simply superb! Let's get the clear practical experience picture with Rust at Qovery.
Romaric Philogène
CEO & Co-founder
Summary
Twitter icon
linkedin icon

What is Qovery?

Qovery is a Cloud deployment platform used by more than 1000 developers to deploy their apps on AWS. The part in app deployment is written in Rust (take a look, it's open-source). My team and I enjoy technical challenges, and when we decided to move out of Python (for robustness reasons), I suggested Rust!

Why Rust?

Qovery is installed on the Cloud account of our customers! Meaning, we need to be 100% sure that when Qovery is installed, it will run forever with a minimum memory and CPU footprint. This is a critical piece of our product. It's a bit like launching a satellite into space. Once it's launched, it's nearly impossible to repair it physically.

Houston we have a 404 problem :) Credits NASA

This is where Rust shines. Once it's compiled, it works like a charm.

Why not use Go?

What we're doing with Rust could be done with Go. However, from my experience, I saw a lot of devs abusing Goroutines (lightweight threads), leading in concurrency issues. Rust prevents misuse of threads, which can be frustrating - but for good reasons.

Feedback

Don't expect new programmers to be productive in the first month.

There is a learning curve associated with each programming language. Like other languages, developers new to Rust will take time to learn the concepts, play with code, and be productive. You should not expect them to be effective in the first month itself. I'd recommend spending time to dig into crucial concepts like Borrowing, Ownership, and Lifetime to understand Rust better. I'd also recommend reading the official book on Rust programming language, which is available at - https://doc.rust-lang.org/book/.‍

Rust changes the way we build applications for the better.

Due to the excellent type system, Rust is safe by design, and it changes the way one builds applications positively. "Don't fight the borrow checker", spend time to understand why it throws you to error - it's for your good. You're probably doing something "wrong" for years without knowing. Personally, it was my case when developing concurrent features on other programming languages like Java and Go. So, don't fight the borrow checker, and embrace it :)

The tooling is good

Rust has some great tools like 'Cargo' which is a Rust dependency manager. Cargo helps build code, download the libraries that the code depends on, and build those libraries. Suppose you are a Java or Kotlin developer and are familiar with IntelliJ IDEA, which is an integrated development environment in Java. In that case, you do not have to fear as there is an excellent Rust plugin available.

For me, the IntelliJ debugger works fine, but it may get challenging to get details on the variables when they are allocated on the heap. Here the LLDB debugger can help with ease. Which I honestly... don't use.

You may not find the library that you need.

The Rust programming language has a lot of high-quality libraries. But the Rust ecosystem is not mature like Go, Python, or Java. In case you are unable to find something suitable, you will have to create it. This is an excellent and creative opportunity to contribute to the Rust ecosystem. The community developers are always looking for exciting things on Rust, and your contribution will help the community. That's why we open-sourced our deployment engine — trying to contribute to the Rust ecosystem in our way.

Error handling can be verbose.

Even though error handling rust may be verbose, it is good to handle all cases. There are mechanisms like the '?' operator that aims to reduce the volume of error handling code, but at some point, like for me, you will have to handle it. But this is also why Rust is so safe, and you have to spend time handling errors instead of skipping them.

The compilation is so slowwwww

Depending on the size of your project, it will take time to download the libraries and build them and could take between one to ten minutes. At Qovery, we started with 2 minutes and 30 seconds of compilation time, and today, it is at 8 minutes. However, the Rust team has been making improvements to make the compilation faster through incremental builds.

Note: Pierre (CTO of Qovery) configured a distributed cache with SCCache, and we reduced build time per 2.

Rust has a strong community.

Rust programming language is excellent, but mainly the people who form the Rust developer community make Rust a great ecosystem. The community stands for equality and welcomes all. It is small and growing fast. The Rust tooling ecosystem is very active, enthusiastic, and growing, which has all the makings to spearhead Rust into a widely used language. I also try to contribute with Qovery and my free time to create new content to show that Rust is accessible to anyone - even with experience in only a high-level programming language.

Conclusion

Rust is becoming popular day by day, with greater adoption of Rust by organizations in the Cloud computing sphere. Rust language has many advantages and is the perfect language to build highly resilient applications. As developers gain productivity, you must think positively of the slightly longer learning curve and be patient in the first few weeks. These little investments will go a long way to improve ways to design apps. Rust has exciting career options, and we at Qovery believe in a bright future for Rust in the coming years.

If you are excited about Rust (as we are) - drop us a line :) Stay safe.

Share on :
Twitter icon
linkedin icon
Ready to rethink the way you do DevOps?
Qovery is a DevOps automation platform that enables organizations to deliver faster and focus on creating great products.
Book a demo

Suggested articles

AWS
Deployment
 minutes
AWS App Runner Alternatives: Top 10 Choices for Effortless Container Deployment

AWS App Runner limits control and locks you into AWS. See the top 10 alternatives, including Qovery, to gain crucial customization, cost efficiency, and multi-cloud flexibility for containerized application deployment.

Mélanie Dallé
Senior Marketing Manager
Kubernetes
 minutes
Kubernetes Management: Best Practices & Tools for Managing Clusters and Optimizing Costs

Master Kubernetes management and cut costs with essential best practices and tools. Learn about security, reliability, autoscaling, GitOps, and FinOps to simplify cluster operations and optimize cloud spending.

Mélanie Dallé
Senior Marketing Manager
AWS
GCP
Azure
Cloud
Business
10
 minutes
10 Best AWS Elastic Beanstalk Alternatives

AWS Elastic Beanstalk is often rigid and slow. This guide details the top 10 Elastic Beanstalk alternatives—including Heroku, Azure App Service, and Qovery—comparing the pros, cons, and ideal use cases for achieving superior flexibility, faster deployments, and better cost control.

Morgan Perry
Co-founder
Kubernetes
DevOps
7
 minutes
Kubernetes Cloud Migration Strategy: Master the Shift, Skip the Disaster

Master your Kubernetes migration strategy with this expert guide. Learn the critical planning phases, mitigate major risks (data, security, dependencies), and see how Qovery simplifies automation and compliance for a fast, successful, and reliable transition.

Morgan Perry
Co-founder
SecurityAndCompliance
DevSecOps
 minutes
Qovery Achieves SOC 2 Type II Compliance

Qovery is officially SOC 2 Type II compliant with an Unqualified Opinion. Get the highest assurance of continuously verified security controls for enterprise-grade application deployments and simplify due diligence.

Pierre Mavro
CTO & Co-founder
Product
Observability
 minutes
Troubleshoot Faster with the New Log Search and Filtering in Qovery Observe

Following the launch of Qovery Observe, we’re progressively adding new capabilities to help you better monitor, debug, and understand your applications. Today, we’re excited to announce a major improvement to the Logs experience: you can now search and filter directly within your application logs.

Alessandro Carrano
Lead Product Manager
Platform Engineering
DevOps
Terraform
7
 minutes
Top 5 Crossplane Alternatives & Competitors

Go beyond Crossplane. Discover Qovery, the #1 DevOps automation tool, and 4 other IaC alternatives (Terraform, Pulumi) for simplified multi-cloud infrastructure management and deployment.

Morgan Perry
Co-founder
AWS
Platform Engineering
DevOps
9
 minutes
10 Best AWS ECS (Elastic Container Service) Alternatives

Compare the top 10 AWS ECS alternatives, including Qovery, Docker, EKS, and GKE. Find the best solution to simplify Kubernetes, automate DevOps, and achieve multi-cloud container deployment.

Morgan Perry
Co-founder

It’s time to rethink
the way you do DevOps

Say goodbye to DevOps overhead. Qovery makes infrastructure effortless, giving you full control without the trouble.