Credit image

Recibe las actualizaciones de Emezeta.com en tu correo:
¡O sígueme en Twitter!

¿Te gusta el diseño web? ¡Echa un vistazo a la documentación de LenguajeCSS.com!

DigitalOcean: Guía para alojar tu web en un servidor VPS

Guía en español para empezar con DigitalOcean como servidor VPS y alojar nuestro propio sitio web por sólo 5 dólares al mes.

Desde hace algunos años, que probé por primera vez el servicio de Digital Ocean, me encantó su enfoque y filosofía, además de estar claramente orientado a un sector específico: los desarrolladores. Aunque no me iba mal con MediaTemple, hace poco decidí hacer una migración a DigitalOcean, y aprovechar para modernizar, "tunear" la infraestructura, reducir costes y pasarme a este flexible y estupendo proveedor.

Como viene siendo costumbre, también he decidido aprovechar la ocasión y contar un poco su funcionamiento, para que todo aquel que quiera alojar su sitio en él, pueda conocer sus posibilidades y las cosas que ofrece.

Antes de nada, decir que DigitalOcean es un estupendo servicio que me encanta personalmente, ya que está muy ligado al mundo de GNU/Linux y de la administración de sistemas. Además, es una de las compañías de «Cloud Hosting» que ha experimentado un gran crecimiento en los últimos años.

Existen otros servicios como por ejemplo AWS, de Amazon o Azure, de Microsoft, que están destinados a implementaciones más complejas, pero personalmente he preferido DigitalOcean por varias razones:

  • Precio: Para proyectos pequeños, Digital Ocean tiene un precio muy asequible. El servicio mínimo (servidor VPS) cuesta aproximadamente unos 5$ al mes.
  • Experiencia de usuario: El interfaz y los paneles de DigitalOcean son extremadamente agradables y sencillos. Hacer cualquier cosa es una delicia. Tienen un UX muy cuidado, y aunque no conozcas sus opciones tardas pocos segundos en acostumbrarte. AWS por ejemplo, es horrible en este aspecto.
  • Base de conocimiento: DigitalOcean tiene una amplia base de datos donde ofrecen guías e información para personalizar, instalar o hacer prácticamente cualquier cosa en tu servidor.
  • Paypal: DigitalOcean, al contrario que muchos otros servicios, ofrece la posibilidad de realizar pagos mediante Paypal.

Pero no son las únicas características interesantes, así que vamos a comenzar esta guía donde explicaré lo más detalladamente posible, los pasos a seguir para crearte tu propio servidor.

1. Crear cuenta de DigitalOcean (con 10$ iniciales)

El primer paso, obviamente, es crearnos una cuenta de DigitalOcean. Si utilizas el enlace anterior, accederás desde mi código y comenzarás con 10$ en tu cuenta, justo lo necesario para utilizar el plan básico durante 2 meses de forma gratuita y saber si te gusta para continuar utilizándolo.

Si eres estudiante y puedes demostrarlo de alguna forma (e-mail institucional, tarjeta de estudiante o similar), puedes acogerte al pack de GitHub para estudiantes que incluye 50$ en DigitalOcean, entre muchas otras cosas y otros servicios.

2. Facturación

Una vez registrado, tenemos una cuenta vacía que aún no tiene ningún servidor. Pero antes de crearlo, veamos como funciona todo lo relativo a las facturas y pagos en nuestra cuenta. En la esquina superior derecha, accedemos al menú Settings / Billing, donde podemos ver todos los aspectos de facturación.

En DigitalOcean no se nos cobra por uso de nuestra cuenta, ni una cantidad fija al mes, sino que se nos cobra por hora de uso de nuestros servidores. Esto nos da una serie de ventajas:

  • El servidor más básico cuesta 0,007$/h. Esto es igual a 0,007$x24h = 0,168$/día, lo que implica 0,168$x30días = 5,04$/mes.

  • Si estamos haciendo pruebas de desarrollo o necesitamos el servidor sólo en momentos especiales (no suele ser lo más común, pero puede suceder), podemos apagar nuestro servidor y hacer un snapshot. En ese caso, la tarifa se reduce a 0.05$ por GB al mes, lo que puede reducir bastante la cuota mensual a pagar.

  • Si por alguna razón nuestro servidor no estuviera disponible o hubiera algún problema, no nos cobrarían por ese servicio no brindado. En status.digitalocean.com van informando de los problemas en sus sistemas.

  • Podemos crear múltiples servidores dentro de nuestra cuenta (se cobraría por cada uno de ellos), pero el proceso de alta no se cobra. Si creamos un servidor básico y lo usamos sólo durante una hora, se nos cobraría sólo 0,007$.

