La informática sin servidor es un modelo de ejecución basado en la nube que permite que las aplicaciones se alojen como un servicio, sin la necesidad de mantener un servidor.

El proveedor de servicios mantiene la asignación de recursos en el servidor y se factura al usuario en función del uso real. El enfoque cambia a la aplicación principal que uno está creando y la infraestructura es manejada únicamente por el proveedor de servicios. La informática sin servidor también se conoce como función como servicio (FaaS).

En otras palabras, Serverless PHP es la implementación de la computación sin servidor con un PHP backend Para darle un ejemplo.

En esta guía, analizaremos de cerca lo que significa Serverless PHP, sus principales características y sus ventajas y desventajas para proporcionarle una mejor comprensión de este enfoque hacia la computación en la nube.

Específicamente, veremos el concepto de computación sin servidor, sus casos de uso y alcance, ventajas e inconvenientes, una implementación simple de PHP sin servidor con Bref y el estado de PHP sin servidor en los tres grandes (Amazonas, Microsoft y Google).

Listo? ¡Empecemos!

Tradicionalmente, necesitabas el hardware para que un servidor configurara una aplicación en Internet. La máquina (o máquinas) del servidor estaría físicamente conectada a Internet para que alguien acceda a su aplicación. El mantenimiento del servidor fue un asunto costoso.

A continuación, la evolución de los servicios de alojamiento permitió a los webmasters comprar espacio de alojamiento: cada servidor podía contener múltiples aplicaciones. Esto redujo los costos.

Con el surgimiento de computación en la nube, las economías de escala redujeron aún más los costos, ya que podría alquilar una pequeña cantidad de espacio en una gran granja de servidores remota. De hecho, la informática sin servidor le permite pagar solo por los servicios que utiliza. Cuando no está en uso, prácticamente no está utilizando ningún espacio o recurso en la nube.

La informática sin servidor simplifica el proceso de desarrollo de software: permite que una organización se centre únicamente en el desarrollo sin preocuparse por la implementación, el mantenimiento del servidor y escalada.

PHP sin servidor: los fundamentos

Tendencias para el término "sin servidor" en Google

Para implementar una aplicación PHP sin servidor, primero debe explorar el concepto de computación sin servidor. Si bien el término sin servidor apareció por primera vez en este artículo sobre el futuro del desarrollo de software a partir de 2012 en ReadWrite, ganó popularidad con el lanzamiento de AWS Lambda en 2014.

En esta sección, centrémonos en algunos conceptos clave relacionados con la informática sin servidor e intentemos responder a una pregunta común que rodea a esta tecnología: ¿es realmente “menos servidor”?

Características de PHP sin servidor

La implementación es una tarea fácil sin administrar el servidor. Simplemente carga su código en el servidor y el proveedor se encarga del resto. La tecnología sin servidor le permite tener funciones independientes del idioma, interactuando entre sí.

Por ejemplo, si tiene una aplicación de mensajería, el módulo de inicio de sesión puede estar codificado en un idioma y la función que actualiza su estado puede estar codificada en un idioma diferente.

Si bien esto todavía es posible sin un servidor sin servidor, definitivamente es más difícil interactuar. Cada vez que una acción activa su función, se genera una instancia para manejarla.

Este proceso de generación de una instancia puede ser "cálido", donde usa una instancia existente, o "frío", donde comienza una nueva instancia. Hay un ligero retraso en este proceso, especialmente un arranque en frío, en comparación con hosting tradicional, donde su servidor siempre está en modo de espera para manejar las solicitudes.

Sin embargo, la situación entre el alojamiento tradicional y sin servidor se convierte exactamente en lo opuesto cuando tiene que manejar una gran cantidad de solicitudes. La escalabilidad viene inherentemente con la tecnología sin servidor. Si tiene un requerimiento repentino de mil solicitudes simultáneas, el proveedor se encargará de ellas sin ningún esfuerzo o configuración adicional de su parte.

¿PHP sin servidor es realmente sin servidor?

No permita que el término "sin servidor" lo confunda. No significa que el "servidor" no exista. Cuando utiliza una aplicación sin servidor, hay un servidor en segundo plano que procesa su entrada y calcula la salida necesaria.

El "sin" está presente en el término desde la perspectiva de desarrollador, que nunca está expuesto a varios elementos del servidor. Por lo tanto, si implementa una aplicación PHP sin servidor, hay un servidor real que se ejecuta en la nube que atiende las solicitudes.

BaaS vs arquitecturas sin servidor

Si bien la “computación sin servidor” no está bien definida, también puede referirse a aplicaciones BaaS (Backend as a Service). BaaS también se refiere a un modelo de computación en la nube, en el que las operaciones del servidor se subcontratan a un tercero y un desarrollador solo necesita centrarse en crear y mantenimiento del software.

La similitud principal entre BaaS y Serverless es el hecho de que el desarrollador no se centra en la administración del servidor. Muchas organizaciones proporcionan paquetes BaaS y FaaS bajo el mismo paraguas.

