Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Atténuer le coût et le risque de développement sur des logiciels Open Source

Par Jason English

3 April 2020

5  min lire

L'interprète vedette de nombreux magasins informatiques d'entreprise est l'open source. Il y a vingt ans, qui aurait pu prédire les milliards de dollars de valeur générés par les seules contributions à Linux et à la Fondation Apache, et encore moins l'écosystème de projets qui sont devenus des produits logiciels matures autour de lui?

Les logiciels open source sont une belle chose. Pratiquement gratuit, mis au monde de manière transparente et renforcé par des communautés de développeurs concernées. Mais développer votre propre logiciel d'entreprise en plus de l'open source n'est pas que «Kum-ba-ya» et soleil. Ce logiciel gratuit n'est pas entièrement gratuit ou sans risque.

Préparez-vous pour un spectacle, car le développement open source peut s'accompagner d'un drame.

Les entreprises qui se lancent dans des projets commerciaux critiques qui utilisent l'open source doivent peser les coûts cachés, les risques de qualité et les défis liés au travail avec cette classe de logiciels désormais mature, mais tout à fait unique.

Dans les coulisses: motivation coût ou qualité?

Le marché a parlé. Plus que 98% des développeurs déclarent désormais utiliser des logiciels open source dans leur travail. De nombreuses entreprises suivent cette demande et prennent une décision stratégique pour tirer parti des frameworks et des outils open source pour les efforts de développement et de test, partout où cela a du sens.

Les logiciels open source ne sont plus uniquement le domaine du développement DIY hardcore. En revanche, de nombreux outils DevTest open source ont une convivialité qui se rapproche de la qualité commerciale car chaque produit est amélioré et renforcé par la communauté et les entreprises commerciales open source - et bien catalogué avec des bibliothèques et des modèles gratuits dans GitHub et ailleurs.

Nous aurons toujours plus de tests Junit et Selenium prêts à être chargés. Plus de code SOAPUI et Postman pour ajouter de la valeur. Plus de composants Maven prêts à télécharger et d'extraits de code sur Stack Overflow. Plus de scripts de création de Jenkins et de recettes de chef.

L'open source offre des avantages en termes de coûts informatiques par rapport aux logiciels propriétaires. Le plus évident était l'élimination des contrats de licence draconiens. Si vos équipes peuvent télécharger librement le code et utiliser ou modifier démocratiquement ces outils à leurs propres fins, pourquoi payer un fournisseur? (Nous arriverons à cette partie.)

Et inversement, pourquoi des entreprises comme IBM, Microsoft, Google et Facebook renoncent-elles aux frais de licence pour apporter leur adresse IP à des outils de développement / test fondamentaux sous des licences open source? Qu'il s'agisse d'Eclipse ou de Visual Studio, de Kubernetes ou de React, ces titans sont également des adeptes de l'open source, cherchant à partager l'esprit des développeurs et à adopter en ligne des idées autrefois propriétaires.

De toute évidence, il y a plus de facteurs que les économies de coûts de licence en jeu dans cette scène, sinon vous ne verriez pas autant de grands fournisseurs et de sociétés commerciales open source investir massivement dans des projets source.

Payez vos cotisations avec une main-d'œuvre premium

Lorsque vous créez des cadres et des composants open source, vous pouvez contourner certains coûts de licence, mais vous investissez essentiellement dans une annuité avec vos heures de développement à mesure que vous créez plus d'actifs et dépendez de la chaîne d'outils sélectionnée.

