Si eres desarrollador y ya has terminado de desarrollar tu aplicación web, probablemente estás pensando en dónde subirla o lo que se llama hacer deploy o desplegar tu proyecto.
Y para esto hay muchas opciones, desde baratas a más costosas, con más características, y algunas con más facilidades que otras.
Pero en este video me gustaría comentarte algunas formas baratas de desplegar un proyecto, gastando solo lo necesario para que el proyecto pueda funcionar decentemente y sin gastar mucho.
Ahora, algo que debes tener en cuenta es que si bien hay servicios que tienen planes gratuitos, el ahorro viene por parte de hacerlo tú mismo.
Hacerlo tú mismo
Actualmente hay muchos servicios en la nube que facilitan el despliegue de proyectos. De hecho, no solo el despliegue, sino también la escalabilidad, es decir, proporcionarte los recursos para que tu aplicación sirva a miles o millones de usuarios. También incluyen el despliegue automático y el acceso a los proyectos que subas en sus plataformas.
Todas estas plataformas en la nube tienen muchas opciones y configuraciones.
Sitios Estáticos
Un sitio estático, desde el punto de vista del desarrollador, no del usuario, es un sitio web que solo tiene archivos que son HTML, CSS y JavaScript, y que no necesitan ser generados o interpretados en el momento de ejecutarse.
Por ejemplo, si creas sitios con React, Angular, Vue, Svelte, estos pueden generar sitios estáticos. No porque el contenido no cambie, sino porque los archivos fuentes ya están generados y no necesitan de ningún lenguaje de programación para funcionar. Este tipo de proyectos pueden ser subidos en plataformas de despliegue de sitios estáticos como:
- Netlify
- Cloudflare Pages
- Github Pages
- Gitlab Pages
- Vercel
- Surge
- Google Firebase
- Azure Static Web Apps
Muchos de estos ofrecen planes gratuitos y te permiten subir incluso sitios web de forma ilimitada, pero el problema está en que miden el Bandwidth o ancho de banda. Esto es porque es el contenido que realmente se sube, así que si llevas algunos proyectos pequeños y no tienes gran cantidad de visitantes, yo te recomendaría Cloudflare Pages, donde en su plan gratuito:
- 1 compilación a la vez
- 500 compilaciones/mes
- Análisis web integrados
- Usuarios con cuenta de administrador ilimitados sin coste
- Sitios ilimitados
- Solicitudes ilimitadas
- Ancho de banda ilimitado
La razón es que este te cobra por "concurrent builds" o construcciones concurrentes, las cuales son útiles para proyectos con múltiples ramas de desarrollo, equipos colaborando en paralelo, o cuando se tienen varias solicitudes de compilación que necesitan ser procesadas simultáneamente. Pero si eres un solo desarrollador que está empezando, probablemente no necesites esto.
Otro servicio que no cuesta nada para subir sitios estáticos es Github Pages. El objetivo de esta plataforma es que muchos desarrolladores suban sus documentaciones de proyectos, pero también puedes usarlo para subir cualquier web, como tu portafolio o un blog personal sin costo alguno.
Ahora, estos dos servicios funcionan como hosting porque las webs desplegadas aquí salen con un subdominio de Cloudflare o GitHub Pages, así que probablemente quieras un dominio personalizado. Si ese es tu caso, puedes usar webs como Freenoon o InfinityFree, que proveen nombres de dominio gratuitos. Sin embargo, muchos de estos dominios gratuitos llevan publicidad o están amarrados a la plataforma que te los proporciona. Por eso, lo recomendable es comprar un dominio en una plataforma confiable, lo cual te costará alrededor de 10$. Si a tu web le va bien, querrás que todo el tráfico llegue a tu sitio sin restricciones, además de mejorar la reputación y credibilidad de tu proyecto.
De hecho, algunos de los frameworks que he mencionado usan una herramienta llamada Vite.js, y en la página de esta herramienta hay guías sobre cómo desplegar estos frameworks en este tipo de plataformas.
Hosting Compartido
El hosting compartido es ideal para:
- Desplegar proyectos Wordpress.
- Manejar correos.
- Dejar el manejo del hosting a un tercero.
Virtual Private Servers (VPS)
Plataformas como Railway, Render, y Vercel son populares, pero otra forma de ahorrar es pagando un VPS y desplegando tu propio PaaS. Para esto existen proyectos como:
También puedes usar servicios como DigitalOcean o EC2 de Amazon.
La experiencia de usuario no es la misma que con plataformas como Railway o Vercel, pero el resultado es similar, y podrías ahorrarte hasta la mitad del precio que gastarías en PaaS populares.
Serverless Functions
Finalmente, si quieres explorar más opciones, podrías considerar las funciones serverless. Algunos recursos para alojarlas tú mismo incluyen: