Suite de postes de travail privés : Des tests 105 fois plus rapides, des versions 3 fois plus courtes

Innowise a transformé le processus de publication de Carbonio en remplaçant les pratiques manuelles par un cadre automatisé méticuleux. Cela a permis des déploiements plus rapides, une plus grande stabilité et une évolutivité à long terme.

98%

moins de bogues en production

10x

un déploiement plus rapide pour les installations des clients

Suite d'espaces de travail numériques privés déployés sur un ordinateur personnel
Salariés 130
Région Italie
Client depuis 2022

Vue d'ensemble du client

Résumer l'article avec AI

Zextras développe des logiciels d'entreprise axés sur la communication sécurisée et la gestion des données. Son produit phare, Carbonio, est une suite d'espace de travail numérique auto-hébergée qui intègre le courrier électronique, le calendrier, le stockage de fichiers, le chat, les conférences et les outils de bureautique - fonctionnant sur ordinateur de bureau et sur mobile. Grâce à son modèle sécurisé et entièrement privé et à son architecture modulaire, Carbonio bénéficie de la confiance d'organisations de toutes tailles qui privilégient la souveraineté numérique sans renoncer à l'évolutivité.

Défi

Avec un ensemble d'outils matures, de multiples composants et un nombre croissant d'installations, Carbonio a continué à se développer, ainsi que son écosystème de partenaires. Pour soutenir cet élan, l'équipe a cherché à rationaliser les processus de livraison et d'installation - un mouvement stratégique pour :

  • Augmenter la vitesse de déroulement. Fournir des mises à jour et des correctifs plus rapidement pour aider les utilisateurs de Carbonio à accéder aux améliorations plus tôt et à renforcer leur avantage concurrentiel.
  • Réduire la charge d'assistance. Améliorer la stabilité et la réactivité du système afin de minimiser les temps d'arrêt et de réduire la pression sur les équipes d'assistance.
  • Développer les installations dirigées par des partenaires. Simplifier le déploiement et la configuration pour réduire les barrières techniques et permettre à plus de partenaires de déployer Carbonio de manière indépendante.

Derrière ces objectifs commerciaux se cachait un cycle de vie post-développement partiellement manuel, un goulot d'étranglement pour une plateforme évolutive et multi-modules comme Carbonio. L'équipe avait besoin de :

  • Accélérer l'assurance qualité. Les tests de régression prenaient 35 heures par cycle, ce qui ralentissait les processus de mise en production et accaparait le temps des développeurs, tandis que les défauts non détectés entraînaient des correctifs coûteux.
  • Simplifier et accélérer le déploiement. Chaque serveur, module et intégration devait être configuré à la main, ce qui prenait un temps précieux et nécessitait une expertise technique approfondie.
  • Rationaliser le développement. Les composants architecturaux hérités ont rendu le développement quotidien plus exigeant, laissant moins de place à l'innovation.

C'est pourquoi ils avaient besoin d'un partenaire expérimenté dans la transformation de processus complexes, capable de collaborer à l'élimination des goulets d'étranglement et à l'accélération de la mise sur le marché des produits.

Automatiser les processus manuels pour accélérer les mises en production

La solution que nous avons fournie

En tant que membre de l'équipe internationale du client, Innowise a rapidement rejoint le projet de Zextras, introduisant une approche axée sur l'automatisation. Nous avons identifié les principaux obstacles et éliminé les goulets d'étranglement à la racine grâce à des cadres structurés qui ont permis de résoudre les causes plutôt que de corriger les symptômes.

L'assurance qualité en tant que service continu

L'équipe d'assurance qualité de Innowise a constaté que l'assurance qualité manuelle était paralysée par des intégrations lourdes de régression, des problèmes de contenu imprévisibles et des résultats incohérents entre les environnements. Pour y remédier, nous avons réorganisé les tests autour d'une automatisation complète.

