Déploiement d’applications conteneurisées / Edition de logiciel
Nous avons développé un système innovant pour gérer le cycle de vie d’applications dockerisées sur un parc de millions de box internet. Grâce à une architecture multi-technologies et multi-couches, avec un cœur et moteur de calcul s’appuyant sur Java et la plateforme Hazelcast, nous avons conçu une solution capable de garantir un traitement haute performance grâce au multi-threading et à l’asynchrone.
Le projet
Ce prototype répond à des enjeux stratégiques : permettre un déploiement ciblé d’applications et permettre aux opérateurs de mieux maîtriser et connaître leur parc de box télécoms.
En étant parmi les premiers à explorer cette technologie, nous avons également permis à notre client de se positionner comme un précurseur, ouvrant la voie à de nouveaux projets pilotes, renforçant sa visibilité sur des événements internationaux et développant le business.
L’environnement technique du projet
L’expertise backend Peaks
- Java 11
- Hazelcast
- Php 8
- Angular 14
- avro, gRPC
- MQTT
- Git
- Gitlab
- Maven
- PostgreSQL
- Multi-threading
Notre valeur ajoutée sur le déploiement d’applications conteneurisées
- Expertise Java / rôle de lead
- Capacité à comprendre et analyser des systèmes complexes et de grande échelle
- Implémentations de capacités nouvelles pour l’installation d’application sur un agent, conformes à la dernière spécification USP (dernière spécification USP (User Services Platform) du Broadband Forum).
- Enrichissement des capacités du moteur de traitement
- Classification des agents par ensemble d’applications cibles
- Création de release : lot permettant le regroupement des publications d’applications
- Dry Run : calcul préalable des impacts futurs sur la globalité du parc pour une release donnée
- Reprise, refacto et évolutions du moteur de calcul de règles, qui analyse les applications devant être installées pour chaque agent du parc et génère par la suite les commandes de mise à jour.
- Exploration et tests de performances
- Jusqu’à 5 millions d’agents
- Temps de traitement de l’ordre de la minute
Témoignage
« Ce qui m’a particulièrement plus dans cette mission est la découverte de nouvelles technos et de sortir un peu du standard de facto qu’est Spring dans le monde Java.
J’ai aussi apprécié le changement de paradigme et la conception de traitements dans un contexte de parallélisme, ce qui oblige à changer son mode de pensée habituel.
Enfin le fait de concevoir un système à grande échelle où l’ordre de grandeurs est du million ou plus, induit un stress sur le système, qui nécessite des réflexions poussées en termes d’architecture et une attention au détail particulier pour assurer une bonne performance. Cet aspect en particulier, bien que difficile, était vraiment passionnant. »