DigitalOcean acepta tarjeta VISA, MasterCard, American Express, Discover y Paypal. En el resto del panel Billing puedes encontrar opciones como ver el consumo mensual actual, facturas o incluso crear alertas para que te envíen un correo si excedes de una cierta cantidad al mes.

Como curiosidad, DigitalOcean es de los pocos servicios extranjeros que he probado que ya tienen contemplado que en Canarias no se aplican los «VAT taxes». Punto a favor.

3. Características del droplet (nuevo servidor)

DigitalOcean llama a los servidores Droplets (gotitas) y su sistema de creación es realmente sencillo. Si nos fijamos en el menú principal superior, tenemos varias opciones: Droplets, Images, Networking, etc... Nos centraremos en el primero de ellos, Droplets, que es la sección donde nos aparecerán todos los servidores que tenemos en nuestra cuenta. Como ahora está vacía, vamos a la derecha, al botón Create Droplet y comenzamos.

El primer paso será elegir una distribución para nuestro servidor. Con el tiempo, Digital Ocean va añadiendo nuevos sistemas, pero de momento, podemos elegir entre Ubuntu, FreeBSD, Fedora, Debian, CoreOS y CentOS.

One-click Apps (Modo fácil)

Si no nos queremos detener en la distribución específica a montar, nos parece muy complejo o simplemente queremos probar un software concreto (Wordpress, Drupal, Joomla, Ghost, Drone, Magento, MediaWiki, etc...), podemos pulsar en el apartado One-click apps, el cuál nos permitirá crear un servidor nuevo que ya tiene el sistema preinstalado:

Hay aplicaciones web bastante interesantes, desde los clásicos WordPress, Drupal o Joomla, a los nuevos e interesantes Ghost o Drone (blogs/webs), wikis MediaWiki, foros Discourse, e-commerce Magento, stacks LAMP, LEMP o MEAN, entre muchos otros.

4. Elegir Plan (Recursos del servidor)

Una vez elegido lo que queremos instalar, debemos elegir los recursos de nuestro servidor. Esta siempre es una elección compleja, que depende de lo que usamos, el tráfico que tengamos, etc. Sin embargo, Digital Ocean es escalable verticalmente, por lo que en cualquier momento, podemos cambiar de plan sin tener que volver a crear otro diferente, lo que lo hace muy flexible.

Observa que cada plan tiene unos recursos específicos fijados. El plan básico tiene 512MB de RAM, 20GB de disco (tipo SSD) y una transferencia de 1TB:

Notar también que para casos especiales, existe una sección de servidores con altas capacidades de memoria, donde aumentan las características (y lógicamente, el precio).

5. Región y volúmenes de almacenamiento

En esta sección se nos da a elegir la región (datacenter) donde estará ubicado nuestro servidor. Esta opción se suele escoger por temas de latencia (si nuestro público mayoritario es español, un datacenter geográficamente cerca de España suele ser la mejor opción), ya que será más rápido. También se suele escoger por temas legales (LOPD o protección de datos, etc...), debido a los datos que se van a guardar en él.

Si tenemos dudas, desde su página principal podemos hacer tests de velocidad en los diferentes datacenters y comprobar cuál nos interesaría más si nuestro público mayoritario es de la misma localización que nosotros. Además, también debemos fijarnos en el apartado Volúmenes de almacenamiento, con el cuál podemos añadir bloques extra de espacio en disco por si tenemos requisitos especiales y necesitamos más (pero no queremos subir a un plan superior). Dichos volúmenes tienen un precio de 1$/mes por cada 10GB extra.

Ojo: Es muy importante tener en cuenta que si necesitamos volúmenes de almacenamiento, dicha opción sólo está disponible en los datacenters NYC1 (New York 1), FRA1 (Frankfurt 1) y SFO2 (San Francisco 2), por lo que si vamos a utilizarlos hay que elegir una de estas regiones.

6. Crear droplet

Existen otras opciones como dotar de redes privadas entre droplets, soporte de IPv6, usar Cloud-Init, u otros detalles como monitorización, claves SSH o backups, de los que hablaremos más tarde.

Una vez realizados los pasos anteriores, sólo tenemos que pulsar el botón Create para iniciar la creación de nuestro Droplet (¡en menos de 50 segundos lo tendremos listo para utilizar!). Previamente, le daremos un nombre (e incluso etiquetas) para encontrarlo rápidamente en nuestro panel.

DigitalOcean también da la posibilidad de crear múltiples droplets simultáneamente con la misma configuración elegida en los pasos anteriores.

Una vez terminado el proceso, en el menú Droplets nos aparecerá el que acabamos de crear, junto a la IP asignada (que si elegimos una one-click app ya mismo sería accesible). En la parte derecha (more), tenemos varias opciones donde podemos asignarle un dominio junto a otras operaciones de mantenimiento o configuración.