A partir de là, Zextras a acquis une un pipeline d'assurance qualité continu et résilient qui valide les composants de l'interface utilisateur dans chaque version et détecte la majorité des bogues avant qu'ils n'atteignent la production. Grâce à la cartographie de l'architecture et à la hiérarchisation des flux critiques, notre approche de l'automatisation des tests permet désormais d'obtenir des versions prévisibles et stables :

  • Couverture complète des cas - tous les flux d'utilisateurs essentiels sont désormais validés automatiquement, depuis les fonctions de base telles que l'envoi et la réception de courriers électroniques jusqu'aux opérations complexes dans les modules de stockage de fichiers et de vidéoconférence.
  • Prise en charge de plusieurs navigateurs - s'exécutent sur Chrome, Safari, Firefox et Edge avec une utilisation optimisée des ressources. En exploitant le moteur Chromium partagé dans Chrome et Edge, nous avons minimisé la duplication en exécutant la plupart des tests dans Chromium.
  • Détection proactive des problèmes - Les problèmes liés aux pilotes de navigateur sont identifiés avant les mises à jour officielles des navigateurs, ce qui permet d'éviter les problèmes susceptibles de survenir dans les versions ultérieures. Cette approche préemptive permet d'économiser des ressources et d'accélérer les tests.
  • Soutien à l'environnement dynamique - peuvent être exécutés dans n'importe quel environnement en spécifiant simplement l'URL du serveur, ce qui facilite la validation des modules dans différentes configurations.
  • Fiabilité avec des cas limites. - En effectuant des tests avec des ensembles de données variés, nous nous sommes assurés que des entrées, des exceptions ou des conditions inhabituelles ne pouvaient pas casser le système.
  • Des rapports accessibles. - pour chaque scénario de bogue, les rapports de test fournissent des captures d'écran, des vidéos, des journaux de requêtes et des résultats, ce qui permet aux responsables de projet, au personnel technique et non technique de repérer les problèmes et de les classer par ordre de priorité immédiatement.

Plus important encore, l'assurance qualité est désormais intégrée dans le développement lui-même. Grâce à la suite d'automatisation intégrée aux pipelines CI/CD de Jenkins, chaque construction et déploiement déclenche une vérification complète de l'interface utilisateur, ce qui permet de détecter les problèmes à un stade précoce et de protéger la vitesse de mise en production.

Pour l'instant, notre équipe d'automatisation de l'assurance qualité, composée de deux ingénieurs, a livré Plus de 900 tests automatisés couvrant les scénarios critiques d'utilisation quotidienne - depuis les transactions par courrier électronique et la planification du calendrier jusqu'au stockage de fichiers et au dialogue en ligne. Pour garantir la fiabilité, nous avons fixé et maintenu un indicateur de performance clé (KPI) de 90%+ la stabilité des tests sur l'ensemble des séries.

Et il continue d'évoluer : nous affinons continuellement le cadre, en supprimant les anciennes solutions personnalisées au fur et à mesure de l'évolution du produit et en adaptant les localisateurs lors de la migration React 17→18. De plus, nous avons étendu la couverture avec l'automatisation CLI, ajouté des tests au fur et à mesure de l'évolution du produit, et amélioré le renforcement pour une maintenabilité à long terme.

Excellence en matière de déploiement et d'exploitation

L'unité DevOps de Innowise a aidé le client à optimiser un processus de déploiement en introduisant une plus grande automatisation à l'échelle. Les mises à jour et les installations de clients, qui demandaient autrefois beaucoup de temps et de ressources, s'exécutent désormais plus rapidement, de manière plus sûre et avec une fiabilité constante.

