Introducción al Despliegue de Aplicaciones Web
Despliegue de Aplicaciones Web
José Juan Sánchez Hernández
Curso 2024/2025
Introducción al
Despliegue de Aplicaciones Web
Para desplegar una aplicación web vamos a necesitar una
infraestructura que nos permita alojarla y hacerla
accesible a los usuarios a través de Internet.
A continuación, se describen las opciones más comunes para desplegar
una aplicación web.
1. Hosting Compartido
En un hosting compartido, las aplicaciones web comparten los recursos
del servidor (CPU, RAM, espacio de disco, etc.) con otros sitios web que
están alojados en el mismo servidor físico.
Ventajas:
- Es la opción más económica.
- Fácil de gestionar a través de paneles de control como Plesk o cPanel.
- Es ideal para principiantes o proyectos pequeños.
Desventajas:
- Pueden existir problemas de rendimiento, debido a que se están
compartiendo los recursos del servidor con otros sitios web.
- Tienes poco control sobre la configuración del servidor y lo que
puedes instalar en él.
Ejemplos de proveedores:
2. VPS (Virtual Private
Server)
En este caso, el servidor físico se divide en varios servidores
virtuales o Virtual Private Server (VPS), donde cada uno tiene
asignados sus propios recursos.
Se trata de una opción intermedia entre el hosting compartido y un
servidor dedicado.
Ventajas:
- Tienes más control sobre la configuración del servidor y lo que
puedes instalar en él.
- Puede ofrecer un mejor rendimiento que el hosting compartido.
Desventajas:
- El coste es mayor que el del hosting compartido.
- Necesitas tener algunos conocimientos técnicos básicos sobre cómo
gestionar un servidor.
Ejemplos de proveedores:
- DigitalOcean
- OVH
- Algunos proveedores de hosting compartido también ofrecen planes de
VPS.
3. Servidor Dedicado
En un servidor dedicado, tienes un servidor físico completo donde
sólo se alojará tu aplicación web.
- Ventajas:
- Tendremos mejor rendimiento ya que no compartimos los recursos con
otros sitios web.
- Ideal para aplicaciones grandes, con mucho tráfico.
- Desventajas:
- Es una opción más cara que el hosting compartido y un VPS.
- Necesitas conocimientos técnicos avanzados para administrar el
servidor (seguridad, actualizaciones, etc.).
- Ejemplos de proveedores:
- Hetzner
- Algunos proveedores de VPS también ofrecen planes de servidores
dedicados.
4. Cloud Computing
Los servicios de Cloud Computing que podemos utilizar para desplegar
aplicaciones web son los siguientes:
- IaaS (Infraestructure as a Service).
- PaaS (Platform as a Service).
- FaaS (Function as a Service) o
Serverless.
- CaaS (Containers as a Service).
- KaaS (Kubernetes as a Service).
4.1 IaaS (Infrastructure
as a Service)
Proporciona recursos de infraestructura como servidores virtuales,
redes y almacenamiento. En este servicio el usuario se encarga de
gestionar todo lo demás, desde la configuración del sistema operativo
hasta el software de la aplicación que quiera desplegar.
Esta opción es más flexible que PaaS, pero también más compleja de
gestionar.
- Ventajas:
- Ofrece más flexibilidad y control al usuario para configurar el
entorno según las necesidades específicas de su aplicación.
- Facilita la escalabilidad ya que puedes aumentar o reducir la
infraestructura según la demanda.
- Desventajas:
- Requiere conocimientos técnicos avanzados.
- El coste depende de los recursos que se usen. Puede ser más caro que
otras opciones.
- Ejemplos de proveedores:
Estas plataformas gestionan la infraestructura y se enfocan en
simplificar el despliegue de las aplicaciones. El usuario sólo se tiene
que preocupar de la aplicación y la plataforma se encarga del resto
(servidores, escalabilidad, mantenimiento).
- Ventajas:
- Es fácil de usar. Ideal para desarrolladores que no quieren
complicarse con la administración de servidores.
- Permite el autoescalado en función de la demanda.
- Desventajas:
- Tienes menos control ya que no tienes acceso al servidor donde se
ejecuta la aplicación.
- El coste depende de los recursos que se usen. Puede ser más caro que
otras opciones.
- Ejemplos de proveedores:
4.4 FaaS (Function as a
Service) o Serverless
Este tipo de servicio no se utiliza para desplegar aplicaciones web
completas, sino que se utiliza para desplegar funciones
que responden a eventos o peticiones HTTP. El usuario no gestiona ningún
servidor, es el proveedor el encargado de ejecutar las funciones en su
infraestructura.
- Ventajas:
- Sólo pagas por el tiempo que tu código está activo.
- Ideal para aplicaciones que tienen cargas de trabajo
intermitentes.
- No necesitas gestionar servidores.
- Desventajas:
- Tienes menos control sobre el entorno de ejecución.
- Sólo es útil para tareas pequeñas, no para aplicaciones
completas.
- Ejemplos de proveedores:
4.5 CaaS (Containers as a
Service)
Las tecnologías de contenedores, como Docker, permiten empaquetar
aplicaciones y sus dependencias para garantizar que se pueda ejecutar de
la misma manera en cualquier entorno.
- Ventajas:
- Facilitan la portabilidad de las aplicaciones.
- Es ideal para arquitecturas basadas en microservicios.
- Desventajas:
- Requiere conocimientos técnicos avanzados.
- Ejemplos de proveedores:
4.6 KaaS (Kubernetes as a
Service)
Kubernetes es una plataforma para orquestar y gestionar contenedores
a gran escala.
- Ventajas:
- Kubernetes facilita la gestión de aplicaciones distribuidas y su
escalado.
- Desventajas:
- Requiere conocimientos técnicos avanzados.
- Ejemplos de proveedores:
5. Hosting estático con CDNs
(Content Delivery Network)
Para desplegar aplicaciones web estáticas (HTML, CSS y JavaScript)
podemos utilizar una CDN (Content Delivery Netowrk) para
distribuir el contenido en servidores que están repartidos por todo el
mundo.
- Ventajas:
- Muy eficiente para sitios web estáticos.
- Existen proveedores gratuitos y muy económicos.
- Mejora la velocidad de carga de los sitios web estáticos.
- Desventajas:
- Está limitado para contenido de sitios web estáticos.
- Ejemplos de proveedores:
- GitHub Pages
- Cloudflare Pages
- Surge.sh