Aquí están los principales diferencias entre BaaS y la informática sin servidor:

  • Componentes: las aplicaciones BaaS son similares a sus contrapartes tradicionales, un desarrollador no puede realizar cambios en su estructura para adaptarse a BaaS. En sin servidor, la aplicación se divide en partes lógicas llamadas funciones, y cada una de estas funciones responde a un evento y realiza una tarea específica.
  • Escalabilidad: la escalabilidad es un componente crucial en una aplicación sin servidor: se asignan más recursos con un aumento en el tráfico. No es un módulo necesario para aplicaciones BaaS, aunque algunos proveedores de servicios lo proporcionan como un complemento.
  • Desencadenantes: una aplicación sin servidor está controlada por eventos, lo que significa que una actividad particular desencadena la aplicación cada vez que ocurre. Por otro lado, una aplicación de BaaS puede estar ejecutándose en segundo plano utilizando recursos continuamente como una aplicación tradicional.
  • Arquitectura modular: en la arquitectura sin servidor, es posible que varias funciones de una aplicación residan y se ejecuten en diferentes servidores, pero que se ejecuten sin problemas debido a su integración. Una aplicación BaaS puede seguir o no esta estructura.

PHP sin servidor: casos de uso

Hemos discutido varios aspectos de la computación sin servidor y cómo es diferente de BaaS. Si bien hemos cubierto los conceptos básicos de la informática sin servidor, exploremos las situaciones en las que es posible que desee emplear dicha arquitectura.

Es posible que se haya dado cuenta de que puede no ser una buena idea alojar aplicaciones complejas en tecnologías sin servidor. Sin embargo, incluso si decide no implementar una aplicación completa a través de PHP sin servidor, puede implementar módulos.

Discutiremos dos ejemplos de implementaciones de una pila sin servidor en esta sección: bases de datos y almacenamiento de archivos.

Una base de datos sin servidor es una base de datos a pedido que le permite ejecutar consultas siempre que las necesite. El escalado es fácil debido a la pila sin servidor y el proveedor le factura solo por la cantidad de tiempo que usa el recurso.

Aurora amazónica y Almacén de datos de Google Cloud son ejemplos de bases de datos sin servidor disponibles en el mercado hoy. Un sistema de almacenamiento de archivos sin servidor se implementa como tiendas de objetos. Los archivos no se tratan como una jerarquía en un sistema de archivos, sino como objetos, que contienen los datos del archivo en sí y sus metadatos. El almacenamiento y la recuperación son a través de un API tipo REST.

IBM Cloud le proporciona un almacenamiento de objetos Servicio. Otros casos de uso comunes de aplicaciones sin servidor son API y backends móviles, cuyos diseños se basan en funciones pequeñas, lógicas e interdependientes.

PHP sin servidor: ventajas

En esta sección, analizamos las principales ventajas de la informática sin servidor y por qué está ganando terreno en los últimos años.

Costos de servidor reducidos

Teóricamente, la informática sin servidor conduce a costos mas bajos en comparación con el alojamiento tradicional. La razón inherente es simple: está utilizando el servicio por períodos de tiempo específicos y no hay costos de mantenimiento durante los tiempos de inactividad. Si te enfrentas tráfico constante en el tiempoSin embargo, adoptar una arquitectura sin servidor puede no generar una gran diferencia en los costos.

Implementación más fácil

La implementación de un servicio sin servidor no requiere que usted configura tu servidor y configúralo. La implementación de una aplicación sin servidor también se realiza mediante funciones simples. Es más fácil crear una versión de la aplicación y ponerla a disposición en la nube. Todo el proceso de implementación, por lo tanto, es más fácil y más eficiente.

Escalabilidad

En una configuración tradicional, uno debe hacer muchos esfuerzos para escalar para atender a un mayor tráfico. Por otro lado, el proveedor de servicios se encarga de la asignación de recursos cuando hay un aumento en el tráfico. En consecuencia, es más fácil escalar cuando se implementa en una arquitectura sin servidor.

PHP sin servidor: inconvenientes

Si bien la informática sin servidor tiene su conjunto de ventajas, uno debe ser consciente de sus posibles inconvenientes antes de comprometerse.

Actuación

El problema principal que los usuarios destacan con la informática sin servidor es la caída en el rendimiento. Si bien se basa en eventos, se requieren unos cientos de milisegundos para generar una microinstancia para atender una solicitud.

Este retraso puede ser significativo para aplicaciones de tiempo crítico. Con un aumento en la complejidad de una aplicación, los componentes que residen en varias ubicaciones se suman a este retraso. Este retraso de tiempo aditivo puede ser perjudicial para la experiencia del usuario.

(Lectura sugerida: Introducción a la creación de sitios web con Gatsby y WordPress)

Dependencia de un proveedor

Mientras que la arquitectura sin servidor le permite centrarse únicamente en tu codigo, el vendedor obtiene el control total de la infraestructura. Por lo tanto, no puede cambiar su proveedor si se queda sin servidor, ya que la migración puede ser una tarea difícil.

Depuración

Los proveedores se encargan del despliegue de extremo a extremo de las aplicaciones sin servidor. Por lo tanto, un desarrollador debe depender del proveedor para proporcionar registros para depurar. El proceso de depuración de una aplicación sin servidor para identificar la causa raíz también es difícil.