Voici ce qui a fait la différence :

  • Infrastructure en tant que code (IaC) - Les installations et les mises à jour sont désormais entièrement automatisées grâce aux playbooks Ansible. Les paramètres des proxies et des bases de données sont codifiés, ce qui rend les déploiements reproductibles, peu risqués et instantanément évolutifs entre les clients et les centres de données. De nouveaux environnements peuvent être mis en place beaucoup plus rapidement.
  • Contrôle continu (en cours) - Pour les infrastructures internes, les exportateurs Prometheus et les tableaux de bord Grafana personnalisés permettent de suivre les performances, la charge, l'activité antivirus, la santé des services, etc. Les journaux centralisés signalent les anomalies, ce qui permet de prévenir les problèmes avant qu'ils ne perturbent les utilisateurs.
  • Composant de haute disponibilité (HA) - PostgreSQL peut être configuré avec une redondance et un basculement automatisé pour sauvegarder les données centrales de la plateforme. Cette configuration garantit la sécurité de la base de données, la fiabilité des transactions et la résilience des services qui en dépendent.
  • Outils de migration - En collaboration avec les autres unités du client, des utilitaires dédiés ont été développés pour prendre en charge la migration du courrier, des calendriers, des contacts et des comptes à partir de plateformes tierces. Cela a permis de réduire les temps d'arrêt et de simplifier l'intégration, tout en préservant l'intégrité, la confidentialité et la continuité des données.
  • Automatisation de la gestion des versions - Avec CI/CD, les playbooks Ansible sont regroupés dans des collections et publiés automatiquement sur Ansible Galaxy ou un hub privé. Les clients bénéficient ainsi d'une installation en un clic, d'une intégration plus rapide et de l'assurance que chaque version est testée et prête à l'emploi.

Nous prenons en charge les installations personnalisées, en adaptant Carbonio à divers environnements clients. Cela signifie qu'il faut redéfinir son architecture dans des cas extrêmes allant de l'installation d'un seul serveur pour une utilisation légère, à des infrastructures de messagerie électronique à haut volume, en passant par des déploiements prenant en charge des conférences parallèles étendues. En prenant en compte ces scénarios non standard, nous aidons Zextras à fournir des expériences personnalisées, fiables et évolutives à chaque client.

Soutien continu : évolution des fonctionnalités et intégration transparente

Intégré à l'équipe de développement du client, Innowise a contribué à la mise en place d'un système de gestion de la qualité. Expertise Java qui a soutenu des efforts plus larges pour rendre le cœur de Carbonio plus résilient et prêt pour l'avenir. Nous avons commencé par éliminer les obstacles de longue date en procédant à un remaniement en profondeur, en adoptant des pratiques de code propre et en redéfinissant les fonctionnalités sur des versions de langage modernes - des améliorations qui ont permis d'accroître la maintenabilité, les performances et la rentabilité à long terme.

En développement continu, cet effort conjoint a renforcé la position de Carbonio en tant que plateforme de travail sécurisée et fiable. Parmi les avancées notables, citons

  • Envoi de courriels sécurisés, basés sur des certificats, avec cryptage S/MIME ;
  • Trafic crypté avec des certificats TLS/SSL et un outil de renouvellement automatisé ;
  • Contrôles administratifs renforcés, y compris la réinitialisation des mots de passe, le renommage des comptes et la gestion des droits du service d'assistance ;
  • Fonctionnalité de mise en suspens juridique pour répondre aux exigences de conformité dans les secteurs réglementés ;
  • Synchronisation plus rapide des courriels, des calendriers et des contacts sous des charges extrêmes.

Nous continuons à jouer un rôle actif dans l'évolution de Carbonio, en apportant des améliorations et des corrections de bogues qui aident à maintenir le produit stable, sécurisé et aligné sur les demandes changeantes du marché.

Icône de citation

La charge manuelle d'un produit aussi complexe et multi-modulaire que Carbonio pesait sur l'équipe et repoussait les dates de sortie. Notre objectif était de faire des tests et des installations de produits une routine sans tracas. Grâce à l'automatisation de l'assurance qualité et du déploiement, Zextras est désormais sûr de la qualité de ses produits et peut développer activement les installations réalisées par ses partenaires.

Andrew Artyukhovsky
Andrew Artyukhovsky Responsable de l'assurance qualité

Technologies utilisées

CQA

Playwright, Fiddler, CI/CD via Jenkins, GitHub, Allure

