OuiCar, the largest car-sharing website in France, is rethinking the relationship humans have with cars by prioritizing use over ownership.

Founded in 2007 as Zilok Auto, OuiCar has a collaborative consumption model, providing its users with a 100% secure and user-friendly experience. Today, the company has 2 million registered users and a fleet of more than 30,000 vehicles in France. But OuiCar's current success was not always a given. In 2018, following a decline in ratings and the inability to see across its tech stack, the company re-examined its entire approach. At that time, OuiCar only monitored infrastructure—there was no app or end-user monitoring. 

Redesigning architecture for seamless data 

Prior to 2018, the solutions used by OuiCar were standalone products, with Amazon CloudWatch for monitoring purposes. The lack of visibility negatively affected user experience, and consequently, overall business. Customers were finding too many errors while using the app.

For many teams, the transition from a monolithic system, with relatively simple tracing, to a much more complex system, with 15 microservices, could be daunting. For OuiCar and its CTO, Guillaume Cavana, the move was vital. Cavana wanted to avoid sending too many alerts to developers. He also wanted to give them the visibility to see whether an HTTP query came in through a set entry point, where it went next, and which different calls were made after. 

The huge challenge we're facing is ensuring that our customers don't encounter any issues. We need to anticipate their needs and be alerted when there are errors on our apps, or when a microservice crashes or behaves poorly, which could potentially cause others to crash. It's important to us that our solution be stable and, if it isn't, that we are informed as quickly as possible so we can be proactive. 

Most CTOs deal with legacy architecture, multiple tools, data silos, and other technical debts. Ouicarwas also in the middle of implementing modern architecture, which can be complex, fragmented, and volatile. 

Correlating data across silos

Today, OuiCar's architecture is based on microservices, managed by Amazon Web Services (AWS) with the Elastic Container Services (ECS) orchestrator. The AWS plug-and-play solutions help the company focus on the business value of its activities and DevOps. These solutions connect infrastructure, development, and business to various Amazon-managed services. OuiCar also has Kubernetes clusters managed with Elastic Kubernetes Service (EKS).

Behind it all, New Relic's data management and data correlation are key. With accurate alerts, logs, distributed tracing, and dashboards, the capabilities offered by New Relic are instrumental for OuiCar. The company relies on the observability platform to proactively detect issues before they impact users. The full stack instrumentation makes it easy to track the adoption rate of new releases and understand everything that is happening during deployment. When an issue arises, dashboards correlate the data for faster troubleshooting.

The huge advantage of instrumenting with New Relic is that everything can be found in a single place. Once connected to AWS, all data is easily visible within New Relic. There's no need to go back to other systems to visualize it. For OuiCar, New Relic was an obvious choice and its benefits were immediately felt. Ten different issues were identified one day after installing the agent. Response times improved by 40% on the backend.

With New Relic, we can bring together, in the same dashboard, all the metrics from the different apps. If you have a Kubernetes cluster, it is not necessarily that simple to see which pod is running. In New Relic, you already have that view and you can configure alerts that will connect to the different parts of the stack.

Members of the technical team have more time to focus on the product and help the company to expand in different markets. Now that infrastructure and app performance are correlated, developer jobs have become much simpler and more efficient. Their learning curve has been drastically shortened.

End-to-end instrumentation eliminates bottlenecks

Logs are vital for all OuiCar teams. They provide the ability to create alerts. With New Relic, logs connect an issue to a service, with the ability to switch from one service to another within the same UI. With this, it's possible to see all metrics during a fatal error, with visibility across AWS, microservices, the frontend, and the app. All without having to switch tools. 

Distributed tracing is another key feature for Cavana. With distributed tracing, you can prove where the problem is and that edits need to be made. Traces locate where in the code an incident originated, or the database in which there's an issue. New Relic’s capabilities also allow Ouicar to address technical debt. This fosters a healthy dialogue with the product and business teams so that during the next deployment, technical improvements can be brought in to preserve the quality of service, and in turn, improve the conversion rate and app score. 

"In the end, the benefits are fairly simple," explains Cavana. "What's extremely important in microservices architecture is the correlation of data between apps [web, mobile, backend] and infrastructure, which leads to better performance. It's great to have one tool with all of these metrics, having them centralized and being able to run searches quickly without having to implement and configure them yourself. The second important point is the alerts. We know that prevention is better than cure, and it's important to have a system that can accurately launch alerts."

"With New Relic, you get a true turnkey solution and it's highly effective. I don't have to leave one tool to go to another, it's so much simpler. I don't lose any time," says Cavana.