La complexité de Kubernetes et le manque de connaissances qui existe dans l’industrie du développement logiciel constituent un sérieux défi. Passer à une plate-forme d’application moderne basée sur Kubernetes présente de nombreux avantages, et bien que les ensembles d’outils qui améliorent l’expérience des développeurs soient formidables, un changement culturel est toujours nécessaire.
Les membres de VMware Communauté Tanzu Vanguard, qui sont des praticiens experts dans des organisations telles que DATEV, OneMagnify et Terasky, s’investissent dans la promotion d’expériences de développement positives et efficaces. Leurs idées fournissent un plan directeur utile aux entreprises alors qu’elles cherchent à comprendre les défis auxquels les développeurs sont confrontés aujourd’hui et à naviguer dans les changements organisationnels nécessaires pour lutter contre la complexité croissante de la modernisation des applications et du développement de logiciels aujourd’hui.
Le défi des développeurs : technologie et état d’esprit
Au fur et à mesure que nous passons à des architectures d’applications distribuées et que nous travaillons avec plusieurs clouds, la complexité sous-jacente s’est considérablement accrue. Ce qui était auparavant un simple appel système traverse désormais le réseau, ce qui augmente la latence, la sécurité et bien d’autres choses que les développeurs doivent garder à l’esprit. Une grande partie de la technologie utilisée dans les centres de données aujourd’hui n’a jamais été destinée à être utilisée de manière DevOps, déclare Scott Rosenbergchef de pratique, technologies infonuagiques et automatisation chez TeraSky. Souvent, il nécessite un administrateur pour être géré et ne dispose pas d’une isolation suffisante des locataires. Pour connecter ces services au cloud, vous devez créer des concepts de libre-service et d’isolation autour de ces services qui leur permettraient d’être utilisés ou même connectés à un cloud. Cela signifie que l’adoption d’un déploiement basé sur le cloud nécessite des adaptations, des modifications et des décennies de processus, de pratiques et d’outils établis.
En outre, les obstacles organisationnels comprennent souvent la peur de l’inconnu des nouvelles technologies et méthodologies, dit Kerry Schafferdirecteur informatique chez OneMagnify. Les progrès peuvent rencontrer une résistance organisationnelle en raison de contraintes budgétaires et d’objectifs ou de communication peu clairs. Les dirigeants organisationnels doivent mener leurs équipes vers la modernisation, même si le processus de changement peut être stressant.
Du point de vue des personnes, le principal défi consiste principalement à ce que les développeurs gèrent la peur, déclare Jürgen SussnerSenior Cloud Platform Engineer & Evangelist chez DATEV. Le développeur qui a fait une décennie de développement juste, en s’appuyant sur un administrateur exécutant ses applications, a naturellement peur du concept « vous le construisez, vous l’exécutez ». Ils ne savent pas ce que cela signifie d’utiliser l’application, d’accéder aux systèmes de production ou d’être appelé au milieu de la nuit lorsque l’application échoue. D’un autre côté, l’administrateur dont la mission était de protéger la stabilité a également peur de laisser des centaines de développeurs sur leurs systèmes, peut-être sans en savoir suffisamment à ce sujet.
Il y a une transition d’un développeur à un ingénieur logiciel pour l’ensemble du cycle de vie de l’application et d’un administrateur à un coach, non responsable du cycle de vie de l’application mais travaillant comme coach et facilitateur de self-services. Si vous ne pouvez pas créer une expérience de développeur réussie, vous ne pouvez pas l’acheter. C’est un processus constant d’amélioration, de rétros et d’expérimentations. C’est un changement dans notre façon de travailler.
Surmonter les défis de la complexité
La liberté et la flexibilité offertes par Kubernetes sont incroyables, mais la complexité de Kubernetes est également trop lourde à mettre directement sur nos développeurs, car ils doivent pouvoir se concentrer sur ce pour quoi ils sont payés, à savoir écrire du code et fournir des applications qui aident les affaires. En améliorant l’expérience des développeurs et en éliminant les complexités sous-jacentes, nous pouvons améliorer le délai de mise sur le marché et simplifier et améliorer la vie des développeurs et de l’équipe d’exploitation. Le passage à des systèmes conçus pour des applications modernes offre aux clients une meilleure visibilité sur leurs applications, ce qui accélère les problèmes de dépannage et les temps de correction des bogues, ce qui a un impact énorme sur l’entreprise dans son ensemble.
Dans notre monde moderne, il y a un besoin de communication et de collaboration entre les clients et leurs clients. Cela signifie des données centralisées, accessibles de n’importe où, avec des processus métier basés sur la technologie cloud. Des outils comme VMware Tanzu ont aidé les clients à progresser dans leur parcours de modernisation des applications et ont vu une vitesse de livraison incroyable pour les nouvelles fonctionnalités et applications sans précédent dans le monde des applications monolithiques. De plus, les développeurs sont ravis de travailler avec les nouvelles technologies, avoir Tanzu peut aider à attirer les meilleurs talents, dit Kerry Schaffer, directeur informatique chez OneMagnify.
Enfin, il est important pour les organisations de créer un environnement où les équipes peuvent assumer la responsabilité de leur produit et où les dirigeants ne sont pas un obstacle sur leur chemin, mais plutôt un guide qui les aide sur leur chemin. Avoir un bon ensemble de services et de documentation aide, mais aussi un soutien et une intégration efficace sont tout aussi importants. La définition d’un contrat de plate-forme peut être utile pour définir les responsabilités de l’équipe de développeurs ainsi que les responsabilités de l’équipe de la plate-forme ou des équipes du centre de données. Cela peut aider à instaurer la confiance, en définissant des rôles clairs et en veillant à ce que les membres de l’équipe ne soient pas les derniers dans la chaîne en cas d’échec.
La modernisation des applications n’est pas seulement une question de technologie. Les plates-formes modernes basées sur le libre-service et les architectures d’application sont bien sûr essentielles, mais l’état d’esprit des équipes DevOps doit également être une considération centrale. La plus grande partie de la modernisation des applications consiste à transformer les applications en éléments facilement gérables et à laisser une équipe assumer la responsabilité de cette partie et de l’ensemble du cycle de vie, de l’idée aux commentaires des clients jusqu’au retrait de l’application. La modernisation des applications ne consiste pas à mettre en place de nouvelles technologies, mais à disposer des outils, de la culture et des personnes appropriés pour réagir rapidement aux conditions changeantes.
Pour en savoir plus, rendez-nous visite ici.
Source link