Avec les instances Spot Amazon EC2, nous économisons facilement de 85 à 90 % sur nos coûts. Cela nous permet en retour de prendre moins de risques dans l’expérimentation et de développer des produits de meilleure qualité pour nos clients. 
Joe Gardner Architecte principal du cloud

Créée en 1976, National Instruments travaille avec des ingénieurs et des scientifiques pour répondre aux défis les plus ardus. Elle leur fournit des solutions de pointe conçues pour accélérer la productivité et l’innovation dans des domaines allant de la technologie médicale au calcul mobile, en passant par la recherche spatiale. Les plus de 35 000 clients de la firme ont mis sur le marché des centaines de milliers de produits, et ce non sans avoir surmonté d’innombrables obstacles technologiques. National Instruments a son siège à Austin, au Texas, et compte près de 7 400 employés dans environ 50 pays à travers le monde. En 2015, l’entreprise a enregistré un chiffre d’affaires annuel de 1,23 milliard USD, dont 16 % ont été investi dans la recherche et le développement.  

National Instruments propose une large gamme de technologies à ses clients, à l’instar de LabVIEW, un environnement de développement logiciel destiné à la création d’applications sur mesure. Le module FPGA optimise la solution LabVIEW et permet aux ingénieurs de créer des technologies FPGA (Field-programmable Gate Array) sophistiquées, ou des puces de silicium reprogrammables, dans leurs applications. Une conception FPGA doit être compilée préalablement à son déploiement. Elle nécessite de la part des ingénieurs d’exécuter un processus de compilation énergivore et chronophage sur une machine configurée avec des ressources matérielles significatives et les packages logiciels nécessaires.

Par le passé, les équipes de développeurs de National Instruments ont testé de nouvelles fonctionnalités pour des produits tels que ceux-ci sur site. Or, la croissance de l’entreprise s’est traduite par la nécessité de disposer d’une infrastructure supplémentaire. Parallèlement, les conceptions FPGA devenaient de plus en plus complexes et nécessitaient davantage de capacité de calcul. Afin de réduire ses coûts et d’optimiser ses délais de développement, l’équipe LabVIEW du National Instruments a commencé à mener des recherches sur le cloud computing. « Les transistors se miniaturisent de plus en plus, à l’heure où nous avons davantage de portes susceptibles d’être programmées. Cela se traduit par des conceptions vastes et plus complexes nécessitant une puissance de calcul additionnelle pour réaliser la compilation, » déclare Joe Gardner, architecte principal du cloud chez National Instruments.  

En 2010, à l’issue de l’examen des différentes offres disponibles, l’équipe FPGA a procédé à l’extension de son module en proposant un service de compilation de FPGA hébergé sur les instances à la demande Amazon Elastic Compute Cloud (Amazon EC2). L’équipe FPGA utilise aussi AWS pour ses développements et ses tests internes. L’équipe FPGA a choisi AWS en raison de ses fonctionnalités Auto Scaling, du contrôle qu’il offre à ses développeurs et des instances Spot Amazon EC2. La conjugaison de tous ces avantages permet à National Instruments de réduire significativement ses coûts de calcul lors des tests de nouvelles fonctionnalités de produits.

Grâce à AWS Auto Scaling, National Instruments peut rapidement mettre à l’échelle ses ressources AWS EC2 à mesure de l’augmentation des charges de travail de ses clients. « Jusqu’ici, notre processus de mise à l’échelle interne pouvait durer de 5 à 30 minutes afin de s’adapter aux charges de travail supplémentaires. Désormais, avec AWS, l’opération dure moins de 1 minute. Ce gain de temps est précieux pour nous, car nos clients ne doivent pas attendre que les tâches démarrent, » explique Gardner.

L’équipe FPGA a également jeté son choix sur AWS en raison de la facilité d’utilisation qu’il offre aux développeurs. « AWS est plus pratique que les autres environnements cloud. Il nous offre un contrôle accru et ne nous oblige pas à effectuer des mises à jour susceptibles de compromettre la compatibilité. De plus, AWS est simple à utiliser, ce qui nous permet de créer des produits sans avoir, par exemple, à recruter un expert Hadoop ou IoT. Bien au contraire, nous pouvons utiliser nos propres talents existants, » ajoute Gardner.

Plus important peut-être encore, l’équipe FPGA a constaté qu’elle pouvait réaliser des économies considérables en utilisant les instances Spot Amazon EC2 durant les phases de développement et de tests. Ces instances permettent d’équilibrer l’offre et la demande en donnant aux utilisateurs la possibilité de profiter d’une capacité de calcul Amazon EC2 de réserve. « Les économies sont énormes. En effet, le test d’un de nos produits coûte par exemple environ 500 USD avec les instances Spot. Or ce coût aurait été 10 fois supérieur, soit 5 000 USD, avec un traitement à la demande, » explique Gardner.

