{"id":33935,"date":"2019-10-31T21:55:27","date_gmt":"2019-10-31T18:55:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/serverless-po-stoechkam\/"},"modified":"2019-10-31T21:55:27","modified_gmt":"2019-10-31T18:55:27","slug":"serverless-po-stoechkam","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless par \u00e9tapes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless par \u00e9tapes\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLe Serverless ne signifie pas l'absence physique de serveurs. Ce n'est pas un \u00ab tueur \u00bb de conteneurs, ni une mode passag\u00e8re. C'est une nouvelle approche pour construire des syst\u00e8mes dans le cloud. Dans cet article, nous aborderons l'architecture des applications Serverless, examinerons le r\u00f4le du fournisseur de services Serverless et des projets open-source. Enfin, nous discuterons des questions li\u00e9es \u00e0 l'application de Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nJe veux \u00e9crire la partie serveur d'une application (m\u00eame si c'est un magasin en ligne). Cela peut \u00eatre un chat, un service de publication de contenu ou un \u00e9quilibreur de charge. Quoi qu'il en soit, il y aura beaucoup de casse-t\u00eate : il faudra pr\u00e9parer l'infrastructure, d\u00e9finir les d\u00e9pendances de l'application, r\u00e9fl\u00e9chir au syst\u00e8me d'exploitation de l'h\u00f4te. Ensuite, il sera n\u00e9cessaire de mettre \u00e0 jour de petits composants qui n'affectent pas le fonctionnement du reste du monolithe. Et n'oublions pas la mont\u00e9e en charge.<\/p>\n<p>Et si nous utilisions des conteneurs \u00e9ph\u00e9m\u00e8res, dans lesquels les d\u00e9pendances n\u00e9cessaires sont d\u00e9j\u00e0 pr\u00e9install\u00e9es, et o\u00f9 les conteneurs sont isol\u00e9s les uns des autres et de l'OS h\u00f4te ? Nous allons d\u00e9composer le monolithe en microservices, chacun pouvant \u00eatre mis \u00e0 jour et mis \u00e0 l'\u00e9chelle ind\u00e9pendamment des autres. En pla\u00e7ant le code dans un tel conteneur, je pourrai l'ex\u00e9cuter sur n'importe quelle infrastructure. C'est d\u00e9j\u00e0 mieux. <\/p>\n<p>Et si je ne veux pas configurer des conteneurs ? Je ne veux pas penser \u00e0 la mont\u00e9e en charge de l'application. Je ne veux pas payer pour le temps d'arr\u00eat des conteneurs en cours d'ex\u00e9cution lorsque la charge de service est minimale. Je veux \u00e9crire du code. Me concentrer sur la logique m\u00e9tier et lancer des produits sur le march\u00e9 \u00e0 la vitesse de la lumi\u00e8re. <\/p>\n<p>Ces pens\u00e9es m'ont conduit au calcul sans serveur. Serverless, dans ce cas, signifie <em>pas l'absence physique de serveurs, mais l'absence de casse-t\u00eate li\u00e9e \u00e0 la gestion de l'infrastructure.<\/em><\/p>\n<p>L'id\u00e9e est que la logique de l'application est d\u00e9compos\u00e9e en fonctions ind\u00e9pendantes. Elles ont une structure \u00e9v\u00e9nementielle. Chaque fonction ex\u00e9cute une \u00ab micro-t\u00e2che \u00bb. Tout ce que le d\u00e9veloppeur doit faire est de t\u00e9l\u00e9charger les fonctions dans la console fournie par le fournisseur de cloud et de les relier aux sources d'\u00e9v\u00e9nements. Le code sera ex\u00e9cut\u00e9 \u00e0 la demande dans un conteneur automatiquement pr\u00e9par\u00e9, et je ne paierai que pour le temps d'ex\u00e9cution. <\/p>\n<p>Voyons maintenant \u00e0 quoi ressemblera le processus de d\u00e9veloppement de l'application.<\/p>\n<h2>Du point de vue du d\u00e9veloppeur<\/h2>\n<p>\nAuparavant, nous avons commenc\u00e9 \u00e0 parler d'une application pour un magasin en ligne. Dans l'approche traditionnelle, la logique principale du syst\u00e8me est ex\u00e9cut\u00e9e par une application monolithique. Et le serveur avec l'application est toujours en cours d'ex\u00e9cution, m\u00eame si il n'y a pas de charge.<\/p>\n<p><strong>Pour passer au serverless, nous d\u00e9composons l'application en micro-t\u00e2ches.<\/strong> Pour chacune d'elles, nous \u00e9crivons notre propre fonction. Les fonctions sont ind\u00e9pendantes les unes des autres et ne conservent pas d'informations sur l'\u00e9tat (sans \u00e9tat). Elles peuvent m\u00eame \u00eatre \u00e9crites dans diff\u00e9rents langages. Si l'une d'elles \u00ab tombe \u00bb, l'application dans son ensemble ne s'arr\u00eate pas. L'architecture de l'application ressemblera \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" alt=\"Serverless par \u00e9tapes\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLa division en fonctions dans Serverless ressemble au travail avec des microservices. Mais un microservice peut ex\u00e9cuter plusieurs t\u00e2ches, tandis qu'une fonction doit id\u00e9alement en ex\u00e9cuter une seule. Imaginons qu'il y a une t\u00e2che \u00e0 accomplir pour collecter des statistiques et les afficher sur demande de l'utilisateur. Dans l'approche microservices, une seule service ex\u00e9cute la t\u00e2che avec deux points d'entr\u00e9e : un pour l'\u00e9criture et un pour la lecture. Dans le calcul sans serveur, ce seront deux fonctions diff\u00e9rentes, non li\u00e9es entre elles. Le d\u00e9veloppeur \u00e9conomise des ressources de calcul si, par exemple, les statistiques sont mises \u00e0 jour plus fr\u00e9quemment qu'elles ne sont export\u00e9es. <\/p>\n<p>Les fonctions Serverless doivent s'ex\u00e9cuter pendant un court laps de temps (timeout), qui est d\u00e9fini par le fournisseur de services. Par exemple, pour AWS, le timeout est de 15 minutes. Cela signifie que les fonctions \u00e0 long terme devront \u00eatre adapt\u00e9es aux exigences \u2015 c'est ce qui distingue Serverless d'autres technologies populaires aujourd'hui (conteneurs et Platform as a Service).<\/p>\n<p><strong>Nous attribuons un \u00e9v\u00e9nement \u00e0 chaque fonction.<\/strong> Un \u00e9v\u00e9nement est un d\u00e9clencheur pour une action :<\/p>\n<p><strong>\u00c9v\u00e9nement<\/strong><br \/>\n<strong>Action ex\u00e9cut\u00e9e par la fonction<\/strong><\/p>\n<p>Une image du produit a \u00e9t\u00e9 t\u00e9l\u00e9charg\u00e9e dans le stockage<br \/>\nCompresser l'image et l'exporter dans le r\u00e9pertoire<\/p>\n<p>L'adresse du magasin physique a \u00e9t\u00e9 mise \u00e0 jour dans la base de donn\u00e9es<br \/>\nCharger la nouvelle localisation sur les cartes<\/p>\n<p>Le client paie le produit<br \/>\nD\u00e9marrer le traitement du paiement<\/p>\n<p>Les \u00e9v\u00e9nements peuvent \u00eatre des requ\u00eates HTTP, des donn\u00e9es en streaming, des files d'attente de messages, etc. Les sources d'\u00e9v\u00e9nements sont des modifications ou l'apparition de donn\u00e9es. De plus, les fonctions peuvent \u00eatre d\u00e9clench\u00e9es par un minuteur.<\/p>\n<p>L'architecture a \u00e9t\u00e9 d\u00e9velopp\u00e9e et l'application est presque devenue sans serveur. Passons ensuite au fournisseur de services.<\/p>\n<h2>C\u00f4t\u00e9 fournisseur<\/h2>\n<p>\nEn g\u00e9n\u00e9ral, le calcul sans serveur est propos\u00e9 par les fournisseurs de services cloud. Ils l'appellent diff\u00e9remment : Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Nous utiliserons le service via la console ou le tableau de bord du fournisseur. Le code des fonctions peut \u00eatre t\u00e9l\u00e9charg\u00e9 de l'une des mani\u00e8res suivantes :<\/p>\n<ul>\n<li>\u00e9crire le code dans les \u00e9diteurs int\u00e9gr\u00e9s via la console web,<\/li>\n<li>t\u00e9l\u00e9charger une archive avec le code,<\/li>\n<li>travailler avec des d\u00e9p\u00f4ts git publics ou priv\u00e9s.<\/li>\n<\/ul>\n<p>\nIci, nous configurons les \u00e9v\u00e9nements qui d\u00e9clenchent la fonction. Les ensembles d'\u00e9v\u00e9nements peuvent diff\u00e9rer chez les diff\u00e9rents fournisseurs.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless par \u00e9tapes\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Le fournisseur a construit et automatis\u00e9 un syst\u00e8me Function as a Service (FaaS) sur son infrastructure :<\/p>\n<ol>\n<li>Le code des fonctions est stock\u00e9 c\u00f4t\u00e9 fournisseur.<\/li>\n<li>Lorsqu'un \u00e9v\u00e9nement se produit, des conteneurs avec un environnement pr\u00e9par\u00e9 se d\u00e9ploient automatiquement sur le serveur. Chaque instance de fonction a son propre conteneur isol\u00e9.<\/li>\n<li>Depuis le stockage, la fonction est envoy\u00e9e au conteneur, est calcul\u00e9e et renvoie le r\u00e9sultat.<\/li>\n<li>Le nombre d'\u00e9v\u00e9nements parall\u00e8les augmente, ce qui augmente le nombre de conteneurs. Le syst\u00e8me se met automatiquement \u00e0 l'\u00e9chelle. Si les utilisateurs n'utilisent pas la fonction, celle-ci sera inactive.<\/li>\n<li>Le fournisseur d\u00e9finit le temps d'inactivit\u00e9 des conteneurs : si aucune fonction n'appara\u00eet dans le conteneur pendant cette p\u00e9riode, il est d\u00e9truit.<\/li>\n<\/ol>\n<p>\nAinsi, nous obtenons le Serverless \u00ab pr\u00eat \u00e0 l'emploi \u00bb. Nous paierons pour le service selon le mod\u00e8le pay-as-you-go et uniquement pour les fonctions utilis\u00e9es, et uniquement pour le temps pendant lequel elles ont \u00e9t\u00e9 utilis\u00e9es.<\/p>\n<p>Pour familiariser les d\u00e9veloppeurs avec le service, les fournisseurs proposent jusqu'\u00e0 12 mois d'essai gratuit, mais limitent le temps total de calcul, le nombre de requ\u00eates par mois, les fonds ou la puissance consomm\u00e9e.<\/p>\n<p>Le principal avantage de travailler avec un fournisseur est de ne pas avoir \u00e0 se soucier de l'infrastructure (serveurs, machines virtuelles, conteneurs). De leur c\u00f4t\u00e9, les fournisseurs peuvent mettre en \u0153uvre le FaaS \u00e0 la fois avec leurs propres d\u00e9veloppements et \u00e0 l'aide d'outils open-source. C'est de cela dont nous allons parler ensuite.<\/p>\n<h2>Du c\u00f4t\u00e9 de l'open source<\/h2>\n<p>\nAu cours des deux derni\u00e8res ann\u00e9es, la communaut\u00e9 open-source a activement travaill\u00e9 sur des outils Serverless. Parmi ceux-ci, les plus grands acteurs du march\u00e9 contribuent au d\u00e9veloppement des plateformes sans serveur :<\/p>\n<ul>\n<li><strong>Google<\/strong> propose aux d\u00e9veloppeurs son outil open-source \u2015 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. IBM, RedHat, Pivotal et SAP ont particip\u00e9 \u00e0 son d\u00e9veloppement ;<\/li>\n<li><strong>IBM<\/strong> ont travaill\u00e9 sur la plateforme Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, qui est ensuite devenue un projet de l'Apache Foundation ;<\/li>\n<li><strong>par Microsoft<\/strong> ont partiellement ouvert le code de la plateforme <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nLe d\u00e9veloppement se poursuit \u00e9galement dans le domaine des frameworks serverless. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> sont d\u00e9ploy\u00e9s dans des clusters Kubernetes pr\u00e9par\u00e9s \u00e0 l'avance, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> fonctionne \u00e0 la fois avec Kubernetes et Docker Swarm. Le framework agit comme un contr\u00f4leur sp\u00e9cifique : sur demande, il pr\u00e9pare un environnement d'ex\u00e9cution au sein du cluster, puis lance la fonction.<\/p>\n<p>Les frameworks laissent place \u00e0 la configuration de l'outil selon ses besoins. Par exemple, dans Kubeless, le d\u00e9veloppeur peut configurer le d\u00e9lai d'ex\u00e9cution de la fonction (la valeur par d\u00e9faut est de 180 secondes). Fission, pour r\u00e9soudre le probl\u00e8me du d\u00e9marrage \u00e0 froid, propose de maintenir certaines conteneurs toujours en cours d'ex\u00e9cution (ce qui entra\u00eene des co\u00fbts li\u00e9s aux ressources inactives). OpenFaaS, quant \u00e0 lui, propose un ensemble de d\u00e9clencheurs diversifi\u00e9s : HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs et d'autres.<\/p>\n<p>Les instructions pour commencer peuvent \u00eatre trouv\u00e9es dans la documentation officielle des frameworks. Travailler avec eux n\u00e9cessite un peu plus de comp\u00e9tences que de travailler avec un fournisseur : c'est au minimum la capacit\u00e9 de lancer un cluster Kubernetes via la CLI. Au maximum, cela inclut l'utilisation d'autres outils open-source (par exemple, le gestionnaire de files d'attente Kafka).<\/p>\n<p>Quelle que soit la mani\u00e8re dont nous travaillerons avec Serverless \u2014 par le biais d'un fournisseur ou en utilisant open-source, nous obtiendrons une s\u00e9rie d'avantages et d'inconv\u00e9nients du mod\u00e8le Serverless.<\/p>\n<h2>Du point de vue des avantages et des inconv\u00e9nients<\/h2>\n<p>\nServerless d\u00e9veloppe les id\u00e9es de l'infrastructure conteneuris\u00e9e et de l'approche microservices, permettant aux \u00e9quipes de travailler dans un mode multilingue sans s'attacher \u00e0 une seule plateforme. La construction du syst\u00e8me est simplifi\u00e9e, et la correction des erreurs devient plus facile. L'architecture microservices permet d'ajouter de nouvelles fonctionnalit\u00e9s au syst\u00e8me beaucoup plus rapidement que dans le cas d'une application monolithique.<\/p>\n<p><strong>Serverless r\u00e9duit encore davantage le temps de d\u00e9veloppement,<\/strong> permettant aux d\u00e9veloppeurs de se concentrer exclusivement sur la logique m\u00e9tier de l'application et sur l'\u00e9criture du code. En cons\u00e9quence, le temps de mise sur le march\u00e9 des d\u00e9veloppements est r\u00e9duit.<\/p>\n<p><strong>En prime, nous b\u00e9n\u00e9ficions d'une mise \u00e0 l'\u00e9chelle automatique en fonction de la charge,<\/strong> et nous ne payons que pour les ressources utilis\u00e9es et uniquement pendant qu'elles sont utilis\u00e9es.<\/p>\n<p>Comme toute technologie, Serverless a ses inconv\u00e9nients.<\/p>\n<p><em>Par exemple, un de ces inconv\u00e9nients peut \u00eatre le temps de d\u00e9marrage \u00e0 froid (en moyenne jusqu'\u00e0 1 seconde pour des langages comme JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>D'une part, en r\u00e9alit\u00e9, le temps de d\u00e9marrage \u00e0 froid d\u00e9pend de nombreuses variables : le langage dans lequel la fonction est \u00e9crite, le nombre de biblioth\u00e8ques, le volume de code, l'interaction avec des ressources suppl\u00e9mentaires (comme les bases de donn\u00e9es ou les serveurs d'authentification). \u00c9tant donn\u00e9 que le d\u00e9veloppeur contr\u00f4le ces variables, il peut r\u00e9duire le temps de d\u00e9marrage. Mais d'autre part, le d\u00e9veloppeur ne peut pas contr\u00f4ler le temps de lancement du conteneur - ici, tout d\u00e9pend du fournisseur.<\/p>\n<p>Un d\u00e9marrage \u00e0 froid peut devenir un d\u00e9marrage \u00e0 chaud lorsque la fonction r\u00e9utilise un conteneur d\u00e9j\u00e0 lanc\u00e9 par un \u00e9v\u00e8nement pr\u00e9c\u00e9dent. Cela se produira dans trois cas :<\/p>\n<ul>\n<li>si les clients utilisent fr\u00e9quemment le service et que le nombre d'appels \u00e0 la fonction augmente ;<\/li>\n<li>si le fournisseur, la plateforme ou le framework permettent de garder certains conteneurs lanc\u00e9s en permanence ;<\/li>\n<li>si le d\u00e9veloppeur d\u00e9clenche les fonctions par minuterie (disons, toutes les 3 minutes).<\/li>\n<\/ul>\n<p>\nPour de nombreuses applications, le d\u00e9marrage \u00e0 froid n'est pas un probl\u00e8me. Il faut se baser sur le type et les objectifs du service. Un d\u00e9lai de d\u00e9marrage d'une seconde n'est pas toujours critique pour une application business, mais peut le devenir pour des services m\u00e9dicaux. Il est probable que dans ce cas, l'approche sans serveur ne soit plus adapt\u00e9e.<\/p>\n<p><em>Un autre inconv\u00e9nient du Serverless est la courte dur\u00e9e de vie de la fonction (timeout, d\u00e9lai dans lequel la fonction doit \u00eatre ex\u00e9cut\u00e9e).<\/em><\/p>\n<p>Cependant, si l'on doit travailler avec des t\u00e2ches \u00e0 long terme, on peut utiliser une architecture hybride - combinant Serverless avec une autre technologie.<\/p>\n<p><em>Tous les syst\u00e8mes ne pourront pas fonctionner selon le mod\u00e8le Serverless.<\/em><\/p>\n<p>Certaines applications continueront \u00e0 stocker des donn\u00e9es et des \u00e9tats pendant leur exe\u00e9cution. Certaines architectures resteront monolithiques, tandis que certaines fonctions seront \u00e0 long terme. Cependant (tout comme les technologies cloud \u00e0 l'\u00e9poque, puis les conteneurs), Serverless est une technologie avec un bel avenir.<\/p>\n<p>Dans cette optique, j'aimerais transitionner vers la question de l'application de l'approche Serverless.<\/p>\n<h2>Du point de vue de l'application<\/h2>\n<p>\nEn 2018, le pourcentage d'utilisation de Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">a augment\u00e9 de 50 %<\/a><\/noindex>. Parmi les entreprises qui ont d\u00e9j\u00e0 int\u00e9gr\u00e9 cette technologie dans leurs services, on trouve des g\u00e9ants du march\u00e9 comme Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Il est \u00e0 noter que Serverless n'est pas une panac\u00e9e, mais un outil pour r\u00e9soudre un certain type de probl\u00e8mes :<\/p>\n<ul>\n<li><strong>R\u00e9duire le temps d'arr\u00eat des ressources.<\/strong> Il n'est pas n\u00e9cessaire de garder constamment une machine virtuelle pour les services qui sont peu sollicit\u00e9s.<\/li>\n<li><strong>Traiter les donn\u00e9es \u00ab \u00e0 la vol\u00e9e \u00bb.<\/strong> Compresser les images, enlever les arri\u00e8re-plans, changer l'encodage vid\u00e9o, travailler avec des capteurs IoT, effectuer des op\u00e9rations math\u00e9matiques.\n<\/li>\n<li><strong>\u00ab Coller \u00bb d'autres services ensemble.<\/strong> Un d\u00e9p\u00f4t Git avec des programmes internes, un chatbot sur Slack li\u00e9 \u00e0 Jira et \u00e0 un calendrier.<\/li>\n<li><strong>\u00c9quilibrer la charge.<\/strong> Ici, nous allons nous arr\u00eater en d\u00e9tail.<\/li>\n<\/ul>\n<p>\nSupposons qu'il y a un service qui re\u00e7oit 50 personnes. Une machine virtuelle avec un mat\u00e9riel modeste y est d\u00e9di\u00e9e. Parfois, la charge sur le service augmente plusieurs fois. Dans ce cas, le mat\u00e9riel modeste ne peut pas g\u00e9rer la charge.<\/p>\n<p>On peut int\u00e9grer un r\u00e9partiteur de charge dans le syst\u00e8me, qui distribuera la charge, disons, sur trois machines virtuelles. \u00c0 ce stade, nous ne pouvons pas pr\u00e9voir la charge avec pr\u00e9cision, donc nous conservons un certain nombre de ressources en cours d'ex\u00e9cution \u00ab en r\u00e9serve \u00bb. Et nous payons trop cher pour l'inactivit\u00e9. <\/p>\n<p>Dans une telle situation, nous pouvons optimiser le syst\u00e8me gr\u00e2ce \u00e0 une approche hybride : derri\u00e8re le r\u00e9partiteur de charge, nous laissons une machine virtuelle et pla\u00e7ons un lien vers un Endpoint Serverless avec des fonctions. Si la charge d\u00e9passe un certain seuil, le r\u00e9partiteur de charge lance des instances de fonctions qui prennent en charge une partie du traitement des requ\u00eates.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless par \u00e9tapes\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAinsi, Serverless peut \u00eatre utilis\u00e9 l\u00e0 o\u00f9 il est n\u00e9cessaire de traiter un grand nombre de requ\u00eates de mani\u00e8re intensive sans le faire trop fr\u00e9quemment. Dans ce cas, lancer plusieurs fonctions pendant 15 minutes est plus rentable que de maintenir en permanence une machine virtuelle ou un serveur.<\/p>\n<p>Malgr\u00e9 tous les avantages de l'informatique sans serveur, il est primordial, avant son adoption, d'\u00e9valuer d'abord la logique de l'application et de comprendre quelles t\u00e2ches Serverless pourra r\u00e9soudre dans le cas particulier. <\/p>\n<h2>Serverless et Selectel<\/h2>\n<p>\nChez Selectel, nous avons d\u00e9j\u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.selectel.ru\/42078178.html?utm_source=habr.com&amp;amp;utm_medium=referral&amp;amp;utm_campaign=Functions_Serverless_Article_170519\">simplifi\u00e9 le travail avec Kubernetes<\/a><\/noindex> via notre panneau de contr\u00f4le. Maintenant, nous construisons notre propre plateforme FaaS. Nous voulons que les d\u00e9veloppeurs puissent r\u00e9soudre leurs t\u00e2ches \u00e0 l'aide de Serverless via une interface conviviale et flexible.<\/p>\n<p>Si vous avez des id\u00e9es sur ce \u00e0 quoi devrait ressembler une plateforme FaaS id\u00e9ale et comment vous souhaitez utiliser Serverless dans vos projets, partagez-les dans les commentaires. Nous prendrons vos suggestions en compte lors du d\u00e9veloppement de la plateforme.<br \/>\n\u00a0<br \/>\nDocuments utilis\u00e9s dans l'article :<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">Le pourcentage d'utilisation de Serverless a augment\u00e9 de 50 % (rapport complet de RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Comment le temps de d\u00e9marrage \u00e0 froid d\u00e9pend du langage de l'application<\/a><\/noindex><\/li>\n<\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/selectel\/blog\/452266\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u00ab\u0443\u0431\u0438\u0439\u0446\u0430\u00bb \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u043d\u0435 \u043c\u0438\u043c\u043e\u043b\u0435\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u043d\u0434. \u042d\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. \u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043a\u043e\u0441\u043d\u0435\u043c\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Serverless-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 Serverless-\u0443\u0441\u043b\u0443\u0433\u0438 \u0438 open-source \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f Serverless. \u042f \u0445\u043e\u0447\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0434\u0430 \u0445\u043e\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430). [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Serverless par \u00e9tapes | ProHoster","description":"Serverless n'est pas synonyme d'absence physique de serveurs.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster","og:description":"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/serverless-po-stoechkam","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:55:27+00:00","article:modified_time":"2019-10-31T18:55:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33935","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 17:17:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:31:21","updated":"2026-01-21 17:17:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}