Publicaciones

Tengo mi producto, ¿Qué sigue?

 – #Despliegue

Tengo mi producto, ¿Qué sigue?

Esta es una pregunta que se repite entre los desarrolladores una vez que terminan una aplicación que se tiene que desplegar. Hay demasiadas opciones y no siempre es trivial encontrar la mejor alternativa que se adapte perfectamente a la aplicación que desarrollaste. En consecuencia, en este artículo intentaré repasar mi breve pero intensa experiencia personal al desarrollar e implementar aplicaciones de todo tipo. Con suerte, al final de este artículo, obtendrás los conceptos básicos para elegir un proveedor de servicios en la nube sobre otros y, lo que es más importante, comprenderás el poder del autohospedaje, que probablemente sea mi opción favorita.

Antes que nada, me dije a mí mismo que no debía hablar demasiado de aspectos cuantitativos, ya que no pretendo profundizar en las características técnicas entre los diferentes proveedores de servicios en la nube, pero siento que es necesario brindar alguna información para tener un descripción general y dar mi opinión honesta basada en hechos confiables.

Partiendo de los orígenes, mi primera aplicación que tenía un mínimo de complejidad para desplegarse fue un gestor de reservas para un polideportivo, nada sofisticado, pero tenía una razón por la que debía desplegarse, para que otras personas pudieran utilizarlo. En ese momento, la primera opción que me vino a la mente fue Heroku donde finalmente terminé hospedando la aplicación, ya que era fácil de usar y al ser una plataforma como servicio (PaaS), que no requería conocimientos extra para poder alojar el producto.

A partir de ahí, descubrí una de las desventajas que tiene el nivel gratuito de Heroku, que era el hecho de que la aplicación se quedaba dormida después de 30 minutos de inactividad y necesitaba entre 5 o 10 segundos para volver a estar disponible después. A pesar del inconveniente, decidí crear una tarea en segundo plano cuya funcionalidad era mantener la aplicación disponible. Después de resolver el pequeño percance, me encontré con otro problema relacionado con la cantidad de horas al mes que mi sitio estaba disponible (540), así que busqué el plan más barato que pudiera satisfacer mis necesidades y resultó que era bastante caro en comparación. a lo que ofrecen otros proveedores de servicios en la nube. Básicamente, lo que aprendí después de usar Heroku fue que es excelente para implementar aplicaciones más pequeñas, pero cuando se trata de una aplicación grande y escalable, hay mejores opciones de relación calidad-precio.

Aparte de Heroku, recientemente he utilizado AWS y Google Cloud, que ofrecen un servicio gratuito durante un año. Desde mi punto de vista personal, la desventaja de estas 2 multinacionales tecnológicas es que tienes la oportunidad de configurar una gran variedad de parámetros, lo que hace que sea prácticamente una profesión operar fácilmente dentro de la plataforma. Además de brindar la posibilidad de personalizar al máximo tu aplicación, el principal objetivo que se esconde detrás de este enfoque es depender de ellos una vez finalizado el período de prueba gratuita, ya que se necesita mucho tiempo para tener todo configurado correctamente en comparación con otras alternativas, que significa que al no tener que reconfigurar su proyecto para trabajar con otro proveedor, se le pide que recurra a la versión de pago para seguir recibiendo sus beneficios.

Además de Heroku, AWS y Google Cloud, utilizo Digital Ocean, que es una gran plataforma que ofrece un enfoque de infraestructura como servicio (IaaS), lo que significa que necesita conocer las tecnologías que desea utilizar para la implementación. No es como en Heroku donde subes tu proyecto y se encarga de todo para que tu proyecto esté en funcionamiento. En Digital Ocean, debe personalizar su servidor desde cero, lo que significa que debe elegir su sistema operativo, instalar su base de datos, etc.

Por otro lado, creo que el autohospedaje es la mejor forma de alojar los proyectos que creas, ya que después de haber creado y desplegado algunos, nadie sabe mejor que tú cuáles son los requisitos de un proyecto que has creado.

Como sabrás, no puedo cubrir todas las innumerables alternativas que están disponibles para el alojamiento, de lo contrario, esta publicación sería interminable, pero hay mucha información y tutoriales disponibles en los sitios web oficiales de todos y cada uno de los proveedores de servicios en la nube que vale la pena echarle un vistazo para conocer los precios y la compatibilidad que ofrecen para poder elegir uno entre otros en función de las necesidades de su proyecto.

En resumen, me gustaría reflexionar sobre el concepto, ampliamente difundido, del alojamiento gratuito. Aunque la mayoría de los proveedores de servicios en la nube ofrecen un plan gratuito adecuado para proyectos pequeños, estos planes suelen carecer de los recursos necesarios para desplegar aplicaciones más complejas o estar limitados a un período de prueba, tras el cual es necesario pagar una suscripción para continuar utilizándolos. Por ello, recomiendo encarecidamente no solo alojar tus propios proyectos cuando sea posible, sino también explorar diferentes proveedores de servicios en la nube como los ya mencionados, además de otros como Oracle Cloud, Microsoft Azure o IBM Cloud.