X

Mi experiencia con Digital Ocean luego de dos años

En este artículo te quiero compartir mi experiencia con Digital Ocean, la empresa de servicios en la nube. En mi caso, con un uso casi exclusivo como hosting clásico.

En un artículo anterior te conté que dejé Bluehost y me fui a Digital Ocean. Allí te conté por qué elegí Digital Ocean por sobre otras opciones, pero no te conté acerca de mi experiencia con sus servicios.

Antes que nada, te dejo un enlace con crédito gratuito de US$ 200 en Digital Ocean, para usar durante 60 días. Aprovechalo si te interesa explorar esta plataforma, sin tener que pagar.

Es importante aclararte que este no es un review completo de Digital Ocean. La verdad es que he explorado los diferentes servicios que ofrece, pero el único que uso es el del servidor VPS, que en el mundo Digital Ocean recibe el nombre de Droplet.

Repasemos un poco los motivos que me llevaron a elegir Digital Ocean.

¿Por qué Digital Ocean?

Si hace unos años alguien me preguntaba qué sabía yo sobre Digital Ocean, le hubiera dicho que era un servicio más sofisticado que un hosting y con una documentación excelente.

Siempre me fascinó el nivel técnico de las guías de Digital Ocean. Al día de hoy, me siguen pareciendo excelentes.

Sin embargo, el servicio que ofrecía Digital Ocean me parecía complicado para mis casos de uso. No sé por qué, pero siempre tuve ese prejuicio que claramente venía de la ignorancia.

Cuando tuve que irme de Bluehost comencé a investigar más sobre la posibilidad de pasarme a Digital Ocean. Miré videos online, leí varias guías e investigué cómo era el mecanismo de cobro.

¿Por qué me quedé con Digital Ocean? Por diferentes motivos.

Primero, porque me pareció serio. Está lleno de servicios de hosting que son básicamente estafas. Existieron siempre, desde el principio de internet y siguen estando allí. Se me vienen varios a la mente mientras escribo estas líneas.

Segundo, porque me pareció interesante el sistema de servicios basados en la nube, similar a AWS, pero sin llegar a ser tan complicado.

Tercero, porque estimé que iba a pagar mucho menos que con Bluehost. Esto finalmente lo terminé comprobando, pero en el momento en que comencé a migrar a Digital Ocean todavía no tenía la certeza.

Y por último, como ya comenté, por la documentación de calidad que posee.

¿Qué ofrece Digital Ocean?

Digital Ocean ofrece un conjunto de servicios basados en la nube. Esto significa básicamente que podés tener un servidor listo para desplegar tu app en cualquier tecnología, o una base de datos pre configurada. Pero también ofrece servidores virtuales listos para instalar cualquier software.

Esta idea, que AWS ha sabido establecer en el mundo IT ahora busca ser replicada en todos lados. Por eso, verás que voy a hacer muchas comparaciones y paralelos con los servicios de Amazon.

Al momento de escribir este artículo, entre los servicios de Digital Ocean se destacan los siguientes:

  • App Platform: un servicio para instalar y desplegar aplicaciones de forma fácil sin tener que complicarse configurando servidores.
  • Droplets: servidores virtuales listos para instalar por tu cuenta aquello que necesites. Equivalente a las instancias EC2 de Amazon.
  • Functions: procedimientos cortos y puntuales para correr en la nube. Es el equivalente de Lambda en AWS.
  • Kubernetes: una herramienta para administrar contenedores, especialmente útil si tu app implementa arquitectura de microservicios.
  • Volumes: una forma de almacenar información en la nube. Equivalente a EBS de AWS.
  • Databases: este servicio permite manejar bases de datos sin necesidad de instalarlas ni mantenerlas. Equivale a RDS de AWS.
  • Spaces Object Storage. Un espacio ideal para desplegar recursos estáticos. Está pensado como un S3 de AWS.

Estos no son todos, pero son la mayoría. No esperes encontrar cientos de servicios como en Amazon Web Services. Y mucho menos servicios extraordinarios de AWS como ese que te permite administrar satélites en órbita.

Creación de Droplets

El servicio que más he usado es el de los Droplets. Como te contaba, se trata de los clásicos servidores VPS que uno puede crear, instalarle un sistema operativo y administrarlo.

