Functions et Pages est une plateforme de développement edge full-stack proposée par Edge Security Acceleration (ESA). Elle intègre des workflows Git, un réseau edge mondial et un système de build intelligent pour déployer votre code, du commit à la distribution globale. La plateforme prend en charge les sites statiques, les applications SPA, SSR et les fonctions edge.
Fonctionnalités principales
Build et déploiement automatisés : Functions et Pages prend nativement en charge GitHub et détecte automatiquement les modifications de code sur la branche principale pour déclencher les builds et les déploiements.
Distribution edge mondiale : Déployez globalement en quelques secondes. Toutes les requêtes sont acheminées vers le point de présence (POP) le plus proche, ce qui minimise la latence d'accès.
Sécurité, conformité et O&M de niveau entreprise : S'intègre à l'accélération sécurisée ESA pour fournir un WAF, une protection anti-DDoS et une gestion des bots pour vos sites Pages. Prend en charge les déploiements progressifs et inclut des fonctionnalités de surveillance et de journalisation.
Fonctionnalités de fonctions edge : Propose des fonctions edge à faible latence basées sur V8 Isolate avec mise à l'échelle automatique. Aucune gestion de serveur n'est requise.
Expérience conviviale pour les développeurs : Utilisez la console web, la CLI ou les API RESTful pour une intégration automatisée.
Fonctionnement
Identification du type de requête : Lorsqu'une requête client arrive sur un POP ESA, le POP identifie le type de requête. Les requêtes destinées à Functions et Pages sont ensuite acheminées vers un module dédié pour un traitement optimisé.
Traitement du contenu de la requête : Le module de fonction traite le contenu dynamique. Le contenu statique est récupéré depuis le module de cache ou depuis le serveur d'origine.
Termes
Function : Environnement d'exécution JavaScript sur les nœuds edge d'Alibaba Cloud qui exécute votre code téléchargé. Une fonction se compose de deux parties : la configuration (nom et description) et le code (le script que vous téléchargez).
Pages : Plateforme de développement et de déploiement frontend construite sur l'infrastructure ESA pour créer et publier des sites statiques et des applications serverless. Pages s'intègre aux fonctions pour distribuer les ressources dynamiques et statiques depuis le edge, réduisant ainsi la latence pour les utilisateurs mondiaux.
-
Version : Instantané de votre code à un instant donné. Chaque version reçoit un numéro de version généré par le système. Lorsque vous publiez une fonction ou un projet Pages, vous sélectionnez la version à déployer. Vous pouvez revenir à des versions précédentes à tout moment. La plateforme prend en charge les déploiements progressifs basés sur un pourcentage : vous pouvez publier deux versions simultanément et personnaliser la répartition du trafic. Par exemple, acheminez 10 % du trafic vers la version 1 et 90 % vers la version 2 pour des déploiements contrôlés.
-
Environment : Les fonctions proposent un environnement de staging et un environnement de production :
Environnement de staging : Un POP isolé qui simule la production à des fins de test. Les modifications apportées dans l'environnement de staging n'affectent pas la production. Pour y accéder, ajoutez l'adresse IP de staging à votre fichier hosts.
Environnement de production : L'environnement en ligne, composé de POPs distribués mondialement. Après les tests dans l'environnement de staging, publiez votre code en production. La figure précédente est fournie à titre indicatif uniquement. Les POPs s'adaptent automatiquement en fonction du volume de requêtes, et la distribution régionale peut varier.
Domain Name : Un nom de domaine déclenche une fonction. Deux méthodes sont prises en charge : Custom Domains et Routes. Associez un domaine pour acheminer tout le trafic vers une fonction, ou utilisez le routage pour acheminer un trafic spécifique. Configurer un nom de domaine.
Limitations
|
Fonctionnalité |
Élément |
Limitation |
Description |
|
Function |
Temps de réponse |
120 s |
Le temps de réponse pour une seule exécution d'une fonction ne peut pas dépasser 120 s, y compris le temps d'attente E/S. |
|
Temps d'attente |
10 s |
Temps maximal pendant lequel la passerelle attend une réponse de la fonction. Si aucune donnée n'est renvoyée dans un délai de 10 s, la passerelle se déconnecte et renvoie une erreur HTTP 504. |
|
|
Taille du package de code |
4 Mo |
Taille maximale du fichier de code JavaScript par fonction. |
|
|
Nombre de sous-requêtes |
4 |
Nombre maximal de requêtes fetch par exécution de fonction. |
|
|
Langage de développement |
JavaScript (syntaxe ES6) |
Seul JavaScript est pris en charge. |
|
|
Pages |
Nombre de fichiers |
2 000 |
Nombre maximal de fichiers statiques (HTML, CSS, JS, images) par projet Pages. |
|
Taille d'un fichier unique |
25 Mo |
Taille maximale par fichier (vidéo, PDF, package JS, etc.). |
|
|
Taille du package |
1 024 Mo |
Taille maximale du package de déploiement compressé. |