La Mobilery choisit Clever Cloud pour héberger ses projets

Logo de Clever Cloud

Depuis le début de l’été 2022, La Mobilery passe par Clever Cloud pour héberger ses projets (et migre progressivement les anciens).

Clever Cloud est un PaaS (Platform As A service) qui promet de simplifier les déploiements, l’hébergement ainsi que le maintien en conditions opérationnelles d’applications web.

Dans cet article, on vous présente notre réflexion et on vous explique pourquoi ce choix, et ce que cela change pour nous

Avant toute chose, et histoire de vous donner quelques billes pour la suite, mon avis a toujours été que les déploiements sont un « taf de grille pain« .

Ce que je veux dire par là, c’est que pour moi, les déploiements:

  • n’apportent pas de valeur,
    (le déploiement en soi n’apporte aucune valeur, c’est le contenu qu’on déploie qui en apporte)
  • sont sans saveur,
    (et sans intérêt pour la personne qui va le faire)
  • sont anxiogènes ,
    (eh oui ! casser la prod, la préprod tout ça)
  • prennent du trop temps.

Et maintenant, place à l’histoire…

Les déploiements d’hier à La Mobilery

Comprendre: les déploiements de nos projets web (api, back & front)

Jusqu’à l’été 2022, les déploiements à La Mobilery étaient propres mais peu harmonieux.

C’est probablement pareil dans beaucoup d’entreprises. Le constat est simple : les devs qui s’occupent du projet font le déploiement. (You build it, you run it)

Résultat ? Il y a autant de façons de déployer que de projets.

Dans nos méthodes de déploiements, c’était buffet à volonté, selon vos goûts vous trouverez :

  • CD (bitbucket ou github)
  • scripts (bash)
  • Docker
  • ssh
  • remote git clone
  • bundling (faire un gros binaire en somme)
  • firebase
  • gcp (avec app engine)
  • OVH
  • Et j’en passe…

La seule constante, c’est que tout projet doit être déployé.

Pour ajouter un peu de complexité à tout cela, La Mobilery va bien, elle a de plus en plus de clients, de plus en plus de projets, et recrute !

Grandir c’est bien, mais il faut repenser notre mode de fonctionnement pour plusieurs objectifs :

  • Continuer d’apporter des prestations de qualité à nos clients
  • Avoir un mode de fonctionnement harmonisé entre les équipes et les projets (exit le buffet)
  • Se re-concentrer sur notre métier principal : développer et apporter des fonctionnalités métier

Les déploiements et le run de la prod ne rentrent pas dans cette liste.

Pour autant, en 2022, il est essentiel de déployer, et de déployer souvent. Notre promesse aux clients c’est qu’ils peuvent palper ce pourquoi ils payent sans effet tunnel.

L’agilité a introduit les livraisons à chaque fin d’itération, j’irai plus loin en disant qu’on doit livrer à chaque fonctionnalité, c’est le principe même de la CD (NDLR; Le déploiement continu).

Oui mais.

Cela ne corrige qu’une partie du problème en question.
Chaque projet ses environnements, ses spécificités, son hébergement ?

Tout le monde n’est pas forcément à l’aise avec OVH, Firebase, Docker, etc… encore moins avec le yaml très utilisé pour configurer les CD.

Au-delà de cela il faut configurer le serveur distant, il faut s’assurer que notre app tourne, la relancer si besoin… Ca fait pas mal de choses et c’est normal : c’est un métier.

Celui des ops. (pitié ne me parlez pas de devops).

Oui mais notre métier à nous c’est faire du dev !

Un dev qui a envie de dev mais qui n’a pas envie de mettre les mains dans /etc/tmp sur un serveur distant avec putty pour vérifier si les ports sont ouverts pour son api koa.

Alors on fait quoi ?

Le client veut des déploiements très réguliers VS Les devs n’ont pas le temps (ni l’envie) de s’en occuper.

La réponse ? On laisse quelqu’un d’autre faire ça pour nous.

via GIPHY

Harmoniser et déléguer

On commence à voir un début de solution : utiliser la CD sur nos projets pour déployer de manière automatique.

