Empaquetez votre application PHP dans un fichier ZIP conforme aux exigences de Serverless App Engine (SAE), puis déployez ce package sur SAE en tant qu'application.
Prérequis
Package de code PHP — Empaquetez votre application sous forme de fichier ZIP conforme aux spécifications du package de code PHP.
Environnement PHP — Identifiez l'environnement PHP compatible avec votre code.
Ressources réseau — (Facultatif) Pour déployer l'application dans un namespace existant, créez au préalable le namespace, le vSwitch et le groupe de sécurité.
Éditions d'application
Les éditions Lightweight Edition et Professional Edition sont actuellement en phase bêta sur invitation uniquement. Pour les utilisateurs ne participant pas au test bêta, les applications sont créées par défaut en tant qu'Standard Edition.
Le tableau suivant décrit les fonctionnalités incluses dans chaque édition.
| Edition | Included features |
| Lightweight Edition | Fournit l'ensemble minimal de fonctionnalités requis pour exécuter une application. Ne prend pas en charge les fonctionnalités Application Monitoring et Microservices Governance. |
| Standard Edition | Inclut la fonctionnalité Basic Application Monitoring. Les fonctionnalités Advanced Application Monitoring et Microservices Governance doivent être activées et achetées séparément. |
| Professional Edition | Inclut les fonctionnalités Advanced Application Monitoring et Microservices Governance, qui n'ont pas besoin d'être activées ou achetées séparément. |
La fonctionnalité Microservices Governance propose ses services pour les applications Java. Étant donné que les éditions ne diffèrent que par les fonctionnalités répertoriées dans le tableau précédent, la surveillance des applications constitue le critère principal lors du choix d'une édition pour une application PHP. Pour consulter les données de surveillance et les fonctionnalités de gouvernance fournies par chaque édition, reportez-vous à la section « Paramètres avancés » de cette rubrique.
Créer l'application
Sur la page SAE Application List, sélectionnez la région cible et le namespace dans la barre de navigation supérieure, puis cliquez sur Create Application.
Sélectionnez une édition d'application. Pour comparer les éditions, consultez la section « Éditions d'application » de cette rubrique.
Sur la page Create Application, saisissez un nom personnalisé dans le champ Application Name.
-
Sélectionnez le type de namespace pour l'application. Un namespace équivaut à un namespace Kubernetes et permet d'isoler les ressources dans différents environnements.
ImportantVous ne pouvez pas modifier le namespace d'une application après sa création. Confirmez le namespace auquel appartient l'application avant de la créer.
System Created — Utilisez le namespace, le vSwitch et le groupe de sécurité par défaut créés par le système dans la région actuelle. Sélectionnez cette option si l'application n'a pas besoin de réutiliser des ressources réseau existantes.
Existing Namespace — Sélectionnez le namespace, le vSwitch et le groupe de sécurité que vous avez créés au préalable. Choisissez cette option lorsque l'application doit s'exécuter dans des ressources réseau que vous avez préparées.
Définissez le paramètre Application Deployment Method sur Code Package-based Deployment, puis cliquez sur Configure Code Package-based Deployment à droite.
Pour le paramètre Technology Stack Programming Language, sélectionnez PHP, puis choisissez l'environnement PHP compatible avec votre code.
Configurez les paramètres du package de code, puis cliquez sur OK. Les paramètres sont décrits dans la section « Paramètres du package ZIP PHP » de cette rubrique.
Dans la section Capacity Settings, définissez les paramètres Resource Type, Single Instance Type et Instances.
(Facultatif) Cliquez sur Next: Advanced Settings pour configurer les fonctionnalités souhaitées. Les fonctionnalités disponibles sont décrites dans la section « Paramètres avancés » de cette rubrique.
Cliquez sur Create Application with One Click ou sur Create Application.
Paramètres du package ZIP PHP
Le tableau suivant décrit les paramètres à configurer pour un package ZIP PHP.
| Parameter | Description |
| Upload Method | Téléchargez un package de code local ou saisissez l'URL du package de code. |
| Version | Saisissez un numéro de version d'application ou sélectionnez l'option Use Timestamp as Version Number. |
| Time Zone Settings | Sélectionnez le fuseau horaire dans lequel l'application s'exécute. |
| Startup Command | Si vous avez empaqueté votre code conformément aux spécifications du package de code PHP, il n'est pas nécessaire de configurer une commande de démarrage. |
| Custom Runtime Environment Settings | (Facultatif) Si cette option est activée, vous pouvez préinstaller des outils, télécharger ou modifier des fichiers et installer des dépendances ou des extensions d'exécution pour votre application selon vos besoins. |
| Custom php.ini [TODO: confirm UI term] | (Facultatif) Lorsque cette option est activée, saisissez le contenu du fichier de configuration php.ini. SAE démarre l'application en utilisant cette configuration. |
Personnaliser l'environnement d'exécution
Si vous activez l'option Custom Runtime Environment Settings, vous pouvez configurer les éléments suivants :
PHP Extension.
PHP PECL Extension.
-
Personnaliser l'environnement d'exécution via la ligne de commande. Le script suivant est un exemple :
#!/bin/bash docker-php-ext-configure gd \ --with-gd \ --with-webp-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-xpm-dir \ --with-freetype-dir \ && docker-php-ext-install -j$(nproc) gd
Personnaliser la configuration php.ini
Dans le champ php.ini Mount Path, définissez le chemin de montage du fichier de configuration, par exemple /usr/local/etc/php/php.ini.
Une fois l'application déployée, exécutez la commande suivante dans Webshell pour vérifier que le fichier de configuration est monté :
php -i | grep ini
# Example output: Loaded Configuration File => /usr/local/etc/php/php.ini
Paramètres avancés
Dans la section Advanced Settings, vous pouvez configurer les fonctionnalités facultatives suivantes pour l'application.
Les fonctionnalités suivantes s'appuient sur des services entraînant des frais supplémentaires : le centre d'enregistrement et de découverte de services MSE, NLB, CLB, les routes de passerelle, NAT Gateway, les adresses IP élastiques (EIP), NAS, OSS, les bases de données, Simple Log Service et Kafka.
Environnement d'exécution et cycle de vie
Configuration d'exécution — Vous pouvez modifier les variables ou les fichiers de configuration dans l'environnement d'exécution après le déploiement sans reconstruire l'image en définissant des variables d'environnement, en configurant des liaisons d'hôtes, en injectant des informations de configuration et en injectant des informations confidentielles.
Contrôles de santé — Vous pouvez configurer un contrôle de santé pour surveiller si les instances d'application fonctionnent normalement et sont prêtes à gérer le trafic. Les instances non saines sont redémarrées automatiquement et le trafic n'est acheminé vers une instance que lorsqu'elle est prête.
Gestion du cycle de vie — Vous pouvez utiliser la gestion du cycle de vie des applications pour personnaliser les commandes exécutées après le démarrage et avant l'arrêt d'une application, et ainsi mettre en œuvre un arrêt gracieux.
Accès réseau et invocation de service
Invocation de service — Utilisez l'enregistrement et la découverte de services pour permettre l'invocation de services entre les applications.
Accès externe — Activez l'accès externe à une application en liaison à un NLB, en liaison à un CLB ou en configurant une route de passerelle.
Accès sortant — Autorisez une application à accéder à des ressources ou services externes en configurant une passerelle NAT ou en associant une EIP à une instance d'application.
Persistance des données
Stockez les données de l'application dans NAS, OSS ou une base de données pour éviter toute perte de données lors de la modification ou de l'arrêt d'une application.
Journalisation et surveillance
Journaux et métriques — Après avoir déployé une application, vous pouvez consulter les journaux en temps réel et afficher l'utilisation des ressources et la charge sans configuration supplémentaire. Vous pouvez également exporter les journaux vers Simple Log Service ou Kafka pour une gestion et une analyse centralisées.
-
Surveillance des applications — ARMS vous aide à suivre l'état de santé des applications, à identifier rapidement les API défaillantes et lentes, à détecter les goulots d'étranglement de performance et à reproduire les paramètres d'appel, ce qui améliore l'efficacité du dépannage en production.
Pour les applications Standard Edition, vous pouvez afficher les données de surveillance ARMS Basic Edition après le déploiement sans configuration supplémentaire. Vous pouvez également activer et acheter la surveillance ARMS Premium Edition.
Pour les applications Professional Edition, après avoir activé l'option Application Monitoring dans les Advanced Settings et déployé l'application, vous pouvez afficher les données de surveillance ARMS Premium Edition. Aucun frais supplémentaire n'est requis.
Autres fonctionnalités
-
Microservices Governance — La fonctionnalité Microservices Governance offre les options Graceful Start and Shutdown, protection du trafic, déploiement canari de bout en bout et Intra-zone Provider First pour les applications Java. Tenez compte de cette portée avant d'activer la fonctionnalité pour une application PHP.
Pour les applications Standard Edition, accédez à la page des détails de l'application après le déploiement pour activer et acheter la fonctionnalité MSE Microservices Governance.
Pour les applications Professional Edition, après avoir activé l'option Microservices Governance dans les Advanced Settings, vous pouvez configurer l'option Graceful Start and Shutdown. Pour plus de fonctionnalités, accédez à la page des détails de l'application après le déploiement. Aucun frais supplémentaire n'est requis.
CPU Burst — Vous pouvez activer la fonctionnalité CPU Burst pour éviter le gaspillage de ressources lorsque les besoins en CPU sont plus élevés au démarrage que pendant le fonctionnement normal.
Conteneurs sidecar — Vous pouvez découpler et standardiser les fonctionnalités non métier du conteneur principal en ajoutant un conteneur sidecar.
Vérifier le déploiement
La création de l'application prend environ 1 à 2 minutes. Vérifiez le résultat comme suit :
L'application apparaît sur la page Application List.
Vous pouvez afficher les enregistrements des modifications pour vérifier que le déploiement a réussi.
Gérer un échec de déploiement
Si le déploiement échoue, aucune instance d'application n'est créée. Résolvez le problème en vous basant sur le message d'erreur affiché dans Change Details.
Étapes suivantes
Modifier la configuration de l'application — Sur la page Application List, cliquez sur l'application cible pour accéder à sa page de détails. Ensuite, cliquez sur Deploy Application ou sur Modify Application Configurations en haut de page. L'application redémarre automatiquement pour appliquer la nouvelle configuration ; effectuez donc cette opération pendant les heures creuses.
Se connecter à une instance — Vous pouvez vous connecter à une instance d'application via Webshell et interagir avec l'instance à l'aide de commandes console.
Mettre à l'échelle l'application et réduire les coûts — Vous pouvez ajuster manuellement le nombre d'instances et la spécification de l'instance, ou ajuster automatiquement le nombre d'instances en configurant une politique Auto Scaling. Vous pouvez également réduire les coûts en activant le mode inactif.