Pour continuer à tirer de la valeur de cet investissement, les entreprises doivent attirer et retenir des talents qualifiés (c'est-à-dire, probablement assez chers) pour gérer de manière proactive l'utilisation des produits open source en relation avec les logiciels et les services créés au-dessus d'eux.

Les personnes qui comprennent la nature interconnectée du code de l'entreprise avec l'état actuel des outils open source ont rarement du temps libre, ce qui entraîne une augmentation des coûts de main-d'œuvre pour la mise en œuvre, la gestion de la configuration, les tests et la surveillance.

Heureusement, nous avons deux leviers pour réduire les coûts de main-d'œuvre: la contribution et l'automatisation. Plus que 55% de tous les développeurs déclarent désormais contribuer régulièrement à l'open source projets, et la plupart de ces développeurs considèrent la liberté de contribuer à l'open source comme un élément essentiel de satisfaction au travail.

Autoriser la contribution est une incitation qui aide à attirer et à fidéliser les employés du développement, et qui rapporte des dividendes en termes de meilleure sensibilisation et d'orientation des projets open source.

Peut-être encore plus important pour contrôler les coûts de main-d'œuvre est-il une concentration constante sur l'automatisation, l'un des principes fondamentaux du mouvement DevOps. Une meilleure réutilisation des artefacts de développement, de construction et de test est le chemin le plus rapide vers la valorisation pour de nombreuses entreprises.

«Nous avons construit notre Jtest et un Sélénique produits pour prendre en charge les frameworks open source Junit et Selenium de manière indépendante des fournisseurs, ce qui signifie que les développeurs et les testeurs peuvent intégrer de manière transparente les outils Parasoft sans devenir «fournisseur verrouillé». » a déclaré Mark Lambert, vice-président des produits chez une société de qualité logicielle Parasoft.

«De plus, lorsque les équipes doivent aller au-delà de ce que les outils open source, tels que SOAPUI et Postman peuvent fournir, nous ingérons les tests de ces outils et transformons l'investissement de test existant de l'équipe en tests automatisés plus larges qui couvrent plusieurs niveaux et vont au-delà du support REST. . »

L'implication par le biais de la contribution des développeurs à la réutilisation et à l'automatisation permet aux entreprises de rester prêtes pour la suite à tout moment.

Atteindre la conformité sans surprise

Après des dizaines de défaillances logicielles et de violations de données de haut niveau, les gouvernements et les groupes industriels réclament des niveaux de responsabilité plus élevés pour les logiciels, à la fois pour la confidentialité des données comme le RGPD dans l'UE et les réglementations spécifiques au secteur telles que HIPAA pour les soins de santé et PCI pour bancaire.

La société de cybersécurité, Sonatype, a récemment signalé que plus de 10,000 entreprises, dont 57% des entreprises du Fortune 1000, avaient téléchargé la même version vulnérable d'Apache Struts, qui a révélé la violation massive des données des clients d'Equifax.

Pour faire face aux risques de conformité, les entreprises doivent fournir une documentation vérifiable de l'ensemble du processus de livraison de logiciels, y compris la démonstration de la gestion sécurisée des données et des contrôles des modifications. Ne pas le faire peut entraîner des amendes de plusieurs milliards de dollars. C'est un coup à la valeur d'une entreprise qui peut même être ressentie dans la salle de conférence.

Cela peut être difficile dans un environnement où les développeurs téléchargent et copient des milliards de composants et d'extraits de code par an à partir de bibliothèques open source.

Des tests automatisés continus doivent avoir lieu à chaque événement de changement de logiciel. Au-delà de cela, vous devez générer un rapport complet à partir de ce processus avec le contexte pour faire quelque chose à propos de toute défaillance exposée ou des risques de sécurité qui surviennent.

Supposons que votre dernier audit de livraison de logiciels révèle que «quelque chose ne va pas» dans l'environnement de préparation, et que vous avez besoin d'un correctif ou d'une mise à jour pour le corriger immédiatement. Qui appelez-vous?

Open Source avec support commercial

Les DSI avisés et les responsables du développement comprennent que si les logiciels open source peuvent alléger les contrats draconiens des fournisseurs et le verrouillage, le développement de solutions à l’échelle de l’entreprise nécessite toujours une voie à suivre avec un soutien commercial.

Il est toujours possible qu'un projet open source populaire tourne mal ou devienne l'actualité d'hier. Que se passe-t-il si la communauté de développement passe à des pâturages plus verts et néglige les outils sur lesquels elle a travaillé hier?

Quelqu'un devra être sur le crochet et se tenir derrière les versions avec les mises à jour nécessaires et l'assurance que les composants open source en jeu sont adaptés à l'objectif. Un écosystème de fournisseurs de développement et de test s'est formé autour de ces considérations. Lorsque le client a besoin de certifier l'intégrité des outils open source - ou la prise en charge au niveau de l'entreprise des intégrations, services et tests qui s'exécutent dessus - le client peut se connecter avec un fournisseur pour assumer la responsabilité du succès.

En plus de cette nouvelle philosophie de l'open source soutenue par le commerce, les fournisseurs fournissent souvent un coût d'entrée gratuit aux outils commerciaux pour la formation individuelle des développeurs et les efforts de contribution. Par exemple, il y a un «Community Edition» gratuite de Virtualize produit, donc les développeurs, les testeurs et SRE peut en apprendre davantage sur la virtualisation des services tout en créant et en documentant des environnements de test virtuels pour promouvoir la collaboration.

La prise d'Intellyx

Les frameworks open source peuvent voler la vedette pour apporter de la valeur dans votre boutique informatique tout en incitant les développeurs à s'impliquer, mais ils n'ont pas besoin de devenir une prima donna en conséquence.

Les entreprises doivent aller au-delà des modèles de coûts nets simplistes ou des calculs de retour sur investissement pour prendre en compte l'expérience complète des clients et des employés. Il est fourni en travaillant avec toute une gamme d'outils commerciaux et open source, tout en se tournant vers les organisations de services et les communautés derrière eux pour aider à atténuer les risques.

Recherchez des poignées faciles pour démarrer, mettez à niveau les développeurs et les testeurs individuels et réutilisez les ressources open source.

Vérifiez et certifiez votre environnement en permanence. L'automatisation et la transparence prévisibles élimineront le drame de l'open source à chaque fois.

Par Jason English

Jason English est analyste principal et directeur marketing chez Intellyx, où il conseille les principaux fournisseurs de solutions technologiques et les startups logicielles dans leur transition vers la transformation numérique. Son expérience comprend l'expérience client et la conception interactive, le cycle de vie de développement / test de logiciels d'entreprise, la virtualisation, le cloud et la blockchain.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.