Reste à savoir comment ?

  • Qui écrit et maintient la CD au cours du projet ?
  • Est-ce qu’on envoie les sources sur le serveur avec une clé de déploiement ? Bof
  • Doit-on utiliser docker ? Pitié non (oui j’ai un avis très tranché sur la question)
  • autre ?

Une solution simple, que beaucoup connaissait semble répondre à tout cela : Google App Engine

Le principe ? On envoie le code source chez Google, et ils se chargent du reste, ils compilent les sources et les exécutent.

Le rêve ! La solution semble parfaite pour nous, reste un petit bémol…

Manger local

Où va l’argent ?

Je vous laisse creuser et faire votre avis sur la place de l’europe dans le marché du cloud et de l’internet.

Ce qui est sûr, c’est que si notre argent part hors de l’Europe (au hasard, chez les GAFAM), cette place va très rapidement devenir discutable (ou pas d’ailleurs).

Nous voulions donc un acteur européen (encore mieux si français).

C’est important pour nous, en tant qu’entreprise française, de participer au développement d’autres entreprises françaises et européennes. C’est un choix qu’on assume parfaitement.

Ca ne veut pas dire qu’on ne travaille plus du tout avec les GAFAM, au contraire, une bonne partie de notre métier ce sont des apps iOS et Android et on utilise Flutter et React Native, et qui dit iOS dit Macbook donc niveau technologies US, ça va.

Le hasard fait bien les choses

Ou plutôt l’algorithme Youtube et Twitter fait bien les choses pour la peine

En me baladant sur Youtube et en assistant à quelques conférences, un nom commençait à régulièrement revenir dans mon fil: Clever Cloud.

J’en avais déjà entendu parler, alors on creuse un peu, et on tombe sur une société

  • qui semble parfaitement remplir le besoin (à quelques produits près)
  • française
  • dont la raison d’être est totalement en phase avec notre constat
Pourquoi je pense qu’on ne doit plus faire de déploiements à La Mobilery

En plus, par une chaîne de personnes qui connaissent d’autres personnes, nous arrivons à rencontrer Quentin Adam (CEO de Clever Cloud) et Steven Le Roux (CTO de Clever Cloud) lors d’un déplacement à Lille.

Au bout de 2h de discussions, et quelques tests, nous sommes convaincus qu’utiliser Clever Cloud est la bonne solution pour nous.

Les déploiements d’aujourd’hui à La Mobilery

Pour la suite, la stratégie d’harmonisation est simple.

Tous nos nouveaux projets seront basés sur Clever Cloud (à quelques exceptions près si un service manque)

Notre CD va être simple et identique sur tous les projets.
Le principe même de fonctionnement de Clever Cloud est « les devs git push, clever fait le reste », alors c’est exactement ce que nous allons faire.

Ce que ça change pour nos devs ?

Plus besoin de configurer de CD ou de serveur, Clever Cloud le fait automatiquement !
Donc nos devs peuvent se concentrer sur ce qu’ils savent faire du mieux : le dev !

Pourquoi cela fonctionne aussi bien ? Parce que notre stack technique est relativement un standard du marché.

Globalement c’est Node, React & Vue, Angular pour le web.
Et nos bases de données MySQL ou MongoDB.

Ça tombe bien, tout cela est disponible chez Clever Cloud.

Le seul point qu’il manque encore, c’est le serverless pour nos API (les lambdas de AWS ou des cloud functions de GCP), le jour où ces produits seront là, la boucle sera bouclée.

Ce que ça change pour nos clients

Rien.

En fait, de manière transparente, nos clients vont aussi bénéficier de ce choix.

  • Moins de frais pour les déploiements (ou pour la création de la CD)
  • Un effet tunnel réduit à néant, le déploiement devient tellement simple qu’ils voient leur produits en temps réel.
  • Aucun downtime durant la migration (qui a déjà eu lieu sur quelques projets)

Donc finalement tout le monde est heureux !

Quentin Klein

Tech Leader de l'agence de Paris
4 novembre 2022

Quentin est CTO de La Mobilery. Accro au développement mobile, il est particulièrement intéressé par Android et Flutter.