Votre organisation est-elle prête à fonctionner sans serveur? La tendance vers l’informatique sans serveur est clairement à la hausse, mais cela ne signifie pas pour autant qu’elle fonctionne de manière idéale pour tous les scénarios et toutes les organisations.
L'informatique sans serveur est un modèle d'architecture logicielle dans lequel un fournisseur de services de cloud computing exécute le serveur pour un client et gère de manière dynamique l'allocation des ressources informatiques. Le terme «sans serveur» est impropre, dans la mesure où les serveurs sont toujours impliqués dans le processus.
La tarification de ces types de services est basée sur la quantité réelle de ressources consommées par une application plutôt que sur des unités de capacité achetées à l'avance.
Le marché de l'architecture sans serveur totalisait environ 4,25 milliards de dollars en 2018 et devrait atteindre 14,93 milliards de dollars en 2023, soit un taux de croissance annuel composé (CAGR) de 29% au cours de la période de prévision, selon un rapport publié en 2018 par le cabinet d'études Market and Markets. L’Amérique du Nord devrait représenter la plus grande part de marché au cours de la période de prévision, en partie à cause de l’adoption rapide des services de cloud computing.
Parmi les principaux facteurs susceptibles de stimuler la croissance du marché, citons l'élimination de la nécessité de gérer les serveurs, ce qui réduit les coûts d'infrastructure et facilite le déploiement, la gestion et l'exécution. La prolifération des architectures de microservices contribue également à la croissance.
Les services d’automatisation et d’intégration jouent un rôle majeur dans le déploiement de l’architecture sans serveur, selon les marchés et les marchés. Les services d'automatisation permettent de gérer efficacement les microservices, déployés sur des plates-formes informatiques hybrides, afin de fournir une réponse plus rapide et une utilisation optimale des ressources informatiques.
Gartner est également optimiste en informatique sans serveur; La société de recherche a inclus l'informatique sans serveur parmi ses 10 principales tendances ayant une incidence sur l'infrastructure et les opérations pour 2019, et le modèle d'architecture logicielle émergent promet d'éliminer le besoin de provisionnement et de gestion d'infrastructure.
Appel de l'informatique sans serveur pour les administrateurs informatiques
Serverless suscite un vif intérêt, non seulement pour les développeurs d'applications, mais également pour le personnel d'exploitation des systèmes, explique Ken Corless, directeur principal du secteur Cloud chez Deloitte Consulting.
Qu'il soit proposé par des fournisseurs de cloud hyperscale ou mis en œuvre sur site avec diverses solutions sur le marché, l'informatique sans serveur est la même: «une automatisation impitoyable et un libre-service pour accélérer le cycle de vie du développement logiciel», explique Corless.
Pour les administrateurs informatiques, sans serveur réduit le cycle de «requête-réponse» des charges de travail basées sur des tickets et permet aux administrateurs de se concentrer sur des tâches de niveau supérieur telles que la conception d'infrastructure ou la création de davantage d'automatisation, explique Corless.
Corless observe deux principaux cas d'utilisation. L’une concerne le développement d’applications pour la création d’applications modernes, basées sur des services, à couplage lâche. La fonctionnalité en tant que service (FaaS) et la technologie en tant que service (BaaS) – deux services basés sur le cloud qui permettent une informatique sans serveur – peuvent considérablement améliorer la productivité d'une équipe de distribution de logiciels en réduisant la taille des équipes, a-t-il déclaré. .
L'autre grand cas d'utilisation est celui des administrateurs système. «L'automatisation même qu'ils recherchent peut être mise en œuvre rapidement, facilement et progressivement avec les technologies sans serveur», explique Corless. Par exemple, dans le secteur des services gérés dans le nuage de Deloitte, l’entreprise utilise largement le système sans serveur pour automatiser le fonctionnement de l’offre.
Comme dans le cas des services de cloud computing, il existe des scénarios dans lesquels le sans-serveur peut coûter plus cher que payer pour des machines virtuelles, explique Corless. Une application qui fonctionne actuellement sur des machines virtuelles avec une utilisation constante de 80% sur une base continue coûtera probablement plus cher dans un environnement sans serveur, dit-il.
«La véritable promesse de la technologie sans serveur, cependant, est que moins de personnes s’acquittent de certaines tâches banales de l’informatique», telles que les correctifs logiciels et la sauvegarde, explique Corless. Cela entraîne deux avantages. Premièrement, les personnes effectuant ces tâches ordinaires peuvent se concentrer sur la création de valeur ailleurs dans le département informatique ou dans l'entreprise.
“Personne n’est ravi d’être la personne dont le travail est de faire DNS [domain name system] changements », dit Corless. «Ces personnes peuvent être réaffectées pour développer de nouvelles capacités. Conduire plus d'automatisation est la première chose que je vois se produire. "
Le deuxième avantage est la possibilité, même dans une grande entreprise, que les petites équipes soient plus autonomes. «À mesure que l'expertise et les bases de la gestion de l'infrastructure deviennent automatisées, les équipes peuvent se servir elles-mêmes et le faire en toute sécurité», explique Corless. "Cependant, cela nécessite généralement un investissement pour automatiser les normes et les règles, car ce que nous voyons dans les offres sans serveur n'est souvent pas suffisamment" sûr "pour être utilisé sans une sorte de garde-corps / contrainte."
Larry Carvalho, directeur de la recherche, plate-forme en tant que service, chez International Data Corp. (IDC), explique Larry Carvalho, directeur de la recherche plate-forme en tant que service, dès lors qu’une application peut tirer parti de l’informatique événementielle avec des services découplés.
Les cas d'utilisation les plus courants sont les applications Internet des objets (IoT) et les backends mobiles qui nécessitent un traitement piloté par les événements, explique Carvalho. D'autres cas d'utilisation sont le traitement par lots ou le traitement de flux pour une réaction en temps réel aux événements.
Meilleures pratiques informatiques sans serveur
Alors, comment les organisations peuvent-elles aider à garantir le succès avec sans serveur? Voici quelques pratiques suggérées par des experts.
Intégrez les contraintes du produit sans serveur dans le processus de conception.
Les équipes d'ingénierie qui se convertissent vers un serveur sans serveur oublient souvent que des contraintes strictes existent même dans les produits les plus flexibles, explique Daniel Smith, architecte de la plate-forme IoT de Cordial Inc., fournisseur de technologie marketing.
«Se souvenir du serveur sans serveur, ce n'est que le serveur ou le conteneur de quelqu'un d'autre, avec ses propres contraintes de conception, ira un long chemin» vers le succès avec le serveur sans serveur, dit Smith. «La responsabilité de définition de ligne est beaucoup plus élevée dans la pile avec serveur sans serveur. Par conséquent, des contraintes telles que le temps d’exécution total, le temps CPU consommé ou la mémoire totale utilisée doivent être prises en compte lors de la conception et de la mise en œuvre.»
Cordial a commencé à explorer les technologies sans serveur en 2015, dans le but de disposer d'un modèle de coût prévisible en période d'utilisation imprévisible des ressources. «En tant que startup, disposer d'une structure de coûts prévisible et basée sur la demande était attrayant», déclare Smith.
En mai 2018, la société a commencé à utiliser la technologie des employés de Cloudflare en remplacement de certains de ses systèmes. En tant qu'entreprise interentreprises qui sert les consommateurs pour le compte de ses clients, les interactions de Cordial avec les consommateurs doivent être aussi rapides que possible.
«Cela nécessite souvent de déplacer la charge de travail aussi près que possible du consommateur du point de vue géographique», explique M. Smith.
Cordial ayant réussi à réduire la taille des microservices, il a été prêt à expérimenter des langages de programmation qu’il n’aurait pas déployés autrement, lui permettant de fournir des produits plus efficaces, plus rapidement et avec plus de confiance.
Concevoir des charges de travail finies.
Selon M. Smith, les organisations devraient considérer l'architecture sans serveur comme un moteur d'exécution pour une méthode ou une fonction unique.
«En affinant davantage cet objectif, l'entrée et la sortie de la fonction devraient être les données les plus petites possibles sur lesquelles travailler», a déclaré Smith. "Au lieu d'utiliser une fonction sans serveur pour traiter un fichier de données, envoyez chaque ligne de données à une exécution distincte."
En réduisant la taille de chaque unité de travail, le récit commence à se focaliser sur la rapidité avec laquelle le réseau peut déplacer des données entre services. «Pour les données en vol, nous pouvons commencer à penser au réseau comme à une sorte de stockage volatile où chaque seconde nous permet 10 [gigabytes] de stockage par interface réseau », déclare Smith. "Le disque, le composant système le plus lent, est donc évité jusqu'à ce qu'une sortie finale soit stockée de manière persistante."
Rendre les fonctions aussi apatrides que possible.
Daniel Dyla, ingénieur logiciel chez Dynatrace, un fournisseur de logiciels de performance applicative, explique Daniel Dyla, les variables globales courantes dans les applications monolithiques ne fonctionnent pas avec un serveur sans serveur, car l'état global risque de ne pas être persistant entre les invocations.
«Pour lutter contre cela, les fonctions sans serveur devraient être sans état si possible», déclare Dyla. «Si l’état est requis, il est préférable d’avoir une fonction qui rassemble l’état de l’extérieur. [database] et appelle une autre fonction sans état qui effectue le traitement de données proprement dit. De cette façon, vous pouvez mettre en quarantaine les interactions avec état dans des endroits désignés où elles sont plus faciles à gérer. "
Selon Dyla, Dynatrace utilise la technologie sans serveur depuis quelques années, attirée par son faible coût, sa capacité à évoluer et ses invocations événementielles. La société utilise l'informatique sans serveur pour les systèmes d'interrogation devant fonctionner en permanence pour le traitement par lots.
«Le principal avantage que nous avons constaté est le faible coût», déclare Dyla. «Nos fonctions sans serveur ont tendance à être de petits fragments de code avec des charges en rafale pouvant évoluer à partir de zéro et revenir très rapidement."
Automatiser le déploiement et les tests.
Bien que certains outils facilitent le déploiement manuel de l'informatique sans serveur, l'automatisation du déploiement vous permet une implémentation cohérente, sans risque d'erreur humaine, explique Hristo Papazov, ingénieur logiciel senior chez Relativity, fournisseur de logiciels de e-discovery.
L'automatisation «permet également aux autres équipes de votre organisation d'adopter facilement ces technologies», déclare Papazov.
Relativity utilise la technologie sans serveur du service cloud Azure de Microsoft, dans le but d’améliorer l’expérience client avec sa plate-forme de découverte électronique en veillant à ce que ses principaux composants soient opérationnels. La société utilise sans serveur pour ses outils de surveillance internes, permettant aux utilisateurs de traiter de grandes quantités de données de télémétrie afin de détecter et de résoudre rapidement les problèmes, explique Papazov.
Avec la complexité croissante des applications sans serveur, les tests unitaires deviennent une partie essentielle du cycle de développement, et l'automatisation y contribue également, explique Papazov. «Lorsque Microsoft a introduit Azure Functions il y a quelque temps, les tests unitaires étaient très difficiles, voire presque possibles», déclare-t-il. «Les choses ont beaucoup évolué depuis et ajouter des tests unitaires à un projet est très simple."
Comprendre l'architecture des applications modernes.
Les gestionnaires devraient avoir pour objectif de diviser les applications en services de courte durée, indépendants et découplés, a déclaré Carvalho. «Concevoir une application sans état tout en tirant parti des services de support, tels que la gestion des API pour les communications et les fonctionnalités de sécurité pour l'identité de l'utilisateur», a-t-il déclaré.
Par exemple, un serveur d'applications Web fonctionnant en continu pour traiter les transactions entrantes pourrait être décomposé en extrayant la logique métier et en les exécutant sous la forme de microservices dans un environnement sans serveur, explique Carvalho. «Cela supprime le coût de l’exploitation continue du serveur tout en transférant au fournisseur de cloud la lourde tâche du basculement.»
Faites de la cybersécurité une priorité.
Bien que les entreprises sans serveur n'aient pas à s'inquiéter de l'application de correctifs à leurs serveurs ou de l'exécution d'un logiciel antivirus, une offre sans serveur basée sur des interfaces de programmation d'application (API) "multiplie radicalement les terminaux de votre solution", explique Corless. “Et si vos API sont utilisées par vos clients [or] partenaires, il devient encore plus poilu. "
En conséquence, les entreprises pourraient avoir besoin de repenser leur approche des règles de pare-feu, «car vous pouvez rapidement créer un gâchis ingérable», explique Corless.
Commentaires
Laisser un commentaire