DevOps et ingénierie des systèmes

Jenkins, GitHub Actions, Ansible, vSphere, Prometheus, Grafana, PostgreSQL, HAProxy, PfSense, ClamAV, kLDAP, Apache Kafka, Ubuntu, Loki, Vector, Zookeeper, Patroni, Docker, Python, Azure

Backend

Java 11, Java 17, Java 21, Jetty, Jersey, Guice, LDAP, SOAP, Maven, Linux, Bash, Perl, GitHub, AWS Lambda

Équipe

Icône 2
Ingénieurs du AQA
Icône 1
Logiciel Engineer
Icône 1
Ingénieur DevOps
Icône 1
Architecte de solutions
L'équipe Innowise

Résultats

Durée du projet
Juillet 2022 - Aujourd'hui

Une approche axée sur l'automatisation a remodelé le cycle de vie post-développement de Zextras, ce qui a permis d'obtenir des résultats :

  • Cycles de test 105x plus rapides - de 35 heures à 20 minutes.
  • 98% moins de bogues de production - les problèmes liés à l'assistance à la clientèle ont diminué de manière significative.
  • ≥90% taux de réussite au test automatisé - la fiabilité est assurée pour toutes les séries.
  • 240+ défauts critiques interceptés avant la production - qui auraient pu provoquer des pannes n'ont jamais atteint les utilisateurs.
  • Collaboration rationalisée - Des rapports clairs et visuels permettent aux PM, aux équipes de support et de développement de prendre des décisions plus rapides et basées sur des données.
  • Des ressources optimisées - L'automatisation a permis de réduire la charge de travail liée aux tests manuels et de réorienter le temps et le budget vers une livraison plus rapide des fonctionnalités.
  • Le déploiement est multiplié par 10 - les installations et les mises à jour des clients sont devenues plus rapides et reproductibles.
  • Cycles de diffusion raccourcis de trois fois - les nouvelles fonctionnalités sont arrivées plus rapidement sur le marché.
  • Les déploiements des partenaires sont activés - L'installation automatisée a ouvert la voie à des déploiements menés par des partenaires, créant ainsi de nouvelles sources de revenus.

Avec des mises à jour plus rapides et un modèle de distribution convivial, Carbonio consolide sa position en tant qu'alternative compétitive et auto-hébergée aux fournisseurs mondiaux de collaboration en nuage. L'équipe Innowise continue de soutenir le produit en élargissant la couverture des tests automatisés, en corrigeant les bogues et en introduisant de nouvelles fonctionnalités pour le rendre plus stable, plus sûr et plus convivial.

Table des matières

Automatiser les processus manuels pour accélérer les mises en production

    Contact

    Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    Envoyez-nous un message vocal
    Joindre des documents
    Charger fichier

    Vous pouvez joindre un fichier d'une taille maximale de 2 Mo. Formats de fichiers valables : pdf, jpg, jpeg, png.

    En cliquant sur Envoyer, vous consentez à ce qu'Innowise traite vos données personnelles conformément à notre politique de confidentialité. Politique de confidentialité pour vous fournir des informations pertinentes. En communiquant votre numéro de téléphone, vous acceptez que nous puissions vous contacter par le biais d'appels vocaux, de SMS et d'applications de messagerie. Les tarifs des appels, des messages et des données peuvent s'appliquer.

    Vous pouvez également nous envoyer votre demande
    à contact@innowise.com
    Que se passe-t-il ensuite ?
    1

    Une fois que nous aurons reçu et traité votre demande, nous vous contacterons pour détailler les besoins de votre projet et signer un accord de confidentialité. Projet et signer un accord de confidentialité.

    2

    Après avoir examiné vos souhaits, vos besoins et vos attentes, notre équipe élaborera une proposition de projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés.

    3

    Nous prendrons rendez-vous avec vous pour discuter de l'offre et régler les détails.

    4

    Enfin, nous signons un contrat et commençons immédiatement à travailler sur votre projet.

    flèche