Empaquete su aplicación PHP como un archivo ZIP que cumpla con los requisitos de Serverless App Engine (SAE) y, a continuación, despliegue el paquete en SAE como una aplicación.
Requisitos previos
Paquete de código PHP: empaquete su aplicación como un archivo ZIP que cumpla con PHP code package specifications.
Entorno PHP: identifique PHP environment compatible con su código.
Recursos de red: (opcional) Para desplegar la aplicación en un namespace existente, cree previamente namespace, vSwitch y security group.
Ediciones de la aplicación
La Lightweight Edition y la Professional Edition se encuentran actualmente en una fase beta solo por invitación. Para los usuarios que no participan en la prueba beta, las aplicaciones se crean como Standard Edition de forma predeterminada.
A continuación se describen las funciones incluidas en cada edición.
|
Edición |
Funciones incluidas |
|
Lightweight Edition |
Proporciona el conjunto mínimo de funciones necesarias para ejecutar una aplicación. No admite las funciones Application Monitoring ni Microservices Governance. |
|
Standard Edition |
Incluye la función Basic Application Monitoring. Las funciones Advanced Application Monitoring y Microservices Governance deben habilitarse y adquirirse por separado. |
|
Professional Edition |
Incluye las funciones Advanced Application Monitoring y Microservices Governance, las cuales no necesitan habilitarse ni adquirirse por separado. |
Microservices Governance ofrece sus funciones para aplicaciones Java. Dado que las ediciones difieren únicamente en las funciones listadas en la tabla anterior, el monitoreo de aplicaciones es la capacidad principal a considerar al elegir una edición para una aplicación PHP. Para consultar los datos de monitoreo y las funciones de gobernanza que proporciona cada edición, consulte la sección "Configuración avanzada" de este tema.
Creación de la aplicación
En la página SAE Application List, seleccione la región y el namespace de destino en la barra de navegación superior y, a continuación, haga clic en Create Application.
Seleccione una edición de la aplicación. Para comparar las ediciones, consulte la sección "Ediciones de la aplicación" de este tema.
En la página Create Application, introduzca un Application Name personalizado.
-
Seleccione el tipo de namespace para la aplicación. Un namespace equivale a un namespace de Kubernetes y permite aislar recursos en diferentes entornos.
ImportanteNo es posible cambiar el namespace de una aplicación después de crearla. Confirme a qué namespace pertenece la aplicación antes de crearla.
System Created: utiliza el namespace, vSwitch y security group predeterminados creados por el sistema en la región actual. Elija esta opción cuando la aplicación no necesite reutilizar recursos de red existentes.
Existing Namespace: seleccione el namespace, vSwitch y security group que creó previamente. Elija esta opción cuando la aplicación deba ejecutarse en recursos de red preparados por usted.
Establezca Application Deployment Method en Code Package-based Deployment y, a continuación, haga clic en Configure Code Package-based Deployment a la derecha.
En Technology Stack Programming Language, seleccione PHP y, a continuación, elija el entorno PHP compatible con su código.
Configure los parámetros del paquete de código y haga clic en OK. Los parámetros se describen en la sección "Parámetros del paquete ZIP de PHP" de este tema.
En la sección Capacity Settings, configure Resource Type, Single Instance Type e Instances.
(Opcional) Haga clic en Next: Advanced Settings para configurar las funciones deseadas. Las funciones disponibles se describen en la sección "Configuración avanzada" de este tema.
Haga clic en Create Application with One Click o en Create Application.
Parámetros del paquete ZIP de PHP
A continuación se describen los parámetros que se configuran para un paquete ZIP de PHP.
|
Parámetro |
Descripción |
|
Upload Method |
Cargue un paquete de código local o introduzca la URL del paquete de código. |
|
Version |
Introduzca un número de versión de la aplicación o seleccione Use Timestamp as Version Number. |
|
Time Zone Settings |
Seleccione la zona horaria en la que se ejecuta la aplicación. |
|
Startup Command |
Si empaquetó su código según las especificaciones de paquetes de código PHP, no es necesario configurar un comando de inicio. |
|
Custom Runtime Environment Settings |
(Opcional) Si se habilita, permite preinstalar herramientas, descargar o modificar archivos e instalar dependencias o extensiones del entorno de ejecución para su aplicación según sea necesario. |
|
Custom php.ini [TODO: confirmar término de UI] |
(Opcional) Al habilitarse, introduzca el contenido del archivo de configuración php.ini. SAE inicia la aplicación utilizando esta configuración. |
Personalización del entorno de ejecución
Si activa Custom Runtime Environment Settings, puede configurar los siguientes elementos:
PHP Extension.
PHP PECL Extension.
-
Personalización del entorno de ejecución mediante la línea de comandos. El siguiente script es un ejemplo:
#!/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
Personalización de la configuración php.ini
En php.ini Mount Path, establezca la ruta de montaje del archivo de configuración; por ejemplo, /usr/local/etc/php/php.ini.
Una vez desplegada la aplicación, ejecute el siguiente comando en Webshell para comprobar que el archivo de configuración está montado:
php -i | grep ini
# Example output: Loaded Configuration File => /usr/local/etc/php/php.ini
Configuración avanzada
En Advanced Settings, puede configurar las siguientes funciones opcionales para la aplicación.
Las siguientes funciones dependen de servicios que generan cargos adicionales: el centro de registro y descubrimiento de servicios MSE, NLB, CLB, rutas de gateway, NAT Gateway, direcciones IP elásticas (EIP), NAS, OSS, bases de datos, Simple Log Service y Kafka.
Entorno de ejecución y ciclo de vida
Configuración del entorno de ejecución: permite modificar variables o archivos de configuración en el entorno de ejecución tras el despliegue sin reconstruir la imagen, mediante setting environment variables, setting hosts bindings, injecting configuration information y injecting confidential information.
Comprobaciones de estado: utilice set a health check para monitorear si las instancias de la aplicación se ejecutan correctamente y están listas para manejar tráfico. Las instancias con errores se reinician automáticamente, y el tráfico no se dirige a una instancia hasta que esté lista.
Gestión del ciclo de vida: utilice application lifecycle management para personalizar los comandos que se ejecutan después de iniciar la aplicación y antes de detenerla, así como para implementar un apagado controlado.
Acceso a la red e invocación de servicios
Invocación de servicios: utilice service registration and discovery para habilitar la invocación de servicios entre aplicaciones.
Acceso externo: habilite el acceso externo a una aplicación mediante binding an NLB, binding a CLB o configuring a gateway route.
Acceso saliente: permita que una aplicación acceda a recursos o servicios externos mediante configuring a NAT Gateway o binding an EIP to an application instance.
Persistencia de datos
Almacene los datos de la aplicación en NAS, OSS o una database para evitar la pérdida de datos cuando se modifique o detenga una aplicación.
Registros y monitoreo
Registros y métricas: tras desplegar una aplicación, puede view real-time logs y view resource usage and load sin configuración adicional. También puede enviar registros a Simple Log Service o Kafka para su gestión y análisis centralizados.
-
Monitoreo de aplicaciones: ARMS le ayuda a rastrear el estado de la aplicación, encontrar rápidamente API con errores o lentas, identificar cuellos de botella de rendimiento y reproducir parámetros de llamada, lo que mejora la eficiencia en la resolución de problemas en producción.
Para aplicaciones de la Standard Edition, puede view ARMS Basic Edition monitoring data tras el despliegue sin configuración adicional. También puede habilitar y adquirir ARMS Premium Edition monitoring.
Para aplicaciones de la Professional Edition, tras habilitar Application Monitoring en Advanced Settings y desplegar la aplicación, puede consultar los datos de monitoreo de ARMS Premium Edition. No se requieren cargos adicionales.
Otras funciones
-
Microservices Governance: Microservices Governance proporciona Graceful Start and Shutdown, traffic protection, end-to-end canary release e Intra-zone Provider First para aplicaciones Java. Considere este alcance antes de habilitar la función para una aplicación PHP.
Para aplicaciones de la Standard Edition, vaya a la página de detalles de la aplicación tras el despliegue para habilitar y adquirir la función Microservices Governance de MSE.
Para aplicaciones de la Professional Edition, tras habilitar Microservices Governance en Advanced Settings, puede configurar Graceful Start and Shutdown. Para acceder a más funciones, vaya a la página de detalles de la aplicación después del despliegue. No se requieren cargos adicionales.
CPU Burst: utilice enable the CPU Burst feature para evitar el desperdicio de recursos cuando los requisitos de CPU son mayores durante el inicio que durante la operación normal.
Contenedores sidecar: desacople y estandarice las funciones no comerciales del contenedor principal mediante adding a sidecar container.
Verificación del despliegue
La creación de la aplicación tarda aproximadamente entre 1 y 2 minutos. Compruebe el resultado de la siguiente manera:
La aplicación aparece en la página Application List.
Puede view change records para verificar que el despliegue fue exitoso.
Gestión de un despliegue con errores
Si el despliegue falla, no se crea ninguna instancia de la aplicación. Resuelva el problema basándose en el mensaje de error que aparece en Change Details.
Pasos siguientes
Modificación de la configuración de la aplicación: en la página Application List, haga clic en la aplicación de destino para ir a su página de detalles. A continuación, haga clic en Deploy Application o en Modify Application Configurations en la parte superior. La aplicación se reinicia automáticamente para aplicar la nueva configuración, por lo que se recomienda realizar esta operación fuera de las horas pico.
Inicio de sesión en una instancia: puede log on to an application instance by using Webshell e interactuar con la instancia mediante comandos de consola.
Escalado de la aplicación y reducción de costos: puede manually adjust the number of instances y instance specification, o ajustar automáticamente el número de instancias mediante configuring an auto scaling policy. También puede reducir costos mediante enabling idle mode.