SymfonyCloud, el nuevo servicio de hosting en la nube de Symfony
SensioLabs, la empresa a la que pertenecía Symfony hasta hace poco, presentó SensioCloud hace dos años, durante la conferencia SymfonyCon Berlin 2016. Fue el primer proyecto "cloud" relacionado con Symfony y estaba dirigido a grandes empresas. Visto el éxito del servicio entre ese tipo de empresas, nos preguntamos si sería posible crear un servicio "cloud" optimizado para Symfony y abierto a todo tipo de empresas y profesionales.
De esta forma nace SymfonyCloud una plataforma creada por y para los programadores/as Symfony. Incluye herramientas para facilitar el desarrollo local de tus aplicaciones y para desplegarlas en producción sin esfuerzo.
SymfonyCloud se integra completamente con Symfony y su funcionamiento está basado en las mejores prácticas oficiales de Symfony. Además, SymfonyCloud te permite definir tu infraestructura usando archivos de configuración.
Las versiones de PHP que necesitas, los servicios que requiere tu aplicación (bases de datos, Redis, ElasticSearch, etc.), las tareas programadas, los workers y muchas cosas más se definen en archivos de configuración. Así, cada vez que añadas código a tu aplicación que requiera cambios en la infrastructura de tus servidores, podrás definir, probar y mergear todo a la vez.
Olvídate de configurar servidores a mano. Olvídate de mantener aplicaciones como bases de datos. Olvídate de optimizar todos los servicios que usa tu aplicación. Define lo que necesitas en un archivo de configuración, despliega tu proyecto y listo.
La consola es lo primero
SymfonyCloud está pensado para programadores/as, así que todo se hace mediante
la consola de comandos. El binario de SymfonyCloud se llama symfony
y este es
un pequeño ejemplo de cómo se usa:
# Crea un nuevo proyecto Symfony basado en la aplicación "Symfony Demo" $ symfony new --demo mi-proyecto # Puedes desplegar la aplicación ya mismo, porque SymfonyCloud # detecta qué extensiones de PHP necesita tu aplicación y qué # servicios como bases de datos requiere. $ symfony deploy # Este comando crea una nueva rama y replica la infraestructura y # los datos de producción en ella. Así puedes probar cómo se verá # en producción sin miedo a romper nada en producción. $ symfony env:create nueva-funcionalidad # Ejecuta este comando para abrir en el navegador la URL remota # que permite ver cómo se ejecuta esa nueva funcionalidad (ideal para # compartir la URL con tus clientes y colegas de trabajo) $ symfony open:remote # Los datos de producción cambiarán a menudo. Ejecuta este comando para # sincronizar otra vez toda la información en la rama "nueva-funcionalidad" $ symfony env:sync # Como estamos replicando producción, no verás la barra de depuración de # Symfony. ¡No hay problema! Ejecutas este comando y listo. $ symfony env:debug # ¿Necesitas ver los logs de producción? $ symfony logs all # Ejecuta este comando para hacer tu servidor más o menos potente $ symfony project:scale
Y esto es solo una pequeña muestra. El binario symfony
incluye un montón de
comandos útiles. Además, este binario no está pensado solo para usuarios de
SymfonyCloud sino para cualquier programador/a Symfony.
Por ejemplo, para crear un nuevo proyecto puedes ejecutar symfony new mi-proyecto
(para basar tu proyecto en symfony/skeleton
) o symfony new --full mi-proyecto
(para basarlo en symfony/website-skeleton
).
Este es otro ejemplo de comando super útil para cualquier programador/a Symfony:
$ symfony security:check
Se trata de un comando parecido al que proporciona sensiolabs/security-checker
y que seguramente ya estás usando en tus proyectos. La diferencia es que este
nuevo comando comprueba los problemas de seguridad de tu proyecto sin hacer
ninguna llamada a la API de Symfony. Pruébalo y verás la diferencia.
Otra ventaja del binario symfony
es que no tiene ninguna dependencia. Además,
funciona en cualquier sistema operativo Linux, Windows o macOS. Lo bajas, lo
instalas en 30 segundos y ya puedes usarlo.
Fuente: SymfonyCloud, el nuevo servicio de hosting en la nube de Symfony
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.