Al momento de crear un Droplet, hay que seleccionar las características que se necesitan, como por ejemplo el sistema operativo. Se puede elegir entre una buena variedad de Linux como Ubuntu, Fedora, Debian, CentOS y otros.

Luego, se define el tamaño y las características del hardware. Esto, si no entendés mucho, conviene investigar un poco. De todos modos, vas a poder seleccionar capacidad de procesamiento, memoria y espacio en disco en función del precio. Esto es similar a cualquier otro VPS.

Adicionalmente, es posible agregar volúmenes para aumentar la capacidad de almacenamiento. También se incluyen otras opciones, como por ejemplo, crear varios Droplets con las mismas características.

Lo bueno es que al finalizar la creación del Droplet, se puede ver un estimado del costo mensual. Por supuesto, cuantas más funcionalidades se agreguen, más caro será.

Instalación de software

Una vez que se instala el Droplet, se puede configurar el acceso a este a través de SSH y de allí en adelante instalar lo que uno quiera.

Si tu caso es similar al mío y tenés años de trabajar con servidores, esta parte será trivial para vos. Sin embargo, para una persona que no entiende mucho del tema, configurar el servidor puede ser imposible.

Digital Ocean ofrece excelentes guías para configurar, por ejemplo, un servidor web. Pero, en mi opinión, estas son más fáciles de seguir si uno comprende lo que está haciendo.

Como te contaba, en el Droplet uno puede instalar lo que quiera. Si vas a preparar un servidor web seguramente instales Apache, PHP y MySQL. Todo esto es sencillo pero recomiendo muchos seguir las guías oficiales de Digital Ocean, especialmente por los aspectos vinculados a la seguridad.

Bases de datos en el Droplet vs. Bases de datos auto administradas

En el caso de las bases de datos puede que te estés preguntando si hay que crearlas en el Droplet o a través del servicio Databases que ofrece Digital Ocean. ¿Cuál sería la diferencia?

Las bases de datos que se crean en los Droplets dependen de que uno mismo las administre. Esto implica la instalación, configuración inicial, el mantenimiento y los backups. La gran ventaja es que podés crear todas las bases de datos que quieras (siempre y cuando tu Droplet aguante en procesamiento y capacidad de almacenamiento).

En cambio, las bases de datos de Databases, que ofrece Digital Ocean se crean a pedido, en la tecnología que uno necesite, con sistemas de backups, logs, encriptación y muchas otras características. Se pueden crear bases de datos MySQL, PostgreSQL, Redis, Kafka OpenSearch y MongoDB.

Pero claro, todo tiene su costo, una base de datos de estas características comienzan en 15 dólares por mes. Sin embargo, depende del uso que le des. Me explico: si querés hacer una prueba podés crear el servicio, usarlo y destruirlo para pagar solamente una fracción del costo. ¡Pero no te olvides de destruir la base de datos al finalizar el uso porque si no te lo facturarán! Más abajo te cuento mejor cómo es el sistema de cobro.

¿En qué casos conviene este tipo de bases de datos auto administradas? Claramente, cuando el sistema que tengas montado genere un ingreso tal que te permita pagar el precio de una base de datos de estas características. O si tenés un cliente que requiere el nivel de respaldo que se ofrece con este servicio.

¿Cómo es el sistema de cobro?

Cada servicio tiene un costo estimado de uso que aparece al momento de crear el servicio. De esta manera podés calcular más o menos cuánto pagarías al finalizar el mes.

Es muy importante destacar que si no usás ningún servicio, no pagás nada. Y que en caso de utilizar servicios de a ratos, sólo pagás por lo que usás.

¡Pero cuidado con eso!

El concepto de usar puede ser difuso, así que mejor aclarémoslo. Si tenés un Droplet instalado y funcionando, tenés la opción de apagarlo. Esto bajará todos los servicios que tengas funcionando en él. Quizás pienses que como no está activo, no pagás, pero no es así.

Un Droplet creado, activo o inactivo, paga igual. Hay que pensar que a pesar de no estar funcionando, sigue ocupando espacio. Por lo tanto, en caso de no querer que te cobren por ese Droplet hay que eliminarlo completamente, perdiendo toda la información y configuración que tenga.