PHP sin servidor: Comenzando con Bref en Lambda

Si bien hemos explorado la arquitectura sin servidor, ahora veremos lo que necesita para implementar una aplicación PHP a través de un servicio sin servidor.

Como ya habrás adivinado, la implementación de una aplicación sin servidor es altamente específico para el vendedor. Por lo tanto, esta publicación intenta abordar las implementaciones de una aplicación PHP sin servidor en Amazon AWS. Bref, o brief en francés, es un paquete Composer que le permite implementar aplicaciones PHP en AWS a través de Lambda.

Bref está en constante evolución, por lo que probablemente debería verificar Matriz de madurez de Bref para evaluar si es una buena idea portar su aplicación a una arquitectura sin servidor.

Requisitos previos para PHP sin servidor con Bref

Primero, ve a Amazon AWS y crea una cuenta. Lo necesitará para implementar su aplicación. Luego, necesitas instalar el framework sin servidor para administrar su implementación.

npm install -g sin servidor

Próximo, genera tu par de claves pública-privada en AWS y configure el marco sin servidor localmente.

credenciales de configuración sin servidor –proveedor aws –clave -secreto

A continuación, instale Bref a través de Composer:

compositor requiere bref / bref

Antes de la implementación, debe instalar las dependencias de Composer.

instalación del compositor –prefer-dist –optimize-autoloader –no-dev

Cree una aplicación Hello World en PHP sin servidor con Bref

Para crear una aplicación simple hello world con Bref, escribiremos una función que se active por un evento y devuelva la cadena "Hello World".

Primero, debe incluir el script autoload.php de Bref y luego usar su función lambda. Opcionalmente puedes declarar una variable de contexto si desea acceder a los datos del contexto.

requiere __DIR __. '/ vendor / autoload.php';
lambda (función ($event) {
volver 'Hola mundo');
});

Mientras la función está lista, debe crear un archivo de configuración serverless.yml. Aquí hay un archivo de configuración básica de la guía de Bref.

servicio: aplicación
proveedor:
nombre: aws
tiempo de ejecución: proporcionado
complementos:
- ./vendor/bref/bref
funciones:
Hola:
manejador: index.php
capas:
- $ {bref: layer.php-73}

Bref crea este archivo de configuración automáticamente cuando ejecuta el siguiente comando.

vendedor / bin / bref init

Ahora que está listo con su función y la configuración, puede invocar la función para verificar que se ejecute según lo previsto utilizando el comando invoke del paquete sin servidor:

invocación sin servidor -f hola

Aquí hay una guía sobre el despliegue local de aplicaciones sin servidor utilizando la herramienta de línea de comandos sam de AWS. Una vez que su proyecto esté listo, puede implementarlo utilizando el comando de implementación de serverless. Use la opción –verbose para recibir detalles del proceso de implementación:

despliegue sin servidor

Otras opciones de implementación para PHP sin servidor

Bref PHP en AWS Lambda es una opción popular. Sin embargo, hay algunas otras opciones para sus aplicaciones PHP sin servidor.

Vapor, lanzada por Laravel en julio de 2019, es una plataforma de implementación sin servidor para Laravel en AWS Lambda. Vapor convierte su aplicación Laravel en una sola función lambda. Mientras Azure sin servidor oficialmente no es compatible con PHP, aún puedes intentarlo usando este ejemplo de implementación.

PHP sin servidor está ganando más atención a medida que pasan las semanas. Pero que es exactamente? ¿Es realmente sin servidor? ¿Como funciona? ¡Obtenga todas las respuestas a estas, y más, preguntas en esta guía detallada! ☁️?

Haga clic para tuitear

Resumen

Estos son aspectos clave que debe eliminar de esta guía en PHP sin servidor:

  • Antes de considerar el uso de PHP sin servidor para su aplicación, asegúrese de ser plenamente consciente de lo que es la informática sin servidor, sus ventajas y sus inconvenientes.
  • Hay tres factores principales que debe tener en cuenta al portar su aplicación a un marco PHP sin servidor. Considere la complejidad de la aplicación, el tiempo crítico de sus componentes y la escalabilidad en el futuro.
  • PHP sin servidor todavía es bastante nuevo en el mercado. Asegúrese de ejecutar un piloto con Bref en uno de los proveedores antes de comprometerse por completo.

Si bien el servidor sin servidor se está volviendo muy popular, también requiere una comprensión profunda de cómo funciona la tecnología para aprovecharlo.

Para todos los demás casos, utilizando un host administrado de WordPress como Kinsta puede simplificar enormemente su flujo de trabajo.


Si te ha gustado este artículo, te encantará la plataforma de alojamiento de WordPress de Kinsta. Acelere su sitio web y reciba soporte 24/7 de nuestro veterano equipo de WordPress. Nuestra infraestructura impulsada por Google Cloud se centra en el autoescalado, el rendimiento y la seguridad. ¡Permítanos mostrarle la diferencia de Kinsta! Mira nuestros planes



Enlace fuente