7. Escalabilidad vertical

Digital Ocean ofrece un escalado vertical que puede realizarse sobre la CPU+RAM del droplet, o sobre la CPU+RAM+Disco del droplet. El escalado que incluye el disco es irreversible hacia detrás, por lo que se recomienda sólo realizar este tipo de escalado si estamos seguros de no querer volver a un plan anterior.

Si eres un usuario avanzado, incluso puedes crear tu propio servidor escalable con DOProxy, que se adapte automáticamente a las necesidades de tu aplicación o proyecto web.

8. Seguridad

Otro de los puntos fuertes interesantes de Digital Ocean son las facilidades respecto a seguridad que ofrece desde tu menú Settings / Security. No sólo podemos securizar el acceso a nuestros servidores mediante claves SSH, sino que también lo podemos hacer sobre nuestra propia cuenta de Digital Ocean mediante doble factor de autenticación.

La autenticación en dos pasos (o doble factor de autenticación) es un proceso en el que, para acceder a un sistema, en vez de depender sólo de la contraseña (que se puede perder) añades otro factor de autenticación, como puede ser un mensaje SMS al móvil o un programa como Google Authenticator, que genera códigos con caducidad de 30 segundos, aumentando considerablemente la seguridad del sistema.

Si te interesa, también puedes aplicar un doble factor de autenticación a la conexión SSH utilizando Google PAM, volviendo la conexión más segura y blindándola contra ataques.

9. Monitorización del servidor

Digital Ocean dispone de do-agent un agente que recopila los datos de uso del servidor y te los muestra desde el panel de control en forma de gráficas. De esta forma, es muy sencillo saber si tu droplet está consumiendo demasiada memoria RAM, proceso de CPU, disco duro o ancho de banda. También te muestra una pequeña lista de los procesos que más CPU/RAM consumen.

Además, en el momento de escribir estas líneas, tienen en beta privada un sistema de alertas de monitorización que te permite ser avisado en cuanto tu droplet supere o baje de unos ciertos valores (alto uso de RAM, alto uso de CPU, alto uso de ancho de banda, poco espacio en disco libre, etc...) durante un cierto tiempo (minutos, horas, días...). El sistema permite avisarte por email o incluso notificarse por Slack, para asociarlo con equipos de trabajo.

Recuerda siempre que estos sistemas son lo que puedes elegir tener de serie en tu cuenta (marcando la casilla Monitoring en la creación de tu droplet), pero siempre puedes optar a instalar sistemas más avanzados como por ejemplo, NetData.

10. Copias de seguridad

Digital Ocean ofrece dos sistemas diferentes para realizar copias de seguridad:

  • Por un lado tenemos los snapshots (instantáneas). Estas copias de seguridad se pueden realizar de forma manual y se cobran mensualmente respecto al tamaño que ocupan. Su precio es de 0.05$/GB al mes. Una vez hecho, se almacenan en un lugar diferente del droplet en cuestión y se puede crear otro droplet a partir de él o restaurar el propio droplet desde él.

  • Por otro lado tenemos los backups. Estas copias de seguridad se pueden activar y se realizan de forma automatizada, cada semana. Su precio es del 20% de tu droplet, de modo que si tienes un droplet básico de 5$/mes, el precio de tener los backups activos sería de 1$/mes. Los backups automatizados se realizarían una vez en semana y una vez hechos permanecen en tu cuenta durante 4 semanas. También puedes crear otro droplet o restaurar desde el snapshot o si quieres conservarlo durante más tiempo en tu cuenta, convertirlo a un snapshot.

Ojo: Recuerda que los añadidos que escojas (backups, snapshots, volúmenes de almacenamiento...) se van añadiendo al precio del droplet. Por ejemplo, un droplet con el plan básico (5$), con backups activados tendría un precio total de 6$/mes.

Y básicamente, esta es la parte más importante que hay que conocer de Digital Ocean.

Obviamente, recuerda que al crear un droplet, lo que tienes es un servidor basado en GNU/Linux, al que puedes acceder mediante SSH con PuTTY (o el cliente de tu elección) y personalizar el sistema completamente a tu gusto, desde una terminal de GNU/Linux, como preferimos los más geeks ;-)

Escrito por Manz, el , en desarrollo web. Comentarios recibidos: 13.

13 comentarios de lectores
Julmer
Julmer
1

Esta muy buena la guia y demas, pero debo acotar que siempre se paga un poquito más de lo que dicen, sobre todo porque los backups los cobran (Obviamente) por ejemplo con el de 5USD terminas pagando alrededor como 6.18USD y así cada uno de los demás. Lo acoto para que quede claro nada mas.