Esto se aplica a los Droplets, a las bases de datos de Databases y, en general, a cualquier servicio que te ofrezca Digital Ocean.

Pero no te asustes: en los dos años que llevo usando Digital Ocean, jamás me apareció un cargo sorpresa. Pago todos los meses lo mismo.

De todos modos, es posible configurar alertas para determinados umbrales de pago. Por ejemplo, si querés que te avise cuando pasás determinada cantidad de dinero, establecés una alerta y si el acumulado lo supera, te llega un mail para que tomes algún tipo de medida.

App Platform, despliega tus apps sin configurar el servidor

Además de los Droplets, los otros dos servicios que he utilizado son App Platform y Databases, aunque no demasiado. Solo para realizar algunos ejemplos o seguir algunas instrucciones de cursos online.

App Platform me parece genial. Te permite crear sitios estáticos, web services, workers y otros tipos de sistemas, integrándose muy fácilmente con GitHub.

Otra función importante es la posibilidad de levantar directamente imágenes de Docker. De hecho, Digital Ocean tiene su propio Container Registry, algo similar a lo que ofrece el mismo Docker Hub.

Para ver las capacidades de App Platform basta con ir a la sección de apps de ejemplo, seleccionar la tecnología de un extenso catálogo y deployar de inmediato una aplicación de prueba.

App Platform ofrece auto escalado, métricas, manejo de SSL, soporte para un gran número de tecnologías, rollbacks, actualización y configuración del sistema operativo. Es decir, todo lo que generalmente un programador no tiene ganas de ponerse a configurar.

Si vas a crear un app aquí, te recomiendo que explores antes el sistema de cobro, porque cambia en función de lo que necesites.

El problema de la falta de servidores de correo en Digital Ocean

No todo es perfecto y uno de los principales problemas que me encontré en Digital Ocean es que no tiene ningún servicio que ofrezca servidores de correo SMTP, IMAP o POP3.

Como te conté en otro artículo, esto me afectó porque tenía sitios con varias cuentas de correo electrónico asociados.

La solución es buscar un servicio de terceros. Digital Ocean no recomienda montar un servidor de correos en un Droplet.

Digital Ocean en el día a día

Te podría inventar alguna historia de que paso todos los días configurando algo relativo al servidor pero la gran verdad es que desde que instalé todo y realicé las migraciones de mis sitios casi no volví a tocar el servidor. Sigue allí funcionando.

Van ya más de dos años desde que migré. Lo más relvante que puedo decir es que el uptime de Digital Ocean es muy alto y hasta el momento no tuve ningún problema ni caída. A veces me llegan mails por mantenimentos aclarando que se pueden experimentar alguna dificultad, pero nunca me sucedió.

Crédito gratuito en Digital Ocean

Nuevamente, te dejo un enlace para que puedas acceder a US$ 200 dólares de crédito en Digital Ocean, para usar en un periodo de 60 días.

En mi opinión, el valor del crédito y el tiempo es más que suficiente para explorar los servicios de esta plataforma.

¿Recomiendo Digital Ocean?

Sí, lo recomiendo mucho. A mí me permitió bajar el costo del hosting de forma dramática, dándome también una plataforma con algunos servicios extra en caso de necesitarlos.

El sistema de cobro me ofrece la seguridad que necesito, asegurándome cuánto voy a pagar.

Por otro lado, la documentación es excelente. Las guías que te permiten administrar los Droplets son tan buenas que sirven para cualquier sevidor de cualquier otro proveedor.

Lo único que tenés que tener en cuenta es lo que te comentaba en el artículo que es mejor tener algo de experiencia manejando servidores, especialmente en línea de comandos.

Más contenido en Crónicas Freelancer

Espero que este artículo haya sido de tu interés. Si tenés alguna duda o querés hacer algún aporte, dejame un comentario.

Te invito a que me sigas en las redes: LinkedInXGitHub e Instagram. También estoy en CodeWars.

Eso es todo. Muchas gracias por tomarte el tiempo de leerme.

Hasta la próxima.

 

Fuente foto:

Data illustrations by Storyset

Categorías: Programación
Alejandro De Luca: Soy programador web freelancer y blogger. Desde hace más de 6 años me desempeño de forma independiente. Reúno en este espacio experiencias y pensamientos sobre el modo de vida freelancer.