mardi, 23 avril 2024

L’expérience des développeurs ne doit pas s’arrêter au front-end

Crédit : Dreamstime

Avec l’attrait croissant des installations telles que code, devops et interne plates-formes, les concepteurs back-end sont bien mieux préparés que jamais pour créer des applications et des services côté serveur extrêmement résilients, performants et évolutifs. Ils sont également en train de se noyer.

La complexité des applications contemporaines nécessite que les développeurs back-end maîtrisent une gamme croissante d’outils, de technologies et de méthodes, depuis les principes fondamentaux de Linux, les langages de script, la journalisation et la surveillance, jusqu’à la mise en réseau basée sur le cloud, les maillages de services, l’observabilité, les clusters Kubernetes et les redoutables fichiers YAML.

Les concepteurs back-end pourraient profiter d’une pause ou, plus particulièrement, d’une bien meilleure expérience de conception. Heureusement, les outilleurs se dépêchent de le fournir.

De la réduction de la barre à l’infrastructure en tant que code, en passant par le lissage des flux de travail Kubernetes et les déploiements d’applications dispersées, jusqu’à la création de concepteurs zones de travail dans le cloud selon les besoins, une nouvelle ère d’emplois promet de faciliter la vie des développeurs qui travaillent côté serveur.

Les ingénieurs back-end ont aussi des sentiments

Dans le monde natif du cloud d’aujourd’hui, les développeurs de toutes sortes graviteront naturellement vers des outils plus intuitifs et satisfaisants à utiliser, même s’ils travaillent dans un domaine qui n’a généralement pas été optimisé pour la simplicité et la facilité d’utilisation. utiliser.

Alors que des entreprises comme Vercel et Netlify ont en fait rencontré beaucoup de succès en se concentrant sur l’expérience des développeurs front-end et en faisant abstraction du back-end, de nombreuses organisations voudront toujours un certain contrôle sur leur infrastructure de serveur. Les ingénieurs responsables de ce back-end pourraient également souhaiter une meilleure expérience.

« Il est naturel de voir des fournisseurs simplifier la tâche des développeurs, c’est-à-dire là où nous entrons dans des installations répondant à l’avancement des applications logicielles », L’analyste de RedMonk, James Guv, a déclaré à InfoWorld. « En fin de compte, vous avez besoin de plates-formes pour vous permettre d’être plus efficace sans manipuler manuellement les graphiques Helm, les opérateurs ou YAML. »

Améliorer l’expérience des développeurs back-end peut faire plus qu’améliorer la vie des développeurs back-end. Fournir des outils bien meilleurs et plus instinctifs peut permettre aux concepteurs back-end d’en faire plus, tout en éliminant les obstacles pour permettre à un plus grand nombre de développeurs de gérer leurs propres installations grâce à des abstractions réfléchies.

« Contrôle du concepteur sur installations n’est pas une proposition tout ou rien », a écrit l’experte de Gartner, Lydia Leong.

« L’obligation peut être répartie sur l’ensemble du cycle de vie de l’application, de sorte que vous pouvez tirer profit de « vous la construisez, vous l’exécutez » sans nécessairement parachuter vos concepteurs dans une nature sauvage et inconnue et leur souhaiter bonne chance pour survivre car ce n’est plus un « problème d’équipe d’infrastructure et d’exploitation ». »

En d’autres termes, « il est tout à fait acceptable de permettre à vos concepteurs un accès en libre-service complet aux environnements d’avancement et de sélection, et la possibilité de créer une infrastructure -des modèles de conception en tant que code pour la production, sans les rendre entièrement responsables de la production », compose Leong.

Pulumi : Apporter l’expérience des développeurs dans un pays oublié

Prenez Pulumi, qui vise à faire de la configuration de l’infrastructure quelque chose que n’importe quel développeur peut faire en opérant dans son langage de programme préféré, au lieu de quelque chose de propriétaire comme CloudFormation pour Amazon Web Services (AWS), Bicep pour Microsoft Azure ou YAML pour Kubernetes. Le moteur open source Pulumi configure ensuite les installations virtuelles et les points de terminaison pour le code à déposer.

