Les applications sont les moteurs de la productivité numérique, les bêtes de somme qui transforment la puissance de traitement brute en outils utiles qui facilitent la vie quotidienne et qui ont transformé le travail, les voyages, les divertissements et l’industrie. Ces logiciels peuvent aller des applications qui aident à commander la livraison de nourriture, à guider les satellites dans l'espace, à alimenter les chaînes de montage et à fournir le traitement de texte qui a aidé à rédiger ce blog.
Les applications ont considérablement évolué au fil du temps, passant de programmes de base conçus pour des tâches de calcul spécifiques à des applications modernes dynamiques alimentées par l'IA et pilotées par des entrées dans des environnements distribués. En examinant la manière dont les applications ont évolué au cours des dernières années, nous comprenons comment l’informatique s’est adaptée aux besoins changeants des utilisateurs, aux exigences commerciales et aux innovations technologiques pour façonner notre monde numérique. Mais à mesure que les applications sont devenues plus complexes, connectées, personnalisées, accessibles et intelligentes, la surface d’attaque des application a augmenté, exposant les applications à un risque accru de menaces malveillantes et d’exploitation. En termes simples, la surface d’attaque élargie offre un champ d’opportunités plus vaste aux cybercriminels, qui ont suivi le rythme de leurs propres innovations pour percer les défenses cybernétiques les plus récentes et les plus performantes.
Les applications ayant évolué des applications monolithiques des centres de données physiques aux applications d'IA hautement distribuées d'aujourd'hui, une nouvelle génération d'ADC est nécessaire pour faire converger les capacités de sécurité des applications hautes performances et de distribution d'applications dans une seule plate-forme.
Ce paysage de menaces de plus en plus complexe et en expansion est encore compliqué par l’absence d’une plate-forme capable de fournir une distribution et une sécurité cohérentes des applications et des API. Les contrôleurs de distribution application (ADC) ont joué un rôle central dans la pile pour permettre les fonctions de distribution d'applications, mais les ADC doivent désormais évoluer pour répondre aux besoins changeants des environnements actuels. Ensemble, ces facteurs stimulent la demande de nouvelles stratégies plus complètes qui combinent la sécurité des applications et les services de distribution application pour offrir une protection plus complète et une gestion plus simple et plus unifiée dans divers écosystèmes informatiques.
Explorons comment nous sommes arrivés à ce point, en commençant par les premières applications des années 1940.
Les premiers ordinateurs des années 1940 et 1950 n’utilisaient pas vraiment applications telles que nous les connaissons aujourd’hui. Ils étaient en grande partie programmés à l’aide d’un langage machine et de cartes perforées. Les premières applications— ce que nous pourrions appeler les Applications 1.0 — ont grandi à côté des ordinateurs centraux centralisés des années 1960 et 1970, qui exploitaient des applications monolithiques conçues pour gérer des tâches telles que la paie, l’inventaire et le traitement de données de base. Ces premières applications étaient limitées à une seule base de code, à de très gros blocs de code unitaires qui fonctionnaient dans des centres de données isolés ou des bureaux d'entreprise. Imaginez un château isolé sur une colline protégé par de hauts murs et des douves, où les travailleurs se rendent pour accéder à des ressources informatiques centralisées utilisant des langages informatiques comme FORTRAN et COBOL.
Une avancée vers le modèle application monolithique est arrivée avec les applications à trois niveaux, qui divisaient les ressources informatiques en trois couches fonctionnelles distinctes, chacune avec des applications séparées mais interconnectées. La couche de présentation, ou l'interface utilisateur, était régie par des applications de bureau telles que des logiciels de productivité des travailleurs (bonjour, WordStar), tandis que la couche logique métier comprenait un serveur application qui traitait les demandes des utilisateurs et effectuait des calculs. La couche de données, ou base de données, stocke et gère les données.
Bien que les applications à trois niveaux offrent davantage de modularité et de flexibilité que les applications monolithiques, ce modèle reste dépendant de l’infrastructure physique du centre de données et des ressources sur site. Les applications monolithiques et à trois niveaux restent la norme dans certains secteurs, notamment la santé, la banque et le gouvernement, où les systèmes existants répondent à des exigences réglementaires strictes et où les applications critiques ne peuvent pas se permettre de temps d'arrêt.
L’essor du commerce électronique dans les années 1990 a marqué le début de l’ère des dot-com. Les fournisseurs de services application (ASP) proposaient des services d'hébergement Web de type cloud sur le World Wide Web où les entreprises pouvaient lancer des applications Web HTML sans avoir à mettre en place leur propre infrastructure. Les applications Web étaient disponibles dans le monde entier, partout où un utilisateur disposait d’un accès par ligne commutée ou à haut débit. Ces applications ont été divisées en trois couches : Les consommateurs utilisaient Internet et des logiciels de navigation Web sur leurs ordinateurs personnels pour visiter des applications Web hébergées sur des sites ASP, tandis que les serveurs de base de données de l'ASP géraient l'achat et le stockage des données clients. Les applications Web sont toujours dominantes dans le commerce de détail en ligne et ont joué un rôle déterminant dans la conduite des opérations de commerce électronique sur le Web.
Le début des années 2010 a été l’ère des perturbations du cloud, de nombreux pronostiqueurs prédisant la mort du centre de données sur site et l’ascension de l’informatique basée sur le cloud. Alors que l’on parle de transférer l’ensemble de l’informatique vers le cloud, de nombreuses applications ont été modernisées pour vivre dans des environnements cloud ou développées dans le cloud lui-même : applications cloud natives.
Ces applications cloud natives ont été optimisées pour l'évolutivité et les performances du cloud, construites dès le départ sur des architectures de microservices, qui ont introduit un autre changement de paradigme dans l'évolution des applications. Les applications basées sur les microservices n’étaient plus des blocs de code autonomes et unifiés, mais assemblées à partir de petits microservices déployables indépendamment, chacun exécutant une fonction unique et pouvant communiquer avec d’autres microservices via des API. Les microservices modulaires ont été orchestrés dans des applications au sein de conteneurs portables, qui sont des instances informatiques virtualisées, autonomes et capables de fonctionner de manière cohérente dans différents environnements. Les applications basées sur des microservices offrent de nombreux avantages par rapport aux applications monolithiques ou à trois niveaux, notamment un développement d'applications plus rapide, une évolutivité améliorée, une flexibilité accrue et la réutilisabilité des services.
Cependant, ces microservices de composants sont extraits de bibliothèques de cloud public et d’autres plates-formes distantes et relayés via des API ou d’autres mécanismes de communication. Ces éléments dispersés étaient difficiles à gérer et l’exposition de l’API augmentait la surface d’attaque de l’application, ouvrant la porte à des intrusions sur le réseau lors de la transmission de données et à des vulnérabilités potentielles dans les bibliothèques tierces.
Aujourd’hui, les applications connaissent un autre changement de paradigme. La mort annoncée du centre de données a été grandement exagérée et de nombreux portefeuilles d’organisations actuels conservent un mélange d’applications traditionnelles et modernes qui s’exécutent dans des environnements hybrides et s’appuient sur des ressources sur site, en périphérie et dans le cloud. Cela complique encore davantage la nécessité d’une plateforme cohérente pour consolider la livraison et la sécurité des applications et des API où qu’elles se trouvent.
De plus, les applications sont de plus en plus complexes et s’appuient non seulement sur des microservices basés sur le cloud, mais également sur des flux de données en temps réel et de nouvelles formes de saisie. Pensez à une application de site Web de voyage typique. En plus des photos et du contenu alléchants sur la destination que vous avez choisie, vous disposez de moteurs en temps réel accessibles via API pour réserver des chambres d'hôtel, des vols aériens et des locations de voitures, de liens vers des prévisions météorologiques en direct et de fonctionnalités de cartographie interactive. Ces applications modernes sont hautement interconnectées, multi-sources et dynamiques, s’appuyant sur des données provenant de clouds hybrides et d’environnements distribués pour offrir une expérience client robuste.
La complexité – et la surface d’attaque – ne font qu’augmenter lorsque l’IA est ajoutée à ces applications déjà hautement intégrées. Les services basés sur l'IA, qui exploitent les données provenant de réseaux et d'appareils interconnectés, peuvent inclure des moteurs de recommandation ou des chatbots ; un site Web de voyage peut suggérer des destinations et des activités personnalisées en fonction de profils d'utilisateurs en temps réel et d'analyses prédictives, ou proposer de surveiller des algorithmes de tarification dynamique.
Les applications d’IA gèrent des quantités massives de données et utilisent des modèles de trafic complexes, envoyant des demandes importantes et fréquentes aux magasins de données d’entreprise et aux modèles d’IA hébergés dans les usines d’IA. Les charges de travail d’IA sont généralement déployées sur des infrastructures distribuées, notamment des clouds publics, des appareils périphériques et des systèmes hybrides, exposant les applications à des risques de sécurité des données , à des attaques adverses sur les modèles d’IA et à des vulnérabilités de l’infrastructure. Ces défis rendent nécessaire de fournir une sécurité complète pour les applications riches en API unifiées avec des services de gestion du trafic et de diffusion d’applications hautes performances qui prennent en charge les applications et les charges de travail d’IA modernes, quel que soit l’endroit où elles sont déployées.
L'histoire des applications est à bien des égards l'histoire de l'informatique elle-même, évoluant de la résolution de calculs mathématiques de base dans les années 1940 jusqu'aux applications complexes et dynamiques d'aujourd'hui, alimentées par l'IA et pilotées par des entrées provenant d'une galaxie de systèmes distants. L’histoire des application se reflète également dans l’accessibilité et l’omniprésence croissantes du matériel informatique. Les applications sont passées d'une utilisation sur des ordinateurs centraux de la taille d'une pièce, que seuls des experts pouvaient utiliser, à des ordinateurs de bureau et des ordinateurs portables dotés d'interfaces graphiques pour un usage personnel et de divertissement, et à des appareils mobiles, pilotés par des applications Web et mobiles accessibles partout et alimentés à la fois par des écrans tactiles et des commandes vocales.
Cependant, ces applications de plus en plus intelligentes et dynamiques s’appuient sur des réseaux et des connexions sensibles à un large éventail de risques de sécurité, nécessitant des mesures d’atténuation de sécurité en constante évolution et des ADC optimisés pour les environnements distribués. Ce qu’il faut, c’est une convergence des fonctions critiques de livraison et de sécurité des applications pour mieux gérer ce nouveau paysage d’applications traditionnelles, d’applications modernes et d’applications basées sur l’IA, toutes fonctionnant dans un environnement distribué. Nous pensons que les ADC sont la technologie appropriée pour gérer cela. Mais pour remplir ce rôle, les ADC devront évoluer pour contribuer à réduire la complexité opérationnelle et les risques associés aux écosystèmes numériques disjoints d’aujourd’hui.
Pour en savoir plus, lisez notre article de blog précédent dans la série « Réinventer l'ADC pour répondre aux exigences d'une infrastructure applicative en évolution ». Restez également à l'écoute de notre prochain blog pour découvrir comment la sécurité des application a évolué en fonction des changements dans les architectures application et pourquoi cela exige une nouvelle ère d'ADC.