Crea un servidor en la nube con DigitalOcean en apenas unos minutos
Contenidos
¿Qué son los servicios en la nube?
Los servicios en la nube, o en cloud, son recursos en internet que abarcan mucho más que un simple servidor privado virtual o un servidor dedicado en un centro de datos. Con empresas como Digital Ocean, Amazon Web Services, Heroku, Google Cloud o Microsoft Azure, entre otros, tenemos a nuestro alcance la posibilidad de lanzar servidores en cuestión de segundos, con servicios añadidos a la infraestructura como copias instantáneas, almacenamiento ilimitado, bases de datos, colas, orquestación de contenedores, y un sinfín de servicios que interactúan entre ellos para ofrecernos toda la potencia de estas plataformas a un precio impensable hace unos años.
En este tutorial abarcaremos cómo crear un Droplet, el concepto de servidor virtual que nos ofrece Digital Ocean, nos conectaremos a él, haremos una copia de seguridad (snapshot), lo eliminaremos y volveremos a crearlo de nuevo, todo ello en unos pocos minutos. La nube pone al alcance de cualquiera servicios profesionales que nos permiten crear servicios profesionales en red en cuestión de minutos por un coste reducido, unos recursos que hace tan sólo unos años estaba sólo al alcance de grandes empresas con cientos de miles de euros invertidos en infraestructuras.
¿Cómo se calculan los costes de estos servicios en un proveedor como Digital Ocean?
Digital Ocean cobra por los recursos que estés utilizando. Por ejemplo, si creas un Droplet (un servidor virtual), te cobrarán por las horas que ese servidor exista, por el almacenamiento que ocupe y por la transferencia de datos. En general, siempre antes de crear un servidor te informan del precio por hora del mismo, y luego tienen unas tablas para el coste de la transferencia de datos (que salvo que te dediques a divulgar vídeos en extra alta resolución no causarán un gran impacto en la factura mensual) y el almacenamiento mensual (un coste por GB adicional). En general, cualquier plataforma online te muestra diariamente cuánto has gastado, incluso con la posibilidad de generar alertas, de modo que las empresas y particulares puedan controlar sus gastos y evitar sustos en la factura mensual. Como verás durante el artículo, si empleas la infraestructura para aprender, podrás montar servidores y servicios temporales por unos pocos céntimos de euro.
Una característica de los proveedores en la nube es su transparencia: todos muestran el coste de cada servicio desglosado y siempre sabes lo que te va a costar el servicio.
Nuestro primer droplet: un servidor docker en un minuto
Lo primero que haremos tras darnos de alta en la página es crear un proyecto. Nosotros hemos creado el proyecto educativo llamado Nociones (en el menú de la izquierda puedes crear más proyectos). En la imagen a continuación se muestra cómo tenemos nuestro proyecto creado y nos indica que no tenemos ningún Droplet (servidor en la jerga de Digital Ocean). Pulsaremos en el botón «Crear Droplet» para crear nuestro primer servidor.
A continuación, seleccionaremos una imagen con la que empezar nuestro servidor. Las imágenes son instalaciones completas de sistemas operativos, que además pueden incluir algún software adicional. Una vez pulsamos en el botón de crear droplet, tendremos la posibilidad de elegir entre las siguientes opciones:
- Sistemas operativos: Ubuntu, FresBSD, Fedora, Debian o CentOS, todos ellos con distintas versiones.
- Distribuciones especializadas en contenedores: CoreOS, Fedora Atomic, RancherOS.
- Aplicaciones preinstaladas: aquí hay un amplio abanico de sistemas, desde instalaciones de Ubuntu con Docker, hasta bases de datos como MongoDB, MzSQL, pasando por distintas versiones de servidores como Ruby on Rails, NodeJS, foros (Discourse), blogs (ghost) y mucho más.
- Imágenes personalizadas: ¿No encuentras una imagen, o necesitas tener una imagen con una lista de aplicaciones preinstaladas? Puedes creártelas tú mismo e instalar servidores basados en ella.
En este caso nos vamos a decidir por una imagen con Docker CE instalado, que también incluye docker-compose sobre Ubuntu 18.04. Pulsamos en «One click Apps» y buscamos la imagen con docker. Una vez seleccionada, nos desplazamos hacia abajo en la página y tenemos la opción de elegir qué tipo de servidor queremos instalar. Cada servidor virtual tiene una cantidad de memoria que oscila entre 1GB y 192GB (¡Imagínate una aplicación para la que requiramos más de 100 GB de memoria!). También se nos muestra el número de CPUs virtuales, el tamaño de los discos y la transferencia mensual que podemos hacer de manera gratuita. La última columna nos muestra el precio. Se nos indica el precio por hora y mensual, lo cual es una gran ventaja para cuando solo necesitemos un servidor por unas horas, ya que no tenemos que hacer ningún tipo de contrato a largo plazo, sino que podemos crear y destruir servidores dependiendo de nuestors intereses.
Elegimos un servidor con 4GB de RAM, 2 vCPUs y 80 GB de disco, que debería de ser más que suficiente para cualquier prueba de laboratorio o algún servicio pequeñito que queramos poner a funcionar.
El siguiente punto a elegir será dónde queremos crear el servidor. DO te permite crear sevidores en múltiples lugares del mundo, y continuamente están expandiendo su infraestructura. Podemos crear servidores en USA, Holanda, China, Inglaterra, Alemania, Canadá y la India. Vamos a seleccionar un servidor en Frankfurt, por ejemplo, y le damos al botón crear que está a pie de página. Existen muchas más opciones que podemos configurar, como el número de servidores simultáneos, acceso vía SSH al servidor (recomendado), una red privada, monitorización y almacenamiento extra, etc, pero por simplicidad vamos a quedarnos con las opciones por defecto y pulsamos el botón de crear servidor.
Fue sencillo, ¿Verdad? En la pantalla verás que se está creando el servidor, y en unos segundos tendrás tu servidor creado y se te mostrará la dirección IP a la que puedes acceder. Normalmente a estos servidores se accede para configurarlos vía ssh, pero Digital Ocean te permite acceder desde una consola directamente en la página web. En unos segundos, tendrás tu servidor creado y recibirás dos correos. El primero tendrá el usuario y una contraseña provisional para el servidor, y en el segundo te explica cómo dar los primeros pasos con tu servidor virtual, en general poniéndote enlaces a la completísima lista de documentación y tutoriales, los cuales aportan un gran valor añadido de el servicio de DO.
Accediendo a nuestro servidor mediante la consola o ssh
Una vez nuestro servidor está creado, uno de los correos que recibimos será la contraseña de root, que deberemos cambiar tras nuestro primer acceso. Cuando el droplet está minimizado, tenemos un menú contextual a la derecha, y cuando está expandido aparece a la izquierda una lista de recursos. El segundo de ellos es el acceso a la consola desde la misma web. El acceso preferido de los profesionales sigue siendo una consola via ssh, pero esta consola web nos puede sacar de algún apuro cuando estamos en un equipo en el que no disponemos de los recursos adecuados, como putty o una terminal.
Para probar nuestro servidor, accederemos a la consola y simplemente cambiaremos la clave de root. Tras ello hemos ejecutado un par de comandos de docker, para ver que todo estaba funcionando correctamente, y hemos hecho un «touch» de un fichero, para estar seguros de que cuando recuperemos de nuestra copia de seguridad vía snapshot el servidor es el que queremos.
root@nociones:~# docker -v Docker version 18.06.1-ce, build e68fc7a root@nociones:~# docker-compose -v docker-compose version 1.22.0, build f46880fe root@nociones:~# touch hola.txt
Monitorizando nuestro droplet
Una característica muy útil es la opción de monitorizar el estado de nuestro droplet. En el menú de la izquierda tenemos la opción de gráficos, que como vemos en la siguiente imagen nos muestra el ancho de banda utilizado por nuestro servidor, el uso de CPU y la utilización de I/O del disco. Estas sencillas métricas nos darán una idea general del rendimiento actual de nuestro servidor. Vemos en la siguiente imagen que nuestro servidor está empezando a consumir recursos una vez iniciado. Existe la posibilidad adicional de instalar un agente, un pequeño programa que se instala en nuestro servidor, para ver información ampliada de monitorización.
Creando un snapshot de nuestro servidor y limpiando los recursos utilizados
Ya hemos cumplido nuestro objetivo de crear un servidor en un par de minutos. ¿Cuál es el siguiente paso? Bueno, en este caso, como no tenemos un objetivo concreto sino que sólo estamos interesados en familiarizarnos con la plataforma, vamos a crear una copia de nuestro servidor y vamos a eliminarlo. ¿Por qué hacemos eso? En Digital Ocean un servidor/droplet, tanto si está funcionando como si no, tiene unos recursos asociados y un coste. Esto significa que seguiremos pagando aunque apaguemos el servidor. Para ahorrar costes, vamos parar el servidor, hacer un snapshot y eliminar el droplet para que sólo se nos cobre por el almacenamiento del propio snapshot (cuesta 0.05$ el gb mensual, lo cual es más económico que los 0.030$ por hora del servidor).
Pero primero, ¿Qué es un snapshot? Un snapshot es una copia exacta de un servidor en un momento determinado. Es muy útil, por ejemplo, como copia de seguridad antes de hacer cambios drásticos en un servidor, por ejemplo migrar la base de datos o instalar nuevo software, ya que en caso de que nos equivoquemos en algún paso de manera desastrosa siempre podemos volver atrás. También se pueden configurar para hacerse de forma periódica, de modo que si en algún momento nuestro servidor tiene un fallo podemos recurrir a copias/snapshots de este para tener el sistema de vuelta en funcionamiento.
Vamos a crear un snapshot. El primer paso será parar el servidor, pues los snapshots son más seguros si el servidor está parado. Podemos simplemente pasar a «Off» el switch que aparece a la derecha del nombre en la imagen, o ejecutar el comando «poweroff» desde la terminal. A continuación, en el menú de la izquierda, elegiremos la opción de snapshots y de la lista de servidores elegimos aquel del que queremos hacer el snapshot.
Tras darle un nombre y darle a generar snapshot (take snapshot), se creará un snapshot en un tiempo breve (dependiendo de nuestro servidor, puede tardar desde unos pocos segundos hasta unos pocos minutos).
Y ya está, así de sencillo hemos hecho un snapshot, que será fácilmente recuperable mediante las opciones de recuperar (recover: para sobreescribir nuestro droplet actual) o crear un nuevo servidor basado en nuestro snapshot.
A continuación, podemos realizar la drástica medida de destruir nuestro droplet. Sin miedo, pues podremos recuperarlo desde nuestro snapshot en cualquier momento.
Te proponemos que crees un nuevo servidor basándote en el snapshot que creamos anteriormente. Si hast terminado de jugar con el snapshot y con los servidores, elimina todos los recursos para evitar gastos adicionales en la cuenta hasta que tengamos un proyecto concreto con el que trabjar.
Coste de los recursos de este tutorial y cómo darse de alta en Digital Ocean
El coste completo de este tutorial ha sido de… 6 céntimos de Euro! Puedes ver cómo nuestro saldo actual es de 99.94€, del saldo inicial con el que empezamos de 100€ en nuestra cuenta. Con esto vemos que tendremos muchísimo margen con esta cantidad para practicar con nuestros proyectos. Una vez tengamos nuestro proyecto en marcha, podremos asignarle una IP estática, asociarla a un nombre de dominio y publicar nuestro servidor en internet para empezar a recibir visitas. Pero eso será en otro artículo.
Un precio irrisorio para aprender a trabajar con la nube. La ventaja de la nube es que cuando quieras probar algún proyecto de manera rápida puedes crear un servidor, trabajar con él y eliminarlo cuando hayas terminado (ya hemos hablado de los precios de los snapshots en un apartado anterior). DigitalOcean tiene además unos precios bastante razonables dentro de los proveedores en la nube, una infraestructura muy completa y un sinfín de recursos a tu alcance.
¿Te interesa? ¡Pruébalo! Pinchando en este enlace podrás acceder a DigitalOcean y además colaborar con nuestro blog mediante el sistema de referidos. No te asustes, el coste de tus servicios será el mismo, solo que DigitalOcean nos da un pequeño porcentaje por hacerles publicidad. De esta forma podremos mantener la infraestructura para hacerte llegar este blog de forma regular: https://m.do.co/c/111d28408a5a
¡Promoción! Hemos recibido un mensaje de DigitalOcean, si utilizas el enlace anterior, lo primero que recibirás al registrarte serán 100$ de crédito gratuito, válidos durante dos meses. ¡Esto es más que suficiente para probar si te gusta la plataforma! Y no te costará un centavo ;-).
¿Tienes alguna duda sobre los recursos en la nube? ¿Has probado a crear tu propio servidor? ¿Quieres crear un servidor en la nube? ¿Te gustaría que ampliáramos alguna de las secciones del artículo? ¡Te esperamos en los comentarios!
Muy buen artículo, me gustaría que hagas más artículos ampliando estos temas cómo un tutorial con todos los pasos para asignar un dominio, subir un proyecto, etc.
Muy buen artículo, mi consulta es que yo estoy aprendiendo programación y hace un tiempo usaba un hosting bastante bueno de argentina que era un Hosting Compartido. Se que esto es mucho mejor pero mi duda es por que me dijeron que al no tener un cPanel hay que hacer todo desde la terminal. LA pregunta es si se puede agregar algún plugin gratuito que le proporcione un Panel para que sea más fácil gestionar los DNS, las bases de datos, etc. Lo que pude investigar es que se solucionaría instalando un panel gratuito llamado Sentora, no?, gracias.