Les architectures application ont évolué plusieurs fois depuis les débuts de l’informatique. Pour certaines entreprises de longue date, elles en sont à leur cinquième architecture application distincte. De nombreuses personnes exploitent et maintiennent des applications dans chacun d'eux aujourd'hui. En effet, les résultats de notre prochain rapport sur l’état des services application en 2020 indiquent que c’est la réalité dans laquelle la plupart des organisations opèrent :
Chaque architecture d'application a un impact considérable sur tout ce qui se passe « en amont » : architectures réseau, technologies, sécurité et services application (de distribution). Au cœur du dernier changement architectural, les microservices, se trouve un concept que nous pouvons appeler « atomisation » ou « componentisation ». Les deux font essentiellement référence au processus de division d’une application en composants plus petits et gérables dans le but d’améliorer les délais de mise sur le marché, la qualité du code et l’agilité.
Dans les générations précédentes d’architectures d’applications, le réseau restait le point le plus efficace pour insérer certains types de services application . Jusqu’à récemment, le proxy était le principal moyen par lequel ces services étaient insérés dans le chemin des données qui s’étend de l’application au client.
Mais ce chemin des données se décompose au rythme des architectures application modernes. Il couvre désormais Internet, les propriétés cloud et le centre de données. Il inclut de plus en plus le client comme un composant essentiel des fonctionnalités de application .
Il n’est donc plus optimal de s’appuyer uniquement sur un chemin des données unique et connu pour insérer des services application . De plus, étant donné que de nombreux chemins de données émergents ne sont pas adaptés à une plate-forme basée sur un proxy, nous devons nous tourner vers d’autres points d’insertion potentiels possibles pour faire évoluer et sécuriser les applications modernes.
La notion d’« insertion » de services application dans un chemin des données nous donne un moyen simple de décrire cette vision moderne du déploiement de services application : les points d’insertion.
Dans ce modèle, nous faisons une distinction entre un point d’insertion traditionnel (le proxy) et d’autres emplacements tels que le serveur d’application/web et l’appareil client. Chaque emplacement dispose de plusieurs formulaires adaptés à l'insertion du service application .
Au point d'insertion réseau traditionnel du réseau, vous trouverez des services application basés sur un proxy ainsi que leur équivalent moderne : le proxy side-car qui constitue la base de certaines solutions de maillage de services. Les deux sont déployés « dans le réseau » et nécessitent donc un accès à cet emplacement quel que soit le facteur de forme (conteneur, logiciel, matériel).
Les proxys restent un moyen efficace d’insérer des services application . L’impact le plus important des architectures d’applications modernes sur les proxys aujourd’hui est leur concentration. Alors que les proxys hébergent traditionnellement des services application pour de nombreuses applications, les architectures actuelles exigent une approche davantage par application. Ainsi, les proxys sont intégrés aux applications et à leur infrastructure et ont tendance à avoir une approche beaucoup plus granulaire que les solutions proxy précédentes.
Étant donné que toutes les applications et tous les environnements n’offrent pas cet accès (pensez au SaaS), nous recherchons des points d’insertion alternatifs où les services application pourraient être déployés. Nous appelons vaguement ces points alternatifs « sans proxy » car ils ne nécessitent pas ou ne dépendent pas d’un proxy pour le déploiement et l’exécution. Ces services peuvent prendre la forme d’agents traditionnels (logiciels déployés dans le cadre du serveur ou de application) ou ils peuvent prendre une forme plus conviviale pour les développeurs d’options basées sur du code. Le code injecté tel que les bibliothèques JavaScript ou les plug-ins de serveur Web et de navigateur sont de bons exemples de points d’insertion dans ces emplacements alternatifs.
De nombreux services application peuvent être fournis « en tant que service », c’est-à-dire hébergés sous la forme d’une offre basée sur le cloud. L'insertion nécessite toujours l'accès pour invoquer ces services ; il est donc rare que de tels services soient inclus dans une application sans une certaine forme d'insertion via du code ou un artefact de configuration.
Compte tenu de ce nouveau paysage façonné par les architectures application modernes, la réponse à la question de savoir où les services application s’intègrent est, de plus en plus, partout où une application (ou une partie d’une application) peut résider. À mesure que les architectures d’applications se décomposent, les services d’applications utilisés pour faire évoluer, sécuriser et accélérer la livraison des composants application se décomposent également.
L’extension des points d’insertion n’est qu’une des étapes évolutives nécessaires pour répondre aux besoins futurs en matière de télémétrie et d’automatisation plus intelligente. Alors que les organisations continuent de progresser sur la voie de la transformation numérique , les services d’application continueront également de se développer et d’évoluer.