En août 2014, National Instruments a étendu l’utilisation d’AWS à son équipe de développeurs logiciels LabVIEW. Celle-ci utilise désormais les instances Spot Amazon EC2 pour traiter l’excédent de charges de travail de tests lorsque son infrastructure sur site est à pleine capacité. « Face à l’augmentation du volume de tests, l’équipe de développeurs LabVIEW était à court de ressources de calcul pour les exécuter. Elle nous a contactés parce qu’elle manquait d’expérience dans le cloud, et au bout d’une semaine seulement elle exécutait déjà ses surplus de charges de travail de tests dans le cloud, » déclare Gardner.

Outre les instances Spot Amazon EC2, National Instruments utilise plusieurs services AWS, notamment Amazon Simple Storage Service (Amazon S3) pour le stockage d’objets hautement scalable, Amazon Relational Database Service (Amazon RDS) comme sa base de données relationnelle, Amazon DynamoDB comme une base de données NoSQL rapide et flexible, et Amazon Route 53 comme son service Web DNS (Domain Name System) scalable basé sur le cloud. National Instruments exploite aussi AWS CloudFormation pour faciliter la création et la gestion de ressources AWS pour les développeurs, ainsi qu’AWS CloudTrail, la solution qui enregistre les appels d’API et génère un historique des fichiers journaux.

Grâce au modèle de tarification des instances Spot d’Amazon, National Instruments peut exécuter des charges de travail internes pour une fraction du coût du traitement à la demande, ce qui lui permet d’économiser des dizaines de milliers de dollars lors de tests de nouvelles fonctionnalités. « Avec les instances Spot Amazon EC2, nous économisons facilement de 85 à 90 % sur nos coûts. Cela nous permet de prendre moins de risques dans l’expérimentation et de développer des produits de meilleure qualité pour nos clients, » explique Gardner.

National Instruments a également fait des économies sur les coûts de création d’une infrastructure sur site à grande échelle. Par exemple, l’équipe LabVIEW utilise les instances Spot Amazon EC2 pour exécuter plus de 30 000 heures serveur de générations de tests par mois. Prendre en charge un tel volume de travail sur site aurait nécessité de multiplier par deux la taille de l’infrastructure interne de l’équipe, avec un investissement de 1 million USD en termes de ressources matérielles et de maintenance. Grâce à AWS, National Instruments se met rapidement à l’échelle pour répondre à la demande actuelle, tout en s’épargnant de nouvelles embauches et les retards dans les procédures d’acquisition qu’auraient entraînés l’accroissement de l’infrastructure sur site.

Exécuter ses charges de travail de développement et de tests sur AWS a également permis à National Instruments devenir plus agile. Étant donné que les charges de travail varient de manière significative durant le cycle de vie du développement logiciel, National Instruments peut faire l’économie des coûts liés aux serveurs inactifs lorsqu’une réduction des tests est nécessaire. De même, l’entreprise peut rapidement se mettre à l’échelle supérieure en cas de nécessité pour répondre aux besoins liés à la hausse des tests, ce qui lui permet d’obtenir la capacité de calcul nécessaire pour rapidement analyser de nouvelles fonctionnalités et les mettre à la disposition des clients. Dans le cadre du développement de l’une de ses fonctionnalités, par exemple, l’équipe FPGA devait exécuter un processus de test complet incluant plus de 900 compilations. Si ces compilations devaient se faire sur un serveur sur site unique, cela aurait pris plus de trois semaines. Cependant, grâce aux instances Spot Amazon EC2 et à la parallélisation, l’équipe les a réalisées en moins de 10 heures, et ce pour un coût inférieur à 50 USD par cycle d’opération. « L’utilisation d’AWS nous a permis d’économiser des mois dans le cycle de développement. Si nous avons besoin de serveurs supplémentaires, nous pouvons y accéder sans complication, » indique Gardner.

National Instruments a répercuté cette agilité à ses clients. Grâce à l’hébergement intégral du FPGA Compile Cloud Service sur AWS, les ingénieurs peuvent utiliser le service à leur guise sans avoir à investir des milliers de dollars sur leurs propres ressources matérielles. « Auparavant, nos clients pouvaient investir de 5 000 à 10 000 USD pour les serveurs de compilation dont ils avaient besoin, et ensuite les immobiliser quelques mois durant. L’exécution des compilations étant devenue un processus d’excès ou de manque, AWS est la solution idéale pour nous, » explique Gardner.

Face à sa croissance continue, National Instruments envisage d’étendre l’utilisation d’AWS à d’autres environnements de développement. Elle prévoit par ailleurs d’utiliser d’autres services AWS comme AWS IoT et Amazon QuickSight pour créer de nouvelles offres de produits pour le bonheur de ses clients. « AWS nous offre d’innombrables possibilités d’expérimentation. Il met à notre disposition une riche gamme d’outils de travail et accélère le développement et le déploiement de nouveaux produits, autant d’atouts sur lesquels nous fondons notre réussite, » précise Gardner.

Pour en savoir plus sur la façon dont AWS peut vous aider en matière de développement et de tests, consultez notre page de présentation Développement et test.