How Le Wagon teaches thousands of students to code with Scalingo

Scalingo

With 44 campuses and nearly 14,000 graduates, Le Wagon is the reference for "Bootcamps", schools where you learn to be a developer in record time.

Founded in 2014 in Paris with the mission to transform the lives of people and businesses through learning to code, Le Wagon is now one of the leading code training providers in the world.

Le Wagon offers full-time (9 weeks) and part-time (24 weeks) web development and data science courses at 44 campuses in Europe, Asia-Pacific, America, Africa and the Middle East. In parallel, Le Wagon offers the possibility of online training.

To understand how a school that trains thousands of students a year uses Scalingo, we had the pleasure of talking to Sébastien Saunier, the co-founder and CTO of Le Wagon.

We'll take a look behind the scenes of Le Wagon's infrastructure, and see how Scalingo as a PaaS offers them an optimal solution for their use.

Le Wagon: A Global Network of Campuses

With online training and campuses around the world, Le Wagon offers a global network that allows people to learn code in record time.

They provide students with a diploma course, as well as post-graduation support and access to a network of alumni who are now working in the most innovative tech companies, such as Skello, Doctolib, Spendesk, Matera, Farmitto and many more! On average, 93% of graduates find a job, launch their own freelance activity, or create their own startup after the training.

Le Wagon teams have designed and maintain their own LMS (Learning Management System). This allows them to have total control over what is offered and thus provide the richest possible experience to students, while overcoming the technical limitations that a third-party LMS might impose.

This application, coded in Ruby on Rails, is where everything happens, not only the pedagogical processes, but also the management of applications, contracts and invoicing, as well as the support of students after the bootcamp.

The development and maintenance of such a tool requires a lot of technical and human resources. Le Wagon's teachers were therefore initially also developers! With the growth it was decided in 2022 to separate the engineering part from the operational part.

Today, the team is 100% alumni and counts 25 people, including 5 people in the Data team and 15 developers who essentially take care of the applications that allow the bootcamp to function properly.

Two students coding

The organization before Scalingo

Before moving to Scalingo, Le Wagon hosted their Ruby on Rails applications on Heroku until they encountered a limitation for their educational platform.

The purpose of this application is to test the students' code to see if it is good. The application then sends a message back to the student indicating whether their code is correct or incorrect, similar to continuous integration.

Four days of the Web Development bootcamp are devoted to learning about databases and the SQL language, with exercises using the lightweight SQLite database. The tests designed by the pedagogical team worked well locally on the students' machines but did not run correctly on Heroku, in the absence of SQLIte headers on the machines offered on this PaaS

So they looked for a new host for this application (while keeping the rest at Heroku), and AWS Elastic Beanstalk was the choice for this test. However, they were not satisfied, the experience was not ideal for them, and the support was not convenient. However, Le Wagon stayed on this platform for several years, keeping in mind the desire to migrate as soon as more advanced DevOps skills came in-house.

In 2019, the team decided to extract the continuous integration functionality from the educational application, in order to test the students' code in a secure Sandbox, using Docker.

To do this, they created a new Rails application that had this functionality, and took the opportunity to test Kubernetes for deployment.

The test proved successful, but Kubernetes presented several challenges, including clusters that had problems two to three times a month.

“ Kubernetes was taking up one person's time, and when he left no one had the skills to maintain the architecture. ”
Sébastien Saunier, CTO @ Le Wagon

It took one employee a full year to learn Kubernetes and be able to maintain the application.

When this team member left, Sébastien was left alone to manage the maintenance of the applications that had been migrated to Kubernetes.

As a result, technical problems appeared a few days after the departure of the sole DevOps member. This complex tool was mastered by a single team member, and his absence became an immediate problem.

It was at this point that Sébastien decided to go back to a PaaS to get around this problem, recognising a management error in allowing a Single Point of Failure in his team, and a failure to get the team up to speed on Docker/Kubernetes.

