Plateforme d'applications
Une plateforme d'applications est un ensemble de services sur lesquels reposent les programmes informatiques (applications) pour exécuter les opérations standard. Elle englobe cinq domaines principaux : outils de développement, services d'exécution, services de données, systèmes d'exploitation et services du cloud.
Outils de développement : Il existe plusieurs sortes d'outils de développement, qui répondent chacun aux besoins spécifiques des développeurs. Par exemple, Appian offre une plateforme de développement « low-code » combiné avec une solide gestion des processus. Microsoft PowerApps propose des fonctions similaires et relie entre eux des services importants tels qu'Office 365, SQL Server et Dropbox. D'autres plateformes d'applications telles que Mendix et OutSystems permettent de développer et de tester des logiciels de bout en bout pour les entreprises avec la création d'applications visuelles et des interfaces utilisateurs globales.
Services d'exécution : Ces services sont importants pour les fonctions quotidiennes des applications. Ils sont souvent liés aux options de déploiement d'applications, par exemple les fournisseurs de cloud (notamment Microsoft Azure), qui peuvent héberger des applications sur des machines virtuelles (VM) ou dans des conteneurs. Ces derniers sont de plus en plus importants pour l'exécution, car les développeurs peuvent regrouper et implémenter des composants d'application complets sous la forme d'images. Dans les logiciels des plateformes d'applications, les conteneurs permettent d'accélérer les cycles de développement, comme dans les démarches Agile et DevOps. Certains outils tels que PowerShell peuvent être considérés comme des services d'exécution qui donnent aux administrateurs les moyens de configurer et de gérer les systèmes sous-jacents.
Services de données : Ces services aident les applications à traiter et stocker des informations. Ils fonctionnent en parallèle avec les services d'exécution et interprètent les informations à l'aide des données fournies par les outils de développement ou provenant du cloud. Storage Spaces de Microsoft est un exemple de service de données. Microsoft PowerApps peut fonctionner, par exemple, avec Common Data Service de Microsoft pour offrir une plateforme commune aux instances de données des entreprises.
Systèmes d'exploitation : Les systèmes d'exploitation, tels que Linux, Windows 10 et Windows Server 2016, fournissent les différentes ressources nécessaires à l'exécution des applications, notamment les systèmes de fichiers, la gestion de la mémoire, l'interface utilisateur (pour lancer et gérer les applications), la prise en charge multitâche et la capacité d'interagir avec le matériel sous-jacent.
Services de cloud computing : Les services de cloud offrent des fonctions auxquelles on accède à distance. Les applications peuvent être déployées dans des instances du cloud telles que les VM et les conteneurs, mais le cloud propose également de nombreux services prenant en charge leur fonctionnement. iCloud Drive d'Apple est un exemple de stockage en cloud qui stocke et traite les photos, les vidéos, les applications et d'autres documents pour les utilisateurs. OneDrive de Microsoft est un autre exemple de stockage en cloud fourni comme un service. Les services de cloud sont de plus en plus utilisés pour les plateformes d'applications, les plateformes d'applications mobiles d'entreprise et les plateformes fonctionnant en tant que services à cause du nombre croissant d'utilisateurs mobiles. Grâce au cloud, les développeurs peuvent créer des applications qui seront accessibles sur plusieurs appareils en mettant en oeuvre les mêmes fonctions et données.
Chaque application n'a pas forcément besoin de toutes ces ressources ou services, et les plateformes d'applications ne fournissent pas toutes ces cinq ressources. Les applications les plus complexes requièrent des plateformes de plus grande envergure et offrant plus de fonctionnalités de développement que les plus simples. Cela signifie qu'un développeur peut déployer plusieurs plateformes d'applications pour prendre en charge une application complexe. Les services nécessaires à une application peuvent également changer en fonction du matériel sur lequel elle s'exécute. Prenons le cas d'un utilisateur qui ouvre une application dans Windows 10 sur son ordinateur portable, avec un navigateur Web et Microsoft SQL Server pour les services d'exécution et de données. La même application ouverte avec Microsoft Azure peut utiliser Windows comme système d'exploitation et .NET et Azure SQL pour les services d'exécution et de données.
Exemples de plateformes d'applications
Les plateformes d'applications mobiles d'entreprise réduisent au minimum le temps nécessaire pour porter du code sur de nouvelles plateformes. La plupart de ces plateformes réduisent la quantité de code écrit pour gérer plusieurs clients tout en prenant en charge plusieurs types d'applications. Elles conviennent particulièrement aux développeurs qui ont besoin d'un développement rapide et d'une interface conviviale. IBM Worklight, Sencha et Appcelerator sont des exemples de plateformes d'applications mobiles d'entreprise.
PaaS (Platform-as-a-service) est un service cloud qui fournit une plateforme d'applications avec les fonctionnalités dont les développeurs ont besoin pour créer, déployer et héberger des applications. Le PaaS est essentiellement du « développement de logiciel utilisé en tant que service ». Les développeurs laissent le choix de l'infrastructure sous-jacente et de la gestion (par exemple la mise à disposition et la configuration des systèmes) à un fournisseur de cloud pour se concentrer sur le projet de développement de logiciels.
Les entreprises n'ont plus à supporter les coûts d'investissement liés aux services de développement et louent l'accès Paas de manière optimale. AWS Elastic Beanstalk, Acquia Cloud et AppAgile de T-Systems sont des exemples de PaaS.