Manz
Manz
2

@Julmer: Tienes toda la razón. He añadido una aclaración al respecto al final del artículo para remarcarlo. ¡Saludos!

Yohnah
Yohnah
3

Tiene capacidad para el diseño de templates? y/o lanzar un script de automontaje en la creación de cada droplet. Por último, tienen alguna API para poder lanzar droplets automáticamente?

Manz
Manz
4

@Yohnah: El droplet es, a efectos prácticos, un servidor de GNU/Linux que puedes administrar completamente. Tienen su propia API para construirte tus propios diseños. Por ejemplo, puedes crearte un script que despliegue nuevos droplets con la configuración que le indiques, o escalar un droplet en base a su demanda de recursos. En Developers DigitalOcean tienes más información sobre su API.

  • 2
Christopher
Christopher
5

¿Y si ya tengo un sitio?, yo tengo mi sitio en webempresa no me ha fallado, de hecho funciona muy bien, pero quisiera saber si puedo exportarla de alguna manera o si tengo que hacerlo todo de forma manual, ya que no quisiera adquirir algo que no voy a saber utilizar ya que aún no soy muy experto en manejar MySQL por lineas de comandos, me he acostumbrado a PHPMyAdmin. ¿Podrias contestar mi duda o sabes si en digital ocean ya tienen algún artículo al respecto?

Manz
Manz
6

@Christopher: DigitalOcean es recomendable a usuarios que tengan conocimientos de administración de sistemas o de GNU/Linux, no obstante, todo es configurable. Si te gusta PHPMyAdmin, puedes adquirir tu servidor, e instalar PHPMyAdmin en él. Si te gusta Plesk o CPanel, lo mismo, y así con cualquier tipo de Software. Mi consejo es que, si no est´ás completamente seguro, no migres por completo a esta plataforma, pero siempre puedes adquirir el servidor con el enlace que puse arriba y tu cuenta empezará con 10 dólares, lo justo para dos meses gratuitos en los que puedes hacer pruebas e ir testeándolo para saber si se ajusta a tus necesidades o no.

  • 1
Christopher
Christopher
7

@Manz: Entiendo, y muchas gracias por tomar tiempo para contestar, entonces ellos te dan las herramientas pero tu debes configurar todo desde cero dependiendo de mis necesidades ¿correcto?, aparte, no mencionas nada de los dominios, por lo que debo comprar los dominios en otro lugar¿es así?

  • -1
Manz
Manz
8

@Christopher: Efectivamente. Se trata de un sistema operativo GNU/Linux donde tu instalas lo necesario. En la mayoría de los servicios de alojamiento pagas por la comodidad de que alguien lleve esa parte por ti (en algunas ocasiones bien, en otras no tan bien). En este caso, podemos llevarlo nosotros mismos, tener más flexibilidad (la mayoría de los hostings ponen una serie de limitaciones que aquí no tendríamos) y a cambio de encargarnos nosotros de estos aspectos, el precio baja considerablemente. Respecto a lo de los dominios, sí. Debes comprarlos en otro lugar (como por ejemplo GoDaddy o NameCheap). Eso sí, luego puedes dirigirlos a Digital Ocean y administrarlos desde allí, en su panel de control de dominios. Saludos

  • 1
Christopher
Christopher
9

@Manz: Gracias Manz, tienes algún post donde pueda curtirse del conocimiento, necesario o mínimo para administrar de esa manera un hosting desde linea de comandos, al menos para no llegar en blanco.

Manz
Manz
10

@Christopher: Para eso, lo ideal es aprender Linux. Mi consejo sería que descargues VirtualBox para crear una máquina virtual (viene a ser como crear un pequeño PC dentro del tuyo) donde podrás instalar un sistema Linux para curiosear y trastear con él sin miedo a "romper" nada. Una vez vayas viendo como funciona todo, probablemente te animes a trabajar con un servidor VPS... :-) Saludos,

andres
andres
11

Me gustaria armar un servidor linux con cpanel. Alguien probo de hacerlo, tienen idea de cuanto cuesta?

Erickson
Erickson
12

Hola, Cuando me intento registrar llega una parte donde tengo que agregar un método de pago. Cuando lo hago me intenta cobrar, osea, aunque tenga los 10 dolares de credito hay que pagar, por lo cual no puedo probarlo a menos que pague.

Erickson
Erickson
13

Actualizo. Ya estoy usando Digital Ocean y es una maravilla.

Publica tu opinión

Si lo deseas, puedes utilizar el siguiente formulario para publicar tu opinión o responder a alguna de las existentes:

Previsualización

Aquí se previsualizará su comentario. Revise que sea correcto antes de publicarlo.