SymfonyCloud ya está listo para producción

Después de dos años de desarrollo, y tras varios años e investigación y desarrollo realizados por nuestros partners, el servicio SymfonyCloud ya está listo para utilizarse en producción.

SymfonyCloud se lanzó públicamente en noviembre de 2018, aunque todavía en fase "early access". El pasado 15 de julio de 2019, SymfonyCloud se lanzó definitivamente como "general availability", lo que significa que ya se puede usar en producción con todas las garantías.

¿Qué es SymfonyCloud?

SymfonyCloud, es un servicio PaaS ("platform as a service") optimizado para aplicaciones Symfony. Se trata de un servicio completamente gestionado, por lo que no te tienes que preocupar por actualizar o mantener tus servidores.

A diferencia de otros servicios similares, todos los "extras" están incluidos en el precio, por lo que puedes usar MySQL/MariaDB, PostgreSQL, Redis, Memcached, Elasticsearch, RabbitMQ, MongoDB, Influx DB, Solr, Varnish, Kafka, etc. sin tener que pagar ninguna otra suscripción (y sin tener que actualizar y mantener esos servicios tu mismo).

En la práctica, SymfonyCloud solo requiere que definas un pequeño archivo de configuración en tu proyecto describiendo la infraestructura que necesita (qué tipo de base de datos y qué version, etc.) A partir de ahí, solo tienes que ejecutar el comando symfony deploy y ya tienes la aplicación en producción.

Ventajas de usar SymfonyCloud

La mayor ventaja de SymfonyCloud para programadores/as Symfony es que el servicio está 100% optimizado y orientado a Symfony. La gestión de las aplicaciones se realiza siguiendo todas las buenas prácticas de Symfony (como por ejemplo el uso de variables de entorno) y es compatible con todos los últimos desarrollos de Symfony (como los workers que son compatibles con el componente Messenger).

La otra ventaja es el despliegue de aplicaciones. Con SymfonyCloud consigues algo similar a Kubernetes (despliegue basado en contenedores, rolling updates, etc.) sin tener que hacer, tocar o configurar nada. Solamente esta simplificación ya permite amortizar rápidamente el coste del servicio.

Por último, después de haber usado SymfonyCloud durante varios meses trabajando en aplicaciones de la empresa Symfony (como por ejemplo symfony.com), para mí una de las mayores ventajas es el uso de "entornos". Gracias a los entornos, solucionar errores complicados es mucho más fácil:

  • Creas un nuevo entorno basado en "master" y SymfonyCloud te copia todos los servicios e incluso la información de la base de datos.
  • Haces cambios en la rama del nuevo entorno, los subes y despliegas la nueva versión.
  • SymfonyCloud te da una URL pública (pero no accessible porque tiene un ID no adivinable como parte de la URL) y ya puedes probar los cambios en producción con toda la información real. También puedes enviar esta URL a tu cliente para que pruebe los cambios.

La mejora de productividad que te dan los entornos es enorme y también es una de las razones por las que el coste del servicio se amortiza muy rápidamente. Y si no quieres crear todo un entorno, ejecutas el comando symfony tunnel:open y puedes probar en local la aplicación con los datos reales de producción. De nuevo, una gran mejora de productividad.

Más información

Fuente: SymfonyCloud: from Early Access to General Availability

Comentarios

Publicada el

16 de julio de 2019

Etiquetas

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.