Plus les technologies web évoluent, plus des couches technologiques sont ajoutées. Ces strates d’encapsulation posent la question de la pérennité des applications. En effet, toutes les couches sont à maintenir, et ce n’est pas toujours une mince affaire !
La pérennité des applications est un sujet qui passe souvent à la trappe mais qui est pourtant essentiel ! On en parle aujourd’hui sur AXOTalks.
Dans le monde du développement web, la pérennité désigne la capacité d’une application à être maintenue correctement et efficacement sur le long terme.
Des applications faites pour durer des décennies jusqu’à l’avènement du “quick and dirty” au milieu des années 2010 : le cycle de vie des projets informatiques a beaucoup évolué ces dernières années. Aujourd’hui, on a tendance à faire marche arrière.
Depuis longtemps chez AXOPEN, on n’est pas convaincus par l’idée de code jetable.
Tester l’appétence marché ou la fonctionnalité avec des applications codées vite et mal, ce n’est plus une si bonne idée que ça étant donné le temps qui peut être déployé par la suite pour la maintenance, voire perdu car l’application pourra être tout simplement bonne à jeter.
Malheureusement, le sujet est souvent laissé de côté et quand on se penche dessus, c’est trop tard ! Souvenez-vous des technologies Flex, de tous ces frameworks (hyper cools) abandonnés après seulement quelques années.
Ne sous-estimons pas le pouvoir de l’inertie : ce qui fait qu’une technologie ne va pas être abandonnée, c’est en premier lieu, son adoption par le marché.
C’est pourquoi des technologies plus anciennes mais très solides ont moins de chance d’être délaissées. Un bon exemple est celui de Java ou du C qui concentrent tellement de développements que le langage a peu de chance d’être laissé à l’abandon. On peut aussi compter sur les communautés qui aiment l’open source et qui œuvrent pour continuer le support.
Ne pas être les premiers à partir sur de nouvelles technologies ! Même si c’est très tentant, mieux vaut attendre que le marché nettoie un peu.
Utilisez le moins de librairie possible pour ne pas avoir de mauvaises surprises. Vous pouvez aussi vous appuyer sur les gestionnaires de package. Mais less is always better quant au choix des frameworks et librairies.
Les montées de version concernent toutes les couches technologiques : système d’exploitation, interpréteur du langage, machine virtuelle, code et framework. Chacune de ses strates a son propre cycle de vie et peut donc avoir une montée de version majeure, mineure, correctif de bug, sécurité, etc.
Les langages, JavaLangage de développement très populaire !, C#, JavaScript, ou autre, évoluent en général un peu moins vite que les autres. Les librairies et frameworks innovent plus vite, enfin le code se transforme au rythme des applications. Le challenge est de maintenir toutes ces couches à jour. On comprend vite que moins on a de couches et plus c’est facile à maintenir.
Avant le cloud, ce qui était en dessous du code était mis à jour par les équipes infrastructure. Maintenant, avec notamment Azure, AWS et les conteneurs : les mises à jour se font automatiquement.
L’avantage majeur est qu’on n’a plus à mettre les mains dans le cambouis, mais l’inconvénient est qu’on ne maîtrise plus la vitesse de mise à jour.
On est pour le moins dépendant des rythmes imposés par ces fournisseurs de cloud. Il convient donc de le prendre en compte dès le début du projet comme un impondérable et donc d’adapter son organisation pour le prendre en compte.
Pas de panique : très souvent les technologies supportent quelques versions et peuvent être rétrocompatibles.
Enfin, gardez en tête qu’en informatique, il y a souvent une nouvelle version tous les six mois. Cependant, pour les versions LTS (pour long time support, c’est-à-dire la voiture-balai de la techno), comptez environ 3 ans. La bonne approche est souvent de se raccrocher à ces cycles LTS pour limiter les mises à jour sans pour autant être largué.
On ne vous conseillera jamais assez de faire de la veille et de suivre petit à petit les évolutions des technos. Pour ça, vous pouvez nous suivre sur AXOTalks, LinkedIn et écouter nos podcasts :)
D’ailleurs, on a fait un podcast sur le sujet de la pérennité. Philippe, Arthur er Ferhat partagent leur avis en un peu de plus de 30 minutes. Pour l’écouter, c’est par ici :
Découvrez la planche #18 !
Hébergement, monitoring, prix... Posez-vous les bonnes questions pour choisir l'infrastructure de votre application web.
API Kong Gateway, qu’est-ce que c’est et comment ça fonctionne ? Démonstration !