Amazon : « nous embauchons des ingénieurs en logiciels qui maîtrisent le langage de programmation Rust »
AWS estime que Rust est un élément essentiel de sa stratégie à long terme

Rust, le langage de programmation open source conçu par Mozilla Research, est l'un des tout premiers, si ce n'est le premier, langages de programmation dont les grands groupes technologiques se chargent eux-mêmes de faire la publicité. Après l'équipe de npm, Microsoft, Apple et Facebook, c'est au tour d'Amazon d'accorder une place de choix à Rust dans ses futurs travaux. AWS a annoncé ce mardi son intention d'engager davantage de développeurs Rust dans les mois à venir, dans le cadre de son plan de soutien à la communauté derrière Rust et d'exploration de nouveaux cas d'utilisation du langage.

Rust se popularise rapidement et fait des grandes entreprises ses plus grands partisans

Paru en 2010, le langage Rust a connu une popularité impressionnante dans le monde du développement logiciel, ce qui s'est encore accentué avec la sortie de sa première version stable en 2015. C'est le langage le plus plébiscité pour remplacer le langage C dans la programmation système, il devrait permettre, selon ses partisans, d'éliminer les bogues de mémoire présents dans le code écrit en C et C++. Cet été, Rust est entré dans le top 20 de l'indice de popularité Tiobe pour la première fois, avec un bon impressionnant, quittant la 38e place en 2019 pour la 20e au mois de juin 2020.

Il y a un intérêt croissant pour l'utilisation de Rust dans la programmation système afin de construire des plateformes majeures, notamment chez les grands groupes technologiques. Microsoft l'explore pour Windows et pour son infrastructure cloud Azure. Cette année, Apple a également montré de plus en plus d'intérêt à l'utilisation de Rust pour la programmation de bas niveau. « Nous recherchons un ingénieur logiciel expérimenté avec une passion pour les réseaux informatiques et la sécurité. Faites partie d'une petite équipe hautement qualifiée de services d'infrastructure réseau chez Apple », a déclaré Apple dans une offre d'emploi en septembre dernier.

Nom : téléchargement (2).png
Affichages : 3741
Taille : 4,7 Ko

« Les performances et la sécurité des systèmes que nous construisons sont essentielles. Nous nous connectons directement aux interfaces du noyau Linux de bas niveau, en utilisant des E/S asynchrones et des threads pour distribuer la charge de travail. Après une première incursion très réussie dans Rust, nous migrons une base de code établie de C vers Rust et créons de nouvelles fonctionnalités principalement dans Rust », a poursuivi l'entreprise. En outre, Rust a aussi longtemps eu pour objectif de remplacer le C dans le développement du noyau Linux.

En effet, au fur et à mesure qu'il a mûri, plusieurs développeurs ont exprimé un intérêt croissant pour son utilisation dans le noyau Linux. Au regard des possibilités offertes par Rust, certains proposent de réécrire le noyau Linux e n utilisant Rust. Cette année, lors de la conférence virtuelle Linux Plumbers en août 2020, les intervenants ont, une fois encore, eu le temps d’en discuter. Ils semblent être d'accord à l’unanimité, non pas pour réécrire le code existant en Rust, mais pour que le développement du noyau se poursuive en utilisant Rust. C’est-à-dire qu’ils envisagent un monde où les nouveaux morceaux de codes pourraient être écrits en Rust.

AWS utilise également Rust pour les composants sensibles aux performances dans Lambda, EC2 et S3. La division cloud d'Amazon, AWS, semble être séduite par les performances et promesses du langage, car il a annoncé cette semaine qu'il est dans l'optique de recruter de nouveaux développeurs Rust. Pour cela, l'entreprise a publié un article de blogue dans lequel elle a dit ce qu'il pensait du langage.

Pourquoi AWS aime-t-il Rust et comment entend-il aider la communauté du langage ?

En réaffirmant son intérêt à Rust, AWS a deux objectifs : intégrer davantage Rust dans ses produits, existants comme futurs, et contribuer de manière significative à la communauté du langage. Selon AWS, l'un des aspects les plus intéressants du langage de programmation Rust est qu'il rend les infrastructures incroyablement "ennuyeuses", mais ce n'est pas une mauvaise chose, dans ce cas. Le géant du cloud estime en effet que personne ne veut que son câblage électrique soit "excitant" ; la plupart d'entre nous préfèrent la sécurité que procure la possibilité d'actionner un interrupteur et d'avoir de la lumière à portée de vue.

« Pour des raisons similaires, chez AWS, nous construisons de plus en plus d'infrastructures critiques comme le Firecracker VMM en utilisant Rust, car ses fonctionnalités prêtes à l'emploi réduisent le temps et les efforts nécessaires pour atteindre la barre de sécurité élevée d'Amazon, tout en offrant des performances d'exécution similaires à celles du C et du C++. Bien qu'AWS bénéficie de Rust depuis plusieurs années, nous cherchons des moyens de contribuer de manière significative », a déclaré Matt Asay d'AWS.

« Rust nous aide à fournir des services rapides et robustes aux clients d'AWS à l'échelle d'Amazon, et nous nous engageons à renforcer davantage une communauté qui nous a beaucoup apporté, à nous et à nos clients. Cet engagement a inclus des contributions de code à Rust et Tokio, un runtime pour l'écriture d'applications asynchrones avec Rust, mais notre engagement envers la communauté Rust va au-delà du code » a déclaré Shane Miller, directrice principale du génie logiciel chez AWS.

« En partenariat avec plus de 5 500 contributeurs à Rust, nous contribuons de diverses manières, toutes destinées à permettre à AWS et à d'autres membres de la communauté Rust de construire des systèmes en toute confiance », a-t-elle ajouté.

Pourquoi AWS utilise-t-il Rust et qu'est-ce qu'il projette de faire à l'avenir ?

Matt Asay estime que, bien que la première version stable du langage ne soit apparue qu'en 2015, Rust est devenu exceptionnellement populaire. Pendant cinq années consécutives, il a été en tête de la liste des langages de programmation "les plus appréciés" de Stack Overflow, selon les réponses à une enquête menée auprès de plus de 65 000 développeurs. Dans le classement des langages de programmation de Redmonk, Rust s'est hissé dans le top 20, un exploit significatif compte tenu de la résistance de Java, C, JavaScript, etc.

Nom : téléchargement (1).png
Affichages : 1875
Taille : 5,1 Ko

Asay a déclaré que, de façon particulière, AWS aime Rust, car il aide l'entreprise à écrire des logiciels de réseau et d'autres systèmes hautement performants et sûrs au niveau de l'infrastructure. Le premier produit notable d'Amazon construit avec Rust, Firecracker, lancé publiquement en 2018, fournit la technologie de virtualisation open source qui alimente AWS Lambda et d'autres offres sans serveur. Mais AWS utilise également Rust pour fournir des services tels que Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon CloudFront, Amazon Route 53, et bien d'autres encore.

En outre, AWS a récemment lancé Bottlerocket, un système d'exploitation conteneurisé basé sur Linux et écrit en Rust. « Notre équipe Amazon EC2 utilise Rust comme langage de choix pour les nouveaux composants du système Nitro d'AWS, y compris les applications sensibles telles que Nitro Enclaves », a clarifié Asay. En gros, Asay estime que l'adoption de Rust par AWS se résume aux vertus cardinales dont il fait preuve : performance et fiabilité. Tout d'abord, Rust ne nécessite pas de runtime ou de collecteur de déchets, il est capable d'atteindre des performances d'exécution similaires à celles du C et du C++.

Dans le même temps, Rust utilise un système de type et un modèle de propriété stricts pour réaliser une vérification de la mémoire et de la sécurité de la concurrence au moment de la compilation, ce qui rend le coût des tests et de la validation des implémentations de Rust nettement inférieur à celui du C/C++. Carl Lerche, ingénieur principal d'AWS, a déclaré que Rust et Tokio donnent à AWS la possibilité d'écrire des services qui répondent rapidement, de manière fiable, et qui aident AWS à offrir une meilleure expérience au client.

Par ailleurs, pour AWS et Asay, « Rust ce n'est pas que du code ». « Rust s'attache vraiment à offrir une excellente expérience aux gens. À tel point qu'il a attiré vers la programmation de systèmes tout un tas de gens qui ne l'avaient jamais fait auparavant, moi y compris », a déclaré David Barsky, ingénieur en logiciel chez AWS. Selon Asay, c'est pour ces raisons et d'autres encore qu'AWS cherche d'autres moyens de participer à la communauté Rust.

AWS recrute de nouveaux talents Rust pour améliorer ses produits et contribuer à la communauté

AWS a annoncé le parrainage du projet open source Rust en 2019. Asay a déclaré que ce financement a aidé la communauté Rust à effectuer des tests de régression à l'échelle de l'écosystème avec Crater on Amazon EC2, par exemple. « C'était bien, mais nous voulions faire plus », dit-il. Ainsi, AWS a commencé à engager davantage de personnes (programmeurs, contributeurs et mainteneurs) de la communauté à la fois pour parfaire ses projets Rust, comme Tokio et le compilateur Rust, mais également pour explorer d'autres cas d'utilisations possibles de Rust.

« Nous ne nous contentons pas d'engager quelques personnes pour Tokio et le compilateur Rust », a expliqué Miller. « Rust est un élément essentiel de notre stratégie à long terme, et nous investissons pour fournir l'ingénierie de Rust à l'échelle d'Amazon. Cela comprend les outils de développement, les composants d'infrastructure, l'interopérabilité et la vérification ». Et, comme elle s'empresse de le souligner, Rust est un produit communautaire : il y a eu plus de 5 500 contributeurs à Rust depuis sa création, avec une moyenne de 350 contributeurs à chaque version.

AWS a déjà engagé des contributeurs comme Sean McArthur, Lucio Franco, Jon Gjengset et Lerche pour continuer à travailler côte à côte avec les développeurs de Buoyant, Dropbox, Confluent, vector.dev, fly.io, et bien d'autres. Cependant, il veut en recruter davantage. « Chez AWS, nous sommes reconnaissants de faire partie de cette communauté Rust accueillante et productive. Si vous souhaitez contribuer à rendre Rust encore meilleur, il existe plusieurs façons de vous impliquer. Et si vous souhaitez rejoindre notre équipe, veuillez consulter les postes vacants au sein de notre équipe Rust/Tokio », a écrit Asay pour AWS.

Source : Amazon

Et vous ?

Quel est votre avis sur le sujet ? Rust mérite-t-il toute cette attention ?
Que pensez-vous de l'intérêt croissant des grands groupes de la Tech pour Rust ?
Rust est-il vraiment en mesure de remplacer le C dans la programmation système ?
Avez-vous testé Rust et C/C++ ? Si oui, quelle comparaison faites-vous entre ces langages ?

Voir aussi

Les développeurs semblent d'accord à l'unanimité pour la prise en charge de Rust pour le développement du noyau Linux lors de la conférence Linux Plumbers

Après Microsoft et Linux, c'est au tour d'Apple de montrer de plus en plus d'intérêt pour l'utilisation de Rust dans la programmation de bas niveau

Bjarne Stroustrup, créateur du C++, s'exprime sur les systèmes distribués, la sécurité des types et sur des langages concurrents comme Rust et Java

Rust entre dans le top 20 de l'indice Tiobe de popularité des langages de programmation pour la première fois, C conserve la tête du classement et Java la seconde place

Le langage Rust est la meilleure chance offerte à l'industrie informatique pour la mise sur pied d'applications système sécurisées, d'après Microsoft