Pirobits
  

Migración de un servidor MySQL. Adiós cloud.

alberto avatar Alberto Sola · 3/21/2024 · 3 min

Recientemente Planetscale anunciaba que cerraba su capa gratuita, y en mi caso, me tocaba migrarme a otro proveedor. En este post te cuento mi experiencia y el proceso de migrarme a un VPS.

En posts recientes he comentado que realmente con cualquier tecnología puedes hacer casi cualquier cosa (como en todo, hay excepciones). En mi caso elijo con las que más cómodo me siento buscando un equilibrio entre velocidad y rendimiento.

Eligiendo una base de datos para un proyecto

A nivel de bases de datos tengo experiencia tanto con PostgreSQL como con MySQL, y por migraciones recientes he profundizado más en el funcionamiento de MySQL, lo que me ha hecho utilizar MySQL para mis proyectos personales.

En el pasado he creado productos que no tienen bases de datos, que utilizan excel o json (te lo contaré en otros posts), he utilizado bases de datos NoSQL como MongoDB... pero al final, lo simple es lo más cómodo y rápido.

Por eso mismo decidí utilizar Planetscale que es un proveedor para bases de datos MySQL escalables basado en Vitess, una herramienta open source de Google (más concretamente YouTube) para escalar sus bases de datos.

Además, tenían una capa gratuita muy amplia y el plan pro eran únicamente 30$, por lo que si mis proyectos escalaban mi intención era pagar por su servicio ya que es un producto muy bien hecho y muy cuidado para los desarrolladores.

Buscando alternativas para una base de datos MySQL

Hay proveedores como DigitalOcean, Linode, etc. que ofrecen unas bases de datos gestionadas a buen precio, y esta puede ser una opción si no quieres complicarte. Luego hay otras opciones como AWS RDS/Aurora que me encanta, pero su precio se dispara, por lo que, descartado.

Recordemos que trabajo yo sólo en estos side-projects y mi objetivo es monetizarlos, por lo hace tiempo decidí empezar de forma simple y por tanto, reduciendo el coste.

Otras opciones pueden ser utilizar SQLite, que aunque me encanta no me termino de sentir cómodo. El único proveedor que me ha llamado la atención y que de verdad me apetece probar en un futuro es TursoDB, que está basado en SQLite.

Al final, como tengo experiencia con MySQL y gestionando servidores, para mi lo más simple ha sido contratar un VPS y configurar mi propio MySQL, haciendo yo de db-admin.

El lado positivo es que aprendes mucho al configurarlo, entender cómo funciona realmente... y siendo tan estable y escalable, es muy poco probable que me de problemas. De hecho te animo a suscribirte porque posiblemente profundice más en el tema.

Lo único que me falta es la capa de monitorización. Estoy tan acostumbrado a tener observabilidad de todo, que cuando no la tengo me causa incertidumbre, pero he aprendido a vivir con ello a corto plazo. Tengo mecanismos de recuperación de datos, puedo crear un servidor rápidamente y tengo health checks.

Cuando uno trabaja sólo y gestiona diferentes proyectos, tienes que aprender a convivir con este "caos". En cambio, cuando trabajas en una empresa con un equipo, puedes permitirte ciertos "lujos" que uno sólo no puede, y que realmente, no siempre no son necesarios.

Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.


Posts recientes