Pulumi est, fondamentalement, une autre option pour provisionner les installations en tant que code, mais promet une courbe de connaissance moins profonde que des outils comme CloudFormation ou Terraform de HashiCorp.

Alors qu’il s’occupait d’outils de conception depuis plus d’une décennie chez Microsoft, le fondateur et PDG de Pulumi, Joe Duffy, a été frappé par la réalisation que « personne n’avait utilisé le niveau d’attention et d’amour pour l’espace d’infrastructure  » car ils avaient besoin d’avancement frontal. « Le cloud était une réflexion ennuyeuse et désagréable après coup », a-t-il déclaré à InfoWorld.

« La meilleure innovation que nous ayons eue était Terraform, qui est une technologie exclusive, alors que je voulais simplement une IDE et utiliser mon langage préféré, mais toujours utiliser le cloud au maximum », a déclaré Duffy.

L’expérience des développeurs est « la vie même » pour Pulumi, selon Duffy. « Nous voulons apporter une excellente expérience de développement dans un domaine qui n’en avait pas. C’est pourquoi nous utilisons des langages de base », a-t-il déclaré. « Nous souhaitons que cette expérience soit satisfaisante et non fastidieuse. »

Pour les ingénieurs d’installations, de plates-formes et de développement travaillant dans des environnements parsemés d’héritage, Pulumi permet aux développeurs d’installer des installations recyclables, avec des politiques et dépistage en tant que code. Pulumi vient d’annoncer une édition Service Critical pour les clients d’entreprise de ce type.

Pour les développeurs travaillant dans des environnements plus nouveaux et natifs du cloud, Pulumi leur permet d’être vraiment complets, mais sans avoir à découvrir la marque – de nouveaux langages ou des compétences back-end spécifiques à un domaine.

« Je voulais découvrir un service qui nous permette de concevoir des installations, non pas en composant du code de configuration et en exécutant un script, mais en tant que processus de développement d’applications logicielles , via du code et un flux de travail basé sur Git », a déclaré Andy Dang, ancien ingénieur AWS senior et cofondateur de la start-up d’observabilité WhyLabs, à InfoWorld.

WhyLabs s’est tourné vers Pulumi après Dang a découvert des alternatives d’infrastructure en tant que code existantes comme CloudFormation et Terraform trop complexes, notant que CloudFormation en particulier n’est « pas écrit pour la consommation humaine ».

Au lieu de cela, Dang souhaitait que les équipes de développement et d’ingénierie allégées de WhyLabs soient capable de « minimiser la quantité d’infrastructure-s les connaissances spécifiques dont le groupe a besoin, afin qu’ils puissent se concentrer au mieux sur leur élément particulier de la pile », a-t-il déclaré.

HashiCorp Waypoint : Construire un flux de travail constant pour les concepteurs

HashiCorp, créateur du célèbre outil d’infrastructure en tant que code Terraform, est une autre entreprise qui se lance dans la mêlée. Dans le but de faciliter le parcours des concepteurs pour créer et déployer leurs applications sur Kubernetes et Elastic Container Service (ECS) d’Amazon, HashiCorp a lancé Waypoint en 2020.

« Notre société pense que les développeurs souhaitent simplement publier », Chang Li, directeur du marketing produit chez HashiCorp, a informé InfoWorld.

Pour les aider à le faire, Waypoint utilise une couche d’abstraction et une interface faciles à utiliser pour les concepteurs et les opérateurs. Pour les concepteurs, cela signifie une exécution simple des processus de construction et de lancement, tandis que les opérateurs acquièrent une cohérence et une standardisation indispensables dans différents environnements, le tout en utilisant une seule commande : waypoint up.

« Notre principal public est les opérateurs », a déclaré Li. « À l’échelle de l’entreprise, les groupes d’exploitation se sentent obligés de standardiser un flux de travail à l’échelle de plusieurs plates-formes. Généralement, ils utilisent des outils CI/CD comme Jenkins ou Spinnaker et ils les trouvent trop lourds. »

Pour HashiCorp,  » Waypoint pourrait remplacer ces manuscrits ou ces flux de travail CI/CD personnalisés », a déclaré Li. « Ce doit être une expérience simplifiée, sans l’interaction compliquée avec les installations sous-jacentes. »

