📚 Tabla de contenido:
Componentes del stack de hosting
Voy a hablar mucho sobre el stack de hosting aquí. Es una combinación de tecnologías y servicios que sirve como el “motor” para tu entorno de desarrollo. Hay cuatro partes típicas de un stack completo:
- El sistema operativo (OS). Este será Linux, Windows o macOS. La mayoría de los servidores funcionan con Linux, y apenas alguno con macOS [1].
- Tu tecnología de servidor web. Apache y Nginx lideran en este aspecto. Nginx es una opción moderna y eficiente. Hay muchas otras con una buena cuota de mercado también, como Cloudflare Server e incluso Node.js [2][3].
- Una base de datos. En la mayoría de los casos, esto será MySQL o MariaDB. También verás PostgreSQL, dependiendo de tu lenguaje del lado del servidor.
- El lenguaje de programación del lado del servidor. En pocas palabras, esto es lo que hace que tu sitio funcione. Para WordPress y la mayoría de la web, es PHP [4].
Voy a centrarme en los stacks típicos de Linux, Apache/Nginx, MySQL/MariaDB y PHP, conocidos como “LAMP” o “LEMP”, en esta publicación, ya que todos probablemente estemos usando WordPress. Aparte de WordPress, sin embargo, hay aún más opciones. Por ejemplo, actualmente estoy desarrollando varias aplicaciones que se ejecutan en Docker, Caddy, Redis y Python (junto con Flask y Django):
El hosting es crucial, ya que tiene un impacto directo en casi todo lo relacionado con tu sitio web. Veamos esto a continuación.
Elección de un hosting adecuado
En mi opinión, los entornos de desarrollo de WordPress se benefician de la consistencia de las restricciones tecnológicas. De los cuatro componentes de un servidor web, solo la elección del servidor web tiene un impacto. Linux, PHP y MySQL/MariaDB son una elección obvia para WordPress, y Nginx también es casi una instalación reflexiva.
Esto puede ser confuso, porque si todas las opciones de hosting te dan prácticamente el mismo stack, ¿por qué no elegir simplemente la más barata? Bueno, otros factores, como la flexibilidad en la configuración, el control y la escalabilidad y el rendimiento de la arquitectura de alojamiento son clave.
Los beneficios del alojamiento en la nube para el desarrollo de WordPress
El alojamiento compartido puede funcionar en muchos escenarios, pero no para desarrollo. En su lugar, los proveedores de alojamiento en la nube como DigitalOcean, Vultr y Linode son mejores opciones según la flexibilidad en sus configuraciones del lado del servidor. La mayoría de los proveedores te dan control sobre la escalabilidad de tus recursos también.
La nube está más cerca del “metal desnudo” que un host típico. Usar un alojamiento en la nube con paneles de control, como RunCloud o SpinupWP, te ofrece una integración más estrecha con WordPress.
Por ejemplo, yo uso servidores de DigitalOcean junto con SpinupWP para mis propios sitios web. La interfaz es excelente y la funcionalidad es casi perfecta. En contraste, también uso DigitalOcean para proyectos de Python, donde configurar un servidor puede ser un poco complicado.
Las limitaciones de los servicios de hosting de propósito general
Hosting como Bluehost o SiteGround es conveniente y fácil de usar, pero algunas limitaciones no son ideales en un entorno de desarrollo típico.
He usado muchos hosts en el pasado: GoDaddy fue el primero, luego SiteGround por mucho tiempo, y DreamHost de vez en cuando. Cada uno puede resaltar limitaciones para el desarrollo de varias maneras:
- En realidad, disfruté más usando GoDaddy de los tres ejemplos aquí. 🤷 En ese momento, era una solución flexible. Esto fue antes de que descubriera el control de versiones, los flujos de implementación y un flujo de trabajo real. Cuando intenté volver más tarde, no pude encontrar una configuración que me convenciera.
- El soporte de Git y la puesta en escena serán esenciales. Con SiteGround, estos solo están disponibles en los planes premium más altos. Puede que no sea una preocupación para ti, pero tampoco me gustó el cambio de SiteGround a un panel de control personalizado, ya que me hizo sentir “atrapado” en la provisión.
- DreamHost ofrece muchas funcionalidades para desarrolladores, pero están repartidas en varios niveles costosos. DreamObjects y DreamCompute son excelentes, pero hay una capa adicional que no se adapta a mis procesos de desarrollo.
Esta combinación de abstracción, precio y gestión de recursos podría decidir tu elección de hosting. Para alojamiento de propósito general, debes elegir dos del “triángulo oscuro” – rápido, barato y bueno – y optar por dos a expensas de los otros.
Requisitos del stack de hosting
Un stack de hosting para un entorno de desarrollo de WordPress necesita lo siguiente:
- Un precio lo suficientemente inteligente como para poder convertirlo en una elección a largo plazo.
- La menor abstracción posible al acceder a la funcionalidad del servidor, dentro de los límites de tus recursos personales como tiempo y conocimiento.
- Aislamiento de otros sitios, propietarios de sitios y configuraciones.
- Acceso a herramientas de desarrollo de WordPress como WP-CLI, Git y entornos de puesta en escena.
Lo óptimo para cumplir con estos requisitos es el alojamiento en la nube en mi opinión, especialmente junto con un panel de control del servidor como SpinupWP. Aun así, es posible que no tengas esa elección.
Es más común que un sitio use alojamiento “preconfigurado” de DreamHost, Kinsta, SiteGround y muchos otros. Con una buena configuración, esto no será un problema.
Configuraciones avanzadas para un rendimiento óptimo del servidor
Puede haber algunas excepciones, pero un servidor de host típico necesitará personalizaciones y dependencias adicionales para el desarrollo. Aquí es donde una inmersión en la documentación y base de conocimiento de cada host te ayudará. DreamHost incluso ofrece una lista dedicada de tecnologías soportadas.
Esta es una razón por la cual vale la pena investigar el hosting adecuado. Por ejemplo, se suele mencionar a SiteGround como bueno para proyectos de desarrollo. Sin embargo, no admite Node.js y solo ofrece Linux Fedora como sistema operativo. Si tu servidor de producción utiliza una distribución de Linux diferente, esto podría afectar tus pruebas. En contraste, DreamHost soporta tecnologías populares como Docker y bases de datos NoSQL.
En resumen, cuando inicio sesión en una nueva cuenta de hosting, esto es lo que personalizo:
- MariaDB tiene un rendimiento ligeramente mejor que MySQL, así que elijo eso. Para mi trabajo con Python, también uso PostgreSQL.
- Uso Git para implementar, así que configuré esto de inmediato ya que necesito empujar y tirar a través de la línea de comandos, especialmente para la puesta en escena.
- También investigaré mis opciones de caché de páginas y objetos. Con algunos hosts, no necesitarás un plugin para esto.
- Para WordPress, configuro Nginx en el servidor. Para otros proyectos, he estado trabajando con Caddy (¡que es genial!). Como ejemplo, el alojamiento compartido de SiteGround utiliza Apache.
- Busco establecer una conexión directa al servidor con SSH/SFTP y una aplicación como Cyberduck. También configuro opciones de minificación si están disponibles, mi versión de PHP y controlo el tráfico y los rastreadores, algo que DreamHost ofrece de serie.
Tus propios requisitos harán que tu lista difiera de la mía. Sin embargo, lo bueno con el hosting de propósito general es que a menudo obtienes interruptores de interfaz para configurar la mayoría de estas opciones.
Recomendaciones finales
Un host capaz para el desarrollo es esencial. Mi actual sitio web comercial de WordPress funciona en un servidor en la nube, que es mi recomendación, pero no tiene que ser la única opción. Con la funcionalidad adecuada, el hosting típico puede servirte bien. El control de versiones, la puesta en escena, las opciones de escalabilidad y el acceso a opciones de servidor de “metal desnudo” marcarán la diferencia.
Me encantaría conocer tus pensamientos sobre tu proceso de decisión al elegir un host para desarrollar en WordPress. ¡Cuéntame en los comentarios abajo!