The transition to Scalingo and its use

Following this problem, Sébastien turned to Scalingo to host Le Wagon's applications.

The goal was to have a stable infrastructure that did not require human intervention. Scalingo's compatibility with Buildpacks' open-source technology, command line and web dashboard management allowed the technical team to regain a level of autonomy over the infrastructure by having easy access to logs & a console in production.

With Kubernetes, it was necessary to go through the only devops or to install tools that were not well mastered to connect to the clusters.

Thanks to Scalingo's experience, notably the self-deployment from GitHub and the auto-scaling, the migration from Kubernetes was done in less than a day with very little interruption.

Container Management

Le Wagon hosts seven different Rails applications on Scalingo, all of which have a fundamental role in the smooth running of the platform.

“ I like the flexibility in all the configuration and the cost control. It saves us money! ”
Sébastien Saunier, CTO @ Le Wagon

For Sébastien, the fine-tuned management of containers is one of Scalingo's main assets.

It is at this level that the more detailed management of containers becomes interesting, Sébastien explains that it allows him to optimise his costs according to the importance of the application. As a result, he avoids spending more than necessary for an application that requires fewer resources.

This feature combined with autoscaling makes the task even simpler, and allows him to concentrate on other things, while being serene about optimising the containers for the application.

The dashboard and metrics

“ I think that your dashboard is better than Heroku's. ”
Sébastien Saunier, CTO @ Le Wagon

Another point that Sebastien underlined was the simplicity and efficiency of the Scalingo dashboard.

This dashboard allows him to be more efficient, by accessing the information he is looking for in a simple and quick way.

Similarly, the use of metrics allows him to easily debug when an application becomes slow.

Tracking certain metrics such as CPU and RAM usage, requests per minute and response time, are here accessible directly in the dashboard, and this facilitates diagnostics.

Scalingo Metrics page in the dashboard

The deployment

“ Thanks to Scalingo, we stop playing with servers and concentrate on what we do best: improving our product. ”
Sébastien Saunier, CTO @ Le Wagon

On the previous tools that Le Wagon used, deployment was a step that caused some concern.

The task was tedious, and Sebastien explained that it was always a rather delicate process that developers did not like to do.

Since the transition to Scalingo, this no longer seems to be a concern, especially with the GitHub integrations.

This is especially convenient for a operation like Le Wagon team that does Continuous Deployment.

Review app

Review Apps are temporary environments built automatically or on demand based on GitHub Pull Request (or GitLab Merge Request). This allows users to test a version of their application in an environment similar to the main one, without affecting the core application. It is an ideal tool for collaborative work.

When using Le Wagon, Review Apps are manually activated when testing with non-technical people.

Especially for SEO testing, and anything related to visual changes on the "www" website.

Quality of technical support

Support is proving to be an important strength of Scalingo for Le Wagon team. As Sébastien explained to us, support is always responsive and ready to help, even when there are no technical problems

“ Our DevOps is outsourced to you, for the slightest question, we have a quick and precise answer. ”
Sébastien Saunier, CTO @ Le Wagon

Whenever the Le Wagon team has a question or a technical issue, they can contact support at any time for help and expertise on their request.

For Le Wagon, this is a great strength, especially since their team no longer has an in-house DevOps person, and Scalingo allows them to replace this position and remain confident in hosting and maintaining their applications.

Conclusion

Le Wagon is a school that trains thousands of students in code, and Scalingo proves to be a trusted partner.

Here are the main points that convinced Le Wagon to turn to Scalingo

  • The fine management of containers and the optimization of costs
  • Easy to use dashboard and metrics
  • The easy, fast and automated deployment
  • The various features such as review apps
  • Quality support always ready to help

What are you waiting for to try Scalingo? Feel free to use your free 30 days trial or contact us for a demo.

Share story

Try Scalingo for free

30-day free trial / No credit card required / Hosted in Europe