C’est cette même déception avec les outils CI/CD existants qui a poussé le fondateur de Docker, Solomon Hykes, à essayer de rendre CI/ CD plus convivial pour les développeurs avec son projet open source, Dagger.

Render : un mélange d’options d’hébergement Goldilocks

Fondé par l’ancien responsable du danger chez Stripe, Anurag Goel, Render ont l’intention d’offrir aux concepteurs un mélange Goldilocks de choix d’hébergement qui se situent entre des plateformes très opiniâtres comme Heroku et la complexité illimitée d’AWS.

Après avoir quitté Stripe, Goel s’amusait avec l’apprentissage automatique dans son temps supplémentaire. Tout en découvrant comment développer des modèles d’apprentissage automatique, il a vu des data scientists passer des journées à préparer leurs environnements de bloc-notes Jupyter. Au lieu de cela, Goel souhaitait « l’approvisionnement en un clic dans le cloud » et une expérience qui reflétait celle de l’intégration des paiements à l’aide de l’API Stripe.

« Je n’arrêtais pas d’être attiré par l’infrastructure et la productivité des développeurs », a-t-il déclaré InfoMonde. « À la base, Render automatise les devops. »

En pratique, les développeurs peuvent connecter leur référentiel GitHub ou GitLab à Render, qui commence alors à suggérer des commandes pour développer et démarrer votre application. Render est un service propriétaire et fonctionne sur AWS et Google Cloud entre-temps, avec une assistance bare metal à venir rapidement.

« Les gens nous inquiètent parce qu’ils pensent que Kubernetes est trop complexe, mais les fonctionnalités dont ils ont besoin sont sur Render puisque nous avons en fait construit au-dessus de Kubernetes d’une manière qui n’expose que ce qu’ils désirent », a déclaré Goel.

Où Render diffère des autres alternatives d’hébergement backend-as-a-service (BaaS) est qu’il n’apporte pas d’opinion sur la façon de créer et d’exécuter vos applications, qu’il s’agisse d’un site Web fixe, d’une tâche Cron ou de quoi que ce soit dans un conteneur Docker. « Nous ne poussons pas une idéologie spécifique sur la façon de créer des applications », a déclaré Goel.

Render n’est pas non plus le seul à adopter une approche BaaS centrée sur le développeur. Le projet open source Appwrite travaille sur une plate-forme auto-hébergée permettant aux développeurs d’exécuter rapidement des applications Web, mobiles et Flutter via un ensemble d’API sélectionnées.

Encore : apporter le back-end Spotify approche des masses

Une autre tâche open source plus actuelle visant à améliorer l’expérience des développeurs pour les travaux d’ingénierie back-end est la répétition. Intégré à Go, Encore est un framework back-end qui résume les tâches de configuration manuelles pour les environnements cloud.

Encore a l’intention d’aider les développeurs à rester dans un état de circulation en automatisant les actions de configuration manuelles pour le provisionnement des installations cloud, en créant un passe-partout code, l’instrumentation de l’application et la production de documents. Les développeurs peuvent ensuite déployer sur AWS, Azure ou Google Cloud.

La tâche a été fondée en 2021 par les anciens ingénieurs de Spotify André Eriksson, Marcus Kohlberg et Horia Jurcu, en plus de l’ancien ingénieur de Monzo Dominic Black et l’ancien ingénieur Google Stefan Ekerfelt. Les créateurs affirment qu’Encore était étayé par leurs frustrations partagées en créant une infrastructure back-end distribuée compliquée et la répétition continue de tâches back-end particulières.

Encore s’efforce de « conserver les bonnes parties du cloud et de changer ce à quoi les concepteurs sont confrontés, leur permettant de développer des articles et de ne pas être coincés dans les marécages de YAML et de tuyaux », a déclaré Eriksson à InfoWorld.

La start-up a levé 3 millions de dollars tour de table mené par Crane Endeavour Partners et a rendu son moteur de développement back-end open source généralement disponible en avril 2022.

Gitpod : environnements de conception à la demande

Ensuite, il y a Gitpod, un travail open source aux prises avec le problème extrêmement particulier d’offrir aux développeurs leur environnement d’avancement local bien usé, mais prêt à passer immédiatement dans le cloud.

Alors que l’industrie a surtout bougé aux pipelines de développement et de mise en œuvre d’installations automatisées, le cofondateur Johannes Landgraf tho Bien qu’il soit « un peu fou » que les concepteurs continuent de « répliquer des environnements de développement qui reposent sur des systèmes informatiques individuels et subissent une dérive de configuration ».

Gitpod commence par un fichier YAML qui décrit à quoi doit ressembler l’environnement du concepteur, de l’IDE à la base de données, total avec compilateurs, serveurs de langage et système d’exploitation. « Tout ce qui repose sur votre ordinateur régional que nous portons sur le cloud avec la même expérience à laquelle les concepteurs sont habitués », a déclaré Landgraf.

Gitpod s’intègre à GitHub, GitLab et Bitbucket et pré-construit tout vos projets chaque fois que le code est poussé vers votre référentiel, comme un serveur de combinaison continue. Lorsque les concepteurs lancent un environnement, tout est actuellement initialisé et prêt à fonctionner. Ils n’ont pas à attendre que les dépendances se chargent et que les scripts se développent.

L’expérience des concepteurs fait « partie de notre ADN de base », a déclaré Landgraf. « Notre objectif est d’éliminer autant de frictions que possible pour que les concepteurs fassent ce pour quoi ils sont payés et ce qu’ils aiment, c’est-à-dire être innovants, écrire du code et développer de la valeur, sans s’embarrasser de choses qui les ralentissent. »

Le projet open source a en fait déjà connu une bonne traction, et GitHub a rapidement emboîté le pas en publiant son propre environnement de développement basé sur le cloud appelé Codespaces en 2021.

Tous les ingénieurs de GitHub travaillent désormais dans Codespaces , où « les environnements de développement sont provisionnés à la demande pour la tâche à accomplir » et les concepteurs peuvent « produire des Codespaces fiables et préconfigurés, amorcés et préparés pour l’avancement de GitHub.com en 10 secondes », selon le directeur principal de l’ingénierie de GitHub, Cory Wilkerson.

Comment AWS, Azure et Google Cloud simplifient la construction d’installations

Les trois grands fournisseurs de services cloud ont toujours tendance à utiliser des primitives plutôt que des outils avisés. Cependant, en 2015, AWS a déménagé pour permettre aux entreprises de configurer leur propre ensemble de modèles d’environnement reproductibles avec l’introduction d’AWS Proton. Cet outil en libre-service permet aux développeurs de déployer sur une infrastructure prête pour la production qui a déjà été produite et approuvée par un devops expert ou un groupe de plates-formes.

Proton varie d’options back-end entièrement gérées comme AWS App Runner ou AWS Amplify, qui va plus loin en gérant l’ensemble des pipelines de configuration, de mise en réseau, d’équilibrage de charge et de publication pour les applications Web, mobiles ou conteneurisées à exécuter dans le cloud.

Google et Microsoft proposent des solutions similaires des services back-end avisés, tels que Google Firebase et Azure App Service, mais pas la capacité de produire des modèles d’environnement spécifiques à l’entreprise proposés par Proton.

Permettant un véritable développement en libre-service

Même si les concepteurs disposent d’un nombre croissant d’excellentes alternatives pour faire abstraction de tous leurs travaux d’avancement en arrière-plan, il y aura toujours un besoin important d’outils permettant aux entreprises de fournir et de gérer leurs propres installations et bien brochure pour les développeurs t o utiliser.

« Ces outils n’en sont encore qu’à leurs débuts, mais je constate une adoption rapide car ils résolvent deux problèmes typiques dont nous entendons beaucoup parler : l’informatique d’entreprise qui souhaite verrouiller les environnements et empêcher les concepteurs de tirer des choses non réglementées dans l’organisation », a déclaré l’ancien expert de Gartner Fintan Ryan à InfoWorld.

Si ces outils peuvent également faire abstraction du travail impliqué dans de nombreuses tâches d’ingénierie et d’avancement en arrière-plan, alors ils prendront place non seulement dans le cercle des gagnants de cette catégorie émergente, mais aussi dans le cœur et l’esprit des constructeurs d